Chaque feuille excel est identifier par deux propriétés :
Son "Name" : C'est ce qui est écrit sur l'onglet et qui est visible par l'utilisateur.
Son "CodeName" : C'est le nom de la feuille écris en dur. Le "CodeName" n'est pas visible par l'utilisateur et à partir de l'interface développeur, sa correspond à la propriété (Name) de chaque feuille.
Sous Excel VBA on peut indifféremment sélectionner une feuille par :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sheets("Nom_de_Mon_Onglet").Select
Feuil1.Select
L'avantage d'utiliser le "CodeName", c'est que si on utilisateur à l'idée de renommer l'onglet, ma macro trouvera quand même le "CodeName" Feuil1 !!
Mon problème est que cette commande que j'utilise pourtant à foison, ne marche plus lorsque que travail sur un autre Workbook que celui qui exécute ma macro ....
Ainsi :
ça Marche ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Workbooks.Open ("C:\Users\.....\Documents\Classeur2.xlsx") Sheets("Nom_de_Mon_Onglet").Select
Me renvoie une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Workbooks.Open ("C:\Users\.....\Documents\Classeur2.xlsx") Feuil1.Select
Erreur d'exécution '1004':
La méthode 'Select' de l'objet '_Workshhet' a échoué
... J'ai essayé toute les combinaison possible :-/
ActiveWorkbook.Feuil1.Select
Worksheets(Feuil1.Name).Select
Bref ... je sais plus quoi inventer ...
Si quelqu'un a une idée !!
Merci.
Partager