changer nom onglet par son numero dans macro

charette63

XLDnaute Occasionnel
bonjour,

j'ai crée une macro par le biais de l'éditeur pour imprimer un classeur excel.
Mon problème est que la sélection des feuilles s'est faite par le nom des onglets, noms susceptibles de changer.

J'ai lu ci et là qu'il était possible de changer le nom de l'onglet par son numéro (feuil1),
mais je n'arrive pas à l'encoder correctement dans la macro

je joint le bout de code à modifier:

Sheets(Array("Alpha 0", "Beta 0", "Gamma 0", "Delta 0", "Epsilon 0", "Theta 0")).Select
Sheets("Alpha 0").Activate

merci de votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : changer nom onglet par son numero dans macro

Bonjour,

si tu veux utiliser les numéros d'index des feuilles :
Code:
Sheets(Array(1, 2, 3, 4)).Select

mais comme le nom des feuilles, leur ordre peut également être modifié...

bonne journée
@+
 

david84

XLDnaute Barbatruc
Re : changer nom onglet par son numero dans macro

Bonjour,
à tester (se servant du n° d'index des feuilles) :
Code:
Sheets(Array(1, 2, 3,4, 5,6)).Select
Sheets(1).Activate
A+
Edit : salut Pierrot:). Arf ! trop rapide pou moi la panthère:rolleyes:.
 

Softmama

XLDnaute Accro
Re : changer nom onglet par son numero dans macro

Bonjour à tous,

Si le nom de tes feuilles change, il me semble que ton Array ne sera plus correct (?)
Je vois 3 manières de sélectionner une feuille. Par son numéro d'index (sa position dans les feuilles) : Sheets(2).activate active la 2ème feuille du classeur ; par son Nom : Sheets("Houlala").Activate... ou par son Codename (Le Codename est le nom générique donné par Excel et qui ne change pas lorsque l'on modifie la position de la feuille ou son nom. Ainsi, pour activer une feuille dont le codename est Feuil2, il te suffit de taper Feuil2.Activate. Tu peux trouver le codename de tes feuilles en regardant la partie de gauche de la fenêtre VBE, dans le dossier Microsoft Excel Objects, le CodeName commence en général par Feuil, suivi d'un numéro et de son nom entre parenthèses. (Par exemple Feuil2 (Houlàlà)).

Ainsi, pour répondre à ta demande, tu peux faire ainsi :
Code:
Tablo = Array(Feuil1, Feuil2, Feuil3)
Tablo(2).Activate
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : changer nom onglet par son numero dans macro

Re, bonjour Softmama, Jean-Marcel

pour sélectionner plusieurs feuilles à partir du codename :
Code:
Sheets(Array(Feuil1.Name, Feuil2.Name, Feuil3.Name)).Select
bon après midi
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87