Boucle sur plusieurs fichiers Excel

Bonsoir,

Je vous explique le contexte

  • J'ai mon Fichier excel principal
  • J'ai une trentaine de petits fichiers Excel

A chaque fois, je dois ouvrir un de mes petits fichiers Excel, copier la feuille dans mon fichier principal, afin d'éxécuter une macro.

N'y a t il pas possibilité d’effectuer cette macro sur l'ensemble des petits fichiers excel (cette macro permet de générer et enregistrer sous une forme précise ce petit fichier excel)

L'idée est de pouvoir générer et enregistrer chaque petit fichier, de faire les 30 d'un coup.

Merci d'avance.

bonjour

le principe consiste à récupérer les données des 30 dans le principal

faire les calculs, TCD, garphiques... dans le principal

fournir aux 30 personnes le principal pour qu'elles voient les calculs graphiques...

pour cela menu Données, Obtenir

pas de VBA

pourquoi veux-tu "faire des choses dans chacun des 30 ?

il faut les laisser en l'état

joins 2 des 30 et le résultat que tu veux obtenir,, on va regarder

Bonjour jmd,

En pièce jointe, mon fichier principal.

Il y a une Feuille Planning, qui vient d'un autre classeur, j'ai du créer une copie de la feuille dans mon fichier principal.

J'ai plusieurs classeurs contenant chacun une feuille Planning, je dois a chaque fois ouvrir chaque fichier et créer une copie dans mon fichier principal, et puis executer ma macro Traitement, quime génére un fichier excel spécifique. C'est assez laborieux.

L'idéal serait que tous les plannings soit traits d'un coup, que mon fichier me génère tous les fichiers spécifiques d'un coup.

10frenckuy.xlsm (240.97 Ko)

re

pas compris : tu lis ou bien tu génères les 30 ?

Par exemple :

J'ai 50 fichiers excel contenant chacun une feuille Planning.

Je dois copier coller la feuille Planning dans mon fichier Frenckuy, executer la macro, celle ci me génere un fichier spécifique qui est enregistré automatiquement sur mon PC (grâce a ma macro "Traitement" deja existante)

Cependant je dois faire cette action 50 fois, c'est à dire ouvrir un classeur, copier coller la feuille Planning sur mon fichier Frenckuy, lancer la macro, et repeater cela 50 fois.

L'idée serait de les faire d'un coup, en précisant le repertoire contenant les 50 fichiers avec leur noms, et automatiquement, ma macro Traitement s'éxecute en boucle.

Concrètement cela revient à :

J'ai un Dossier contenant 50 fichiers

J'ouvre le premier fichier, je crée une copie de la feuille "Planning"

J'execute ma macro existante "Traitement"

Jouvre le second fichier, je crée une copie de la feuille "Planning"

J'execute ma macro existante "Traitement"

J'ouvre le dernier fichier, je crée une copie de la feuille "Planning"

J'execute ma macro existante "Traitement"

Voici

fr

bon, c'est ce que tu fais ou veux faire

est-ce une solution ?

pourquoi pas un planninf en commun pour tous ?

ou encore autre idée plus simple ?

que fait le "retraitement" ?

C'est la solution la plus simple que j'ai trouvé.

J'ai juste besoin du code me permettant d'ouvrir chaque fichier d'un repertoire, copier coller la feuille sur mon fichier, le reste c'est ma macro qui fait tout.

bonjour,

voici une macro qui ouvre les fichiers sélectionnés et lance le traitement pour chacun d'eux.

Sub aargh()
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
        .Title = "sélectionner les fichiers à compiler"
        .Filters.Clear
        .Filters.Add "Excel files", "*.XLS*"
        If .Show = True Then
            For i = 1 To .SelectedItems.Count
                nf = .SelectedItems(i)
                Set wb = Workbooks.Open(nf)
                wb.Sheets("planning").Copy after:=ThisWorkbook.Sheets(Sheets.Count)
                wb.Close False
                Traitement
            Next i
        Else
            MsgBox "pas de fichier sélectionné"
        End If
    End With
End Sub

Merci bcp h2so4, c'est exactement ca que je veux .

Rechercher des sujets similaires à "boucle fichiers"