VBA : Utiliser les N° de Feuille plutôt que leurs noms d'onglet

hokousai Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,
Je souhaiterai remplace le nom des onglets par leur n° de feuille.
En vue d’ajouté une dizaine de feuille.
Je ne trouve pas la bonne syntaxe.
Merci à vous pour votre aide.

Private Sub UserForm_Initialize()
Dim S As Worksheet
sh = Array("Index", "Paramètre") ’Remplacer : Index par Feuil9, Paramètre par feuil8 etc…
ListBox1.MultiSelect = fmMultiSelectExtended
For Each S In Worksheets
t = Application.Match(S.Name, sh, 0)
If IsError(t) Then
ListBox1.AddItem S.Name
End If
Next
TextBox1 = 0
End Sub

3 réponses

Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
Bonsoir,

Essayez ceci pour récupérer le code de la feuille "Index"
NomFeuil = Worksheets("Index").CodeName


A adapter

Cdlt
1
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

pas bien clair tout ça.
Le n° de feuille c'est .Index, c'est un nombre qui dépend de la position de la Feuille...
Elle désignée également par son nom et son codename (montré par Frenchie)
Si tu pouvais corriger ton titre pour ceux qui font une recherche avant de demander stp.
On ne peut utiliser un codename qu'en l'écrivant directement. Il n'est pas dans une collection. Donc l'utiliser dans une boucle, c'est mort...
Par contre tu peux boucler sur toutes les feuilles et contrôler son codename dedans.
eric

1
hokousai Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir Frenchie83,

le numéro de feuille je le connais, c'est feuil9
0