bonjour, j'ai un souci et j'aurai besoin de votre aide...j'ai creer un macro pour importer dans un tableau les données de mes fichiers mais je n'arrive pas a trouver le code pour la boucle qui permettrai à la macro de s'executer sur chaque feuille numérotée 1, 2 ,3 ... du fichier 3413210.xls et de refaire l'ensemble de la macro sur chacun des fichiers (nommés 3413211, 3413212...) du répertoire. Une précision le nombre de feuilles varie en fonction du fichier (mais toujours au minimum l'onglet feuille 1) et les feuilles numérotées ne sont pas les seules dans le fichier (également feuilles menu, recap...)

voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Sub Macro1()
' ouvre le fichier exploitation
    Windows("3413210.xls").Activate
    Sheets("Menu").Select
 
    Cells(11, 38).Select
    region = Cells(11, 38).Value
    EXPLOIT = Cells(15, 38).Value
    MOIS = Cells(13, 38).Value
 
    RESORIG = Cells(18, 38).Value
    AJST = Cells(19, 38).Value
    EXTR = Cells(21, 38).Value
 
'   Passer sur l'onglet de détail
    Sheets("1").Select
    NATURE = Cells(14, 2).Value
 
   ' Passe en revue toutes les lignes de saisie
 
   ' Condition si pas de désignation, aller onglet suivant
 
    ' Sinon stocker les variables
    ligne = 26
For ligne = 26 To 51
Cells(ligne, 2).Select
        TRAVREST = Cells(ligne, 2).Value
If TRAVREST = 0 Then GoTo NOUVELLE_LIGNE
    'Cells(ligne, 1).Select
        POSTE = Cells(ligne, 1).Value
        TRAVREST = Cells(ligne, 2).Value
        AJSTRAV = Cells(ligne, 3).Value
        Index = Cells(ligne, 4).Value
        TRAVDEBUT = Cells(ligne, 5).Value
        TRAVPER = Cells(ligne, 6).Value
        TRAVPERSOUSTR = Cells(ligne, 7).Value
        TRAVFIN = Cells(ligne, 8).Value
        PROV = Cells(ligne, 10).Value
        PROVSANSOBJET = Cells(ligne, 14).Value
        REPRISE = Cells(ligne, 15).Value
 
        'For col = 1 To 15
        '    data(col - 1) = Cells(ligne, col)
        'Next
 
    '   Recopie les données dans la base DATA
        Windows("DATA.xls").Activate
        Sheets("Base de données").Select
 
 
        Cells(ligne - 24, 1).Value = region
        Cells(ligne - 24, 4).Value = EXPLOIT
        Cells(ligne - 24, 6).Value = MOIS
        Cells(ligne - 24, 9).Value = RESORIG
        Cells(ligne - 24, 10).Value = AJST
        Cells(ligne - 24, 11).Value = EXTR
        Cells(ligne - 24, 7).Value = NATURE
        Cells(ligne - 24, 8).Value = POSTE
        Cells(ligne - 24, 12).Value = TRAVREST
        Cells(ligne - 24, 13).Value = AJSTRAV
        Cells(ligne - 24, 14).Value = Index
        Cells(ligne - 24, 15).Value = TRAVDEBUT
        Cells(ligne - 24, 16).Value = TRAVPER
        Cells(ligne - 24, 17).Value = TRAVPERSOUSTR
        Cells(ligne - 24, 18).Value = TRAVFIN
        Cells(ligne - 24, 19).Value = PROV
        Cells(ligne - 24, 20).Value = PROVSANSOBJET
        Cells(ligne - 24, 21).Value = REPRISE
 
 
        Windows("3413210.xls").Activate
        Sheets("1").Select
NOUVELLE_LIGNE:
Next
NOUVEL_ONGLET:
   Sheets("2").Select
 
 
End Sub

voila merci d'avance de votre aide!
bonne journée