Parcourir certaines feuilles

Bonjour,

Je cherche a écrire un code qui me permettrait de récupérer une valeur dans les 22 premieres feuilles, valeurs que je retranscris dans ma 23e feuille. J'ai essayé plusieurs manip mais je n'y arrive pas. Voici mon code :

'Dans tout nos programmes, i parcourt les lignes et j les colonnes
Dim i As Integer
'k sert a parcourir les lignes dans la feuil23
Dim k As Integer
Dim fl As Worksheet
'Lidée est de parcourir les feuilles
k = 2
For Each fl In Workbook
    i = 2
    While fl.Cells(i, 9).Value <> ""
        Feuil23.Cells(k, 2).Value = fl.Cells(i, 9).Value
        i = i + 1
    Wend
    k = k + 1
Next fl
End [/contents/446-fichier-sub Sub]


Je sens l'erreur bête arriver... Pouvez vous m'aider?

Merci, d'avance,

EzoxGwen

2 réponses

  1. Modérateur
    Bonjour
    
    For Each fl In thisWorkbook.Worksheets
    
    

    1. Bonjour,
      Pourquoi
      ThisWorkbook.Worksheets
      , il n'a qu'un classeur ouvert et s'il y en avait plus d'un, il faudrait donner le nom du classeur !!!!!
    2. Modérateur
      @f894009hey ho... calmos ! pourquoi tu t'énerves ???
      Nos réponses se sont croisées ..... ce n'est pas à toi que je répondais !

      Et puis... thisWorkbook.Worksheets fonctionne parfaitement.... qu'il y ait plusieurs classeurs ouverts ou non. Quel est le souci ????????!!!!!
    3. Re,
      Ca roule?
      hey ho... calmos ! pourquoi tu t'énerves ???
      Y a pas d'lezard, m'enerve tres rarement et surtout pas sur le site. En effet ca marche sans probleme, ai confondu avec un autre contexte.....
  2. Bonjour,

    Sub test1()
        'Dans tout nos programmes, i parcourt les lignes et j les colonnes
        Dim i As Long
        'k sert a parcourir les lignes dans la feuil23
        Dim k As Long
        Dim fl As Worksheet
        
        'L'idée est de parcourir les feuilles
        k = 2
        For Each fl In Worksheets
            i = 2
            If fl.Name <> "Feuil4" Then     'si nom de l'onglet, pas nom feuille (fenetre VBA)
                While fl.Cells(i, 9).Value <> ""
                    Worksheets("Feuil4").Cells(k, 2).Value = fl.Cells(i, 9).Value
                    i = i + 1
                    k = k + 1
                Wend
            End If
        Next fl
    End Sub
    1. ah oui bien vu !