Executer macro sur plusieurs feuilles

lumiere1808 Messages postés 3 Date d'inscription samedi 9 décembre 2000 Statut Membre Dernière intervention 5 mai 2008 - 5 mai 2008 à 11:42
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 5 mai 2008 à 18:33
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 :

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

3 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
5 mai 2008 à 13:15
Salut,

pour lister les feuilles de ton classeur, voici le bout de code :

    For
 i = 1 ToActiveWorkBook.Sheets.Count
        Sheets(i).Select
    Next i

Et pour lister les fichiers d'un répertoire, regarde le snippet de PCPT (et pense au paramètre optionnel) :

http://www.codyx.org/snippet_lister-tous-fichiers-repertoire_198.aspx

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA/STRON
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
5 mai 2008 à 18:09
Pour travailler avec plusieurs fichier je te recommande d'utilié vb, mais je ne suis pas sur si c'est une NÉCESSITÉ ABSOLUE...

A toi de voir.

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 mai 2008 à 18:33
bonjour à tous

<li> Vous êtes ici : [infomsg.aspx Thèmes] / [infomsgf_VB-NET-VB-2005_40.aspx VB.NET et VB 2005] / [infomsgt_DIVERS_221.aspx Divers] / [infomsgt_DEBUTANTS_227.aspx Débutants] / [infomsg_EXECUTER-MACRO-SUR-PLUSIEURS-FEUILLES_1126437.aspx#2 executer macro sur plusieurs feuilles]</li>
on parle de macro.... déplacé vers VBA !
merci de faire attention aux thèmes
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous