Je crois que le titre est explicite. Avec le code ci-dessous, je boucle sur certaines feuilles dont les noms sont mis dans un array.
VB:
Option Explicit
Sub BoucleForEach()
Dim Wsh As Worksheet
For Each Wsh In Worksheets(Array("A", "B"))
With Wsh
.Activate 'ici pour exécuter un code
End With
Next
End Sub
Je voudrais faire la même chose mais en utilisant le CodeName. J'ai trouvé des exemples mais pas similaire à mes attentes.
Bonjour.
Mettez leur des CodeName avec un début identique reconnaissable.
Cette propriété String en lecture seule d'un objet Worksheet reproduit le nom VBA de cet objet dans la rubrique Microsoft Excel Objets. C'est donc le nom de l'objet dans cette rubrique qu'il faut changer pour qu'elle change. Elle n'est clé d'aucune collection hormis VBProject.VBComponents.
re
bonjour cp4
je ne sais si tu peux faire comme ca
tout du moins pour l'object sheets avec le codename
tu peux bien entendu récupérer le codename des feuilles mais tu obtiens un string et non un object sheets mais ca s'arrête là
quand au vbcomponent c'est encore autre chose
je ne pense pas que tu puisse faire un vbproject.vbcomponents("Feuil1").activate
Je dirais plutôt For Each Wsh In Array(Feuil1, Feuil4)
Sinon ce serait For Each Wsh In Worksheets(Array(Feuil1.Name, Feuil4.Name))
Mais je n'ai rien testé non plus de tout ça.