Boucle "for each ..."

Tessel75 -  
 Tessel75 -
Bonjour,
Je souhaite changer les noms de 53 feuilles d'une dizaine de cahiers, tous construits sur le même modèle. Pour cela j'ai écrit un code qui passe en revue toutes les feuilles et modifie les noms. Cette dernière commande est bien maîtrisée; elle fonctionne comme il faut. Par contre le passage d'une feuille à une autre bloque. Je voulais utiliser la boucle "For each ...". J'ai fait 2 tentatives. La 1ère stoppe avec le signal d'erreur :" Proprieté non gérée par cet objet ". La 2ème reste désespérément sur la feuille active.
.
Je vous remercie de la correction que vous pourrez apporter à mon écriture.
.

1)   For Each Sheet In ActiveWorkbook  ' (Proprieté non gérée par cet objet)
2)    For Each Sheet In ActiveWorkbook.Sheets  ' (Ne fait pas defiler les feuilles et reste sur la feuille active)

            Nomfeuille = ActiveSheet.Name
        If Nomfeuille Like "PNMsem*" Then
            Nomfeuille = StrConv(Right(Nomfeuille, Len(Nomfeuille) - 3), vbProperCase)  'StrConv(N, vbProperCase)  Right(ActiveCell, 4)
            ActiveSheet.Name = Nomfeuille
        End If
    Next


A voir également:

2 réponses

Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   955
 
0
Tessel75
 
Merci! Exactement ce que je cherchais. J'essaie lundi ou mardi au boulot et je te tiens au courant.
0