Bonjour,
En vba, pour activer une feuille (un onglet), on a la commande sheets("Nom de ma feuille").select
Le problème est que si quelqu'un change le nom, la macro bug : normal.
Dans l'environnement vba on clique sur une feuille on a :
Feuil1(Feuil1)
Feuil2(Feuil2)
Feuil3(Feuil3)
ThisWorkBook
Si dans excel on fait renommer l'onglet en TOTO on obtient :
Feuil1(TOTO)
Feuil2(Feuil2)
Feuil3(Feuil3)
ThisWorkBook
Maintenant par vba pour activer la feuille on a les solutions :
sheets("TOTO").select
Feuil1.select
On peut changer le nom Feuil1 en sélectionnant dans l'explorer de projets puis sur F4, et on peut retrouver les noms Feuil1 et TOTO.
Si on change Feuil1 en ma_feuille
En vb on peut faire ma_feuille.select ou sheets("TOTO").select, la première solution ne pose plus de problème si on change le nom de l'onglet.
Voici enfin mon problème
ma_var="TOTO"
sheets(ma_var).select --------------> ça fonctionne
ma_var="ma_feuille"
sheets(ma_var).select --------------> ça bug
je ne peux pas écriée ma_var.select.
En fait je voudrais transformer le contenu d'un variable en nom d'Object
Voilà, ce fut long, toutes mes excuses
Ceci a pour but que dans des développements complexes, le nom apparent des onglets n'est pas utilisé dans les macros : sécurité.
Bonne journée