Utiliser (Name) dans for Next (Ne pas dépendre du nom de l'index Name)

Bonjour je voudrait utiliser une boucle du type :

For Each sh In ThisWorkbook.Sheets
        If sh.Name = "Synthese" Then
        Else
                Cells(Ligne, 1) = sh.Name
                Ligne = Ligne + 1
        End If
Next

Mais sans dépendre du Name de l'index de la feuille. utiliser unique le (Name) ?

Mais recherches sur le Net et le forum n'ont rien données.

voir fichier joint.

Merci d'avance pour votre aide

Patrick

10nometnomvba.xlsm (21.36 Ko)

Bonjour

Un essai à tester, si j'ai bien compris. Te convient-il ?

Bye !

Bonsoir Gmb,

non c'est pas ça que je cherche. j'ai mis NomVba1, pour l'exemple, mais le (Name) peut-être n'importe quoi.

Mon but n'est pas de reconstruire le nom comme tu le fait, mais de sélectionner les feuilles a partir du (Name)

Merci quand même pour ton intervention.

Bon Week-End

Patrick

Salut pmfontaine,

Salut gmb,

difficile de critiquer le code de gmb au vu de tes explications...

Si ceci est un simple exercice VBA, il nécessite une reformulation nous permettant de comprendre ta demande.

Ceci, par exemple, veut tout dire et n'importe quoi : quel critère de sélection nous donnes-tu, dis-moi?

sélectionner les feuilles a partir du (Name)

Si c'est pour ton boulot, tu dois alors avoir des noms de feuilles concrets et une vision du résultat que tu dois pouvoir illustrer de façon plus précise.

Ton monde n'est pas notre monde. Sans clef, nous allons tourner longtemps en rond!

A+

Bonjour Curulus57, Bonjour le Forum

désolé, quand on veut faire simple on fait compliqué.

Je pose donc ma question autrement

Pour une feuille qui ce nome :

Name = NomIndex

(Name) = NomVba

nomfeuille

Dans cette boucle,

For Each sh In ThisWorkbook.Sheets
If sh.Name = "NomIndex" Then
 'Action1
Else
 'Action2
End If
Next

Quel est le code à utiliser pour pouvoir utiliser "NomVba" à la place de "NomIndex"

J'espère avoir était plus clair.

Merci à tous et bon WE

Salut pmfontaine,

ah!! Tu cherches le CodeName...

Sub Essai()
'
With Worksheets("Synthese")
    For x = 2 To 7
        .Cells(x, 1) = Sheets(x - 1).Name
        .Cells(x, 2) = Sheets(x - 1).CodeName
    Next
End With
'
End Sub

A+

4pmfontaine.xlsm (21.25 Ko)

Bonjour,

...et pour reformuler ta boucle :

For Each sh In ThisWorkbook.Sheets
If sh.CodeName = "NomVBA" Then
 'Action1
Else
 'Action2
End If
Next

Nota : DAns toutes les autres situations on n'utilise pas "CodeNAme" mais :

With NomVBA
.Cells(1)= 25
End With

ou encore :

NomVBA.Range("A1") = 25

A+

Bonjour Curulis57, Bonjour Galopin01, Bonjour le Forum,

Merci à vous pour vos réponses qui corresponde exactement à ma recherche.

Name ==> Name

(Name) ==> CodeName

Rechercher des sujets similaires à "utiliser name next pas dependre nom index"