[PROBLEME] Parcourir plusieurs feuilles Excel

Ezail

XLDnaute Nouveau
Bonjour à tous,

Je vous explique brièvement mon problème.

J'ai un classeur avec un nombre de feuilles que je ne connais pas à l'avance (ma macro doit pouvoir fonctionner pour n'importe quel nombre de feuilles). Ces feuilles sont toutes formatées de la même façon, en sorte que je ne doive m'occuper que du Range("D7:I114").

Le but principal de ma macro est de récupérer certaines données en fonction de ce range. Je vous mets mon code et mon fichier .xls en pièce jointe pour que vous compreniez plus facilement.

Code:
Sub macroplanning3()
    
Dim i As Integer
Dim Ctr As Integer
Dim ws As Worksheet
Dim Rng As Range
Dim compet As String


i = 4

For Each ws In Worksheets

compet = ws.Name

    Do While Ctr <= Worksheets.Count
    Ctr = 1


        For Each Rng In Range("D7:I114")

            If Rng = "EQUIF" Or Rng = "EQUIH" Or Rng = "DH" Or Rng = "DD" Or Rng = "DX" Or Rng = "OPENH" Or Rng = "OPEND" Or Rng = "OPENF" Then
            
                Worksheets(14).Cells((i + 1) / 3, "A").Value = Worksheets(Ctr).Cells((Rng.Row + 1), 1).Value              'heure
                Worksheets(14).Cells((i + 1) / 3, "B").Value = Worksheets(Ctr).Cells((Rng.Row + 1), 2).Value              'montées
                Worksheets(14).Cells((i + 1) / 3, "C").Value = Worksheets(Ctr).Cells((Rng.Row + 1), 3).Value              'utilisées
                i = i + 1
                Worksheets(14).Cells((i + 1) / 3, "D").Value = Worksheets(Ctr).Cells(Rng.Row, Rng.Column).Value           'compétition
                Worksheets(14).Cells((i + 1) / 3, "E").Value = Worksheets(Ctr).Cells((Rng.Row + 1), Rng.Column).Value     'phase
                i = i + 1
                Worksheets(14).Cells((i + 1) / 3, "F").Value = Worksheets(Ctr).Cells((Rng.Row + 2), Rng.Column).Value    'match
                Worksheets(14).Cells((i + 1) / 3, "G").Value = Worksheets(Ctr).Cells(3, Rng.Column).Value                 'table
                i = i + 1
                Worksheets(14).Cells((i + 1) / 3, "H").Value = compet
                i = i + 1
                
            End If
        Next Rng
    
    Ctr = Ctr + 1

    Loop
    
Next ws

End Sub

En fait, comme vous avez pu le voir, je dois récupérer dans une feuille à part, l'heure, le nombre de tables montées, le nombre de tables utilisées etc... J'arrive très bien à récupérer toutes ces valeurs pour une feuille mais je n'arrive pas à parcourir toutes les feuilles du classeur.

J'ai l'erreur suivante "L'indice n'appartient pas à la sélection" pour la première ligne à l'intérieur du If.

Merci de votre aide, si vous avez des questions pour pouvoir mieux m'aider, n'hésitez pas!
 

Pièces jointes

  • HORAIRE NC 2011v6.xls
    205 KB · Affichages: 62
Dernière édition:

Discussions similaires

Réponses
1
Affichages
179
Réponses
6
Affichages
252
Réponses
0
Affichages
160

Statistiques des forums

Discussions
312 364
Messages
2 087 624
Membres
103 624
dernier inscrit
PhilduMorvan