Il est souvent nécessaire de sélectionner une cellule particulière dans une macro. Il est cependant plus difficile de sélectionner cette cellule si elle se trouve dans un autre classeur.

Par exemple, considérons les deux lignes de code suivantes:

Sub CellSelect1()

Workbooks("pwd.xls").Sheets("Sheet3").Select     ActiveSheet.Range("A18").Select End Sub

Vous pourriez penser que cette macro sélectionnera Sheet3! A18 dans le classeur pwd.xls. C’est le cas, avec quelques mises en garde. Si vous avez plusieurs classeurs ouverts, cette macro entraîne une erreur, si pwd.xls n’est pas le classeur actuellement actif. Cela se produit même si pwd.xls est déjà ouvert, mais simplement pas sélectionné.

Le même comportement existe même lorsque vous condensez le code de sélection sur une seule ligne:

Sub CellSelect2()

Workbooks("pwd.xls").Sheets("Sheet3").Range("A18").Select End Sub

Vous obtenez toujours l’erreur, sauf lorsque pwd.xls est le classeur actif. La solution est de changer complètement la façon dont vous effectuez le saut. Au lieu d’utiliser la méthode Select, utilisez la méthode Goto et spécifiez une adresse cible pour la méthode:

Sub CellSelect3()

Application.Goto _       Reference:=Workbooks("pwd.xls").Sheets("Sheet3").[A18]

End Sub

Ce code ne fonctionnera que si pwd.xls est déjà ouvert, mais il n’a pas besoin d’être le classeur actuellement actif. Si vous souhaitez que le classeur cible défile de sorte que la cellule spécifiée se trouve dans le coin supérieur gauche de ce que vous visualisez, vous pouvez spécifier que l’attribut Scroll soit True, comme indiqué ici:

Sub CellSelect4()

Application.Goto _       Reference:=Workbooks("pwd.xls").Sheets("Sheet3").[A18] _       Scroll:=True End Sub

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2791) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Selecting_a_Specific_Cell_in_a_Macro [Sélection d’une cellule spécifique dans une macro].