Téléchargement
illégal
Posez votre question Signaler

EXCEL VB - activer une feuille à nom variable [Résolu]

bobie - Dernière réponse le 17 mai 2011 à 08:15
Bonjour,
Dans mon classeur, j'ai une feuille qui est nommée par macro à l'ouverture du classeur par le texte présent en D3.
A la fin d'une autre procédure via une macro, j'aimerais que cette feuille en question soit affichée.
Le problème est que ce nom varie, et que je ne sais pas comment l'écrire dans VB.
j'ai bien essayé des trucs du genre:
sheets("D3").activate
mais sans succès.
merci pour votre aide
bob
Lire la suite 

EXCEL VB - activer une feuille à nom variable »

16 réponses
Réponse
+0
moins plus
Bonsoir,

si je comprends bien ton problème, tu souhaites pouvoir activer une feuille par le biais de VBA, sachant que le nom de cette feuille est contenu dans la cellule D3 ?
A mon avis, la syntaxe serait alors :
Sheets.(Range("D3").Value).Activate

Essaie déjà ceci, je pense que ça devrait marcher.

Cordialement.
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir,

Sans tester car je dois partir je l'affecterai à une variable au moment de sa création par :
dim sh1 as worksheet
set sh1=worksheets([D3])
Si elle doit être manipulée dans plusieurs sub il faut déclarer sh1 hors d'un sub et la libérer en fin de programme par sh1= nothing
ensuite sh1.activate

eric

edit: pour la solution du post 1 il faut que tu sois sûr que la feuille active soit celle ayant le nom en D3 sinon mettre worksheets("nom_de_cette_feuille").[D3].value
bobie - 13 oct. 2009 à 22:58
merci beaucoup a vous deux.

Vs deux solution fonctionne et merci pour ton dernier point erriiiic.

Très bonne soirée. Merci pour votre aide...
atraoui - 17 mai 2011 à 08:10
Bonjour
dans mon classeur excel j'ai un petit problème c'est que je peux pas insérer une nouvelle feuil
aide moi et merci
chossette9- 17 mai 2011 à 08:15
Bonjour,

merci de ne pas remonter un sujet qui date d'il y a un an et demi pour poser ta question, surtout qu'elle n'a pas vraiment rapport avec le sujet que tu viens de faire remonter à la surface.

Cordialement.
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir,

Peut-être tout simplement en désignant la feuille par son index.

Ex : Sheets(1).Activate


Cordialement.
bobie - 13 oct. 2009 à 23:04
merci papou!

je me disais bien qu'un feuille avait un nom générique...

comment connaitre l'index d'une feuille? ou regarder?

merci
Ajouter un commentaire
Réponse
+0
moins plus
bonjour

comment connaitre l'index d'une feuille? ou regarder?

Il faut regarder les onglets car c'est tout bêtement l'ordre d'affichage des onglets.

Gros inconvénient afférent c'est qu'il suffit de changer l'ordre pour que le nom ne soit plus correct !
bobie - 13 oct. 2009 à 23:32
ouille! c'est embêtant!

merci pour l'info...

entre temps j'ai vu que les index des feuilles étaient visible dans VB dans le "menu" de gauche.

merci bcp à tous!

PS: si vous avez 2 minutes, j'ai un autre post à quelques minutes d'intervalle avec celui ci...
Ajouter un commentaire
Réponse
+0
moins plus
Ce n'est pas l'index que tu vois à gauche, c'est le nom de la feuille dans vba suivi, entre parenthèse, du nom de ta feuille dans le classeur (une curiosité excel). Base toi toujours sur ce dernier pour worksheets(...)
Si ta Feuil1 tu la renommes Feuil4, à gauche tu liras Feuil1(Feuil4), et si tu la mets en 3ème position dans le classeur son index sera 3.
bobie - 13 oct. 2009 à 23:50
ok merci eriiiiic pour le complément d'info (pour la correction! :-) )

je vais faire attention.

merci!
bobie - 17 oct. 2009 à 20:02
Eriiic ceci est directement lié à mon autre post...

Comment connaitre l'index de ma feuille si j'ai 12 feuilles cachées?

Ces feuilles cachées sont elles placées derrière ou devant? C'est pas facile de connaitre l' index de ma feuille!

merci bcp
Ajouter un commentaire
Réponse
+0
moins plus
Il faut travailler avec les noms des feuilles...
Sinon il suffit de déplacer ou créer une feuille et plus rien ne marche.
On ne travaille avec les index que lorsqu'on sait exactement ce que l'on fait.
eric
bobie - 17 oct. 2009 à 20:20
je sais exactement ce que je fais!

le nom de ma feuille est variable, c'est pourquoi j'ai besoin de la specifier par son index dans VB!
Ajouter un commentaire
Réponse
+0
moins plus
Si tu sais exactement ce que tu fais tu connais son index ou bien son nom.
Et si tu connais son nom pas besoin de l'index mais bon...
i = Sheets("Feuil1").Index

ou bien tu balayes tout tes index (donc jusqu'à worksheets.count) tu regardes si le nom (.name) te convient

eric
bobie - 18 oct. 2009 à 00:36
merci bien!
bob
Ajouter un commentaire
Ce document intitulé « EXCEL VB - activer une feuille à nom variable » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?