Boucle "for each ..."

Fermé
Tessel75 - 15 juin 2013 à 02:01
 Tessel75 - 15 juin 2013 à 02:58
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 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
15 juin 2013 à 02:38
0
Merci! Exactement ce que je cherchais. J'essaie lundi ou mardi au boulot et je te tiens au courant.
0