Sélection d’une cellule spécifique dans une macro (Microsoft Excel)
Lorsque vous utilisez des macros pour accéder ou modifier des données dans des feuilles de calcul, vous vous appuyez le plus souvent sur des plages. Cela supprime la nécessité de sélectionner des cellules dans la macro. Même dans ce cas, vous souhaiterez peut-être (pour une raison quelconque) sélectionner les cellules avec lesquelles vous souhaitez travailler. Si la cellule que vous souhaitez sélectionner se trouve dans un autre classeur, la tâche devient un peu plus difficile. 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 (11947) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.
Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Selecting_a_Specific_Cell_in_a_Macro [Sélection d’une cellule spécifique dans une macro]
.