[Excel] Boucle de parcours de sheets

Résolu
deniooo Messages postés 36 Statut Membre -  
deniooo Messages postés 36 Statut Membre -
Bonjour,
J'aimerai parcourir les feuilles de mon fichier afin de les traiter une par une.
j'ai eu une idée qui m'a parrue logique :

Dim curentSheet as Sheets

For eache curentSheet in ActiveWorkbook.Sheets
..
traitement
..
next curentSheet

j'ai aussi eu cette idée :

i = 1
For Each ActiveWorkbook.Sheets(i) In ActiveWorkbook.Sheets
n = n + 1
Next i

Mais apparamment je ne peux pas faire comme ceci.. j'ai bien essayer avec d'autres idées mais rien ne marche.

Un idée de la méthode à adopter ?!

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    à essayer

    nbre = ThisWorkbook.Sheets.Count
    cptr = 1
    Do Until cptr = nbre
    With Sheets(cptr)
    .range("A2")="zaza" & cptr 'exemple de code
    end with
    cptr = cptr + 1
    Loop

    attention : ne pas oublier de mettre 1 point devant toutes les propriétés de l'objet sheets(cptr)

    Tu peux remplacer thisWorkbook par activeworkbook...

    En espèrant que...

    Michel
    0
    1. deniooo Messages postés 36 Statut Membre 1
       
      Et c'est là que je me sens tout béte :D
      je me suis pris la tête pour chercher des trucs super compliqué et j'ai pas pensé au plus simple.. grumbl..

      ça me convient parfaitement
      Voici ma fonction de test qui fonctionne au poil !

      Sub beurk()

      totalSheets = ActiveWorkbook.Sheets.Count
      Cells(1, 1).Value = totalSheets
      curentSheet = 1
      Set plageC = Application.ActiveWorkbook.ActiveSheet.UsedRange.Columns("A").Cells
      Do Until curentSheet > totalSheets
      ActiveWorkbook.Sheets(curentSheet).Select
      With Selection
      Cells(5, 3).Value = "gj go to home"
      End With 'fin du traitement de la feuille
      curentSheet = curentSheet + 1 'feuille suivante
      Loop 'Fin

      End Sub

      Libre adaptation de ta proposition ne fonctionne pas au test ;) mais l'idée m'a sauvé merci !

      Probléme résolu !
      0