Recuperer des donnée dans plusieurs fichiers

seb2

XLDnaute Nouveau
Bonjour à tous,

Je suis à la recherche d'une macro qui me permette de recuperer toutes les données d'un même onglet (toujours le même nom :infos) qui se situe dans plusieurs fichier xls. Tous les fichiers xls sont dans le même dossier "C:\donnees".
Il faudrait que les données soit collées à la suite les une des autres (sans ligne vides) et que dans la 1er colonne soit collé le nom du fichier xls d'ou provient la copie.
J'ai cherché sur le forum mais il n'y a pas de macro qui reponde completement à mon besoin et je suis plutôt novice en VBA.

Merci de votre aide
Seb2
 

seb2

XLDnaute Nouveau
Re : Recuperer des donnée dans plusieurs fichiers

Bonjour phlaurent55,

Merci mais je n'arrive pas adapter la macro à mon problème, il faut que je mette au début de chaque ligne le nom du fichier d'origine ...
Merci de votre aide à tous
 

Staple1600

XLDnaute Barbatruc
Re : Recuperer des donnée dans plusieurs fichiers

Bonsoir seb2, phlaurent55, le fil, le forum


seb2
Tu as lu ces fils récents ?
https://www.excel-downloads.com/threads/fusionner-plusieurs-fichier-excel-en-un-unique.135408/

https://www.excel-downloads.com/threads/rassembler-plusieur-fichier-txt-en-un-seul.135870/

EDITION : il y avait de quoi solutionner ta question*
Code:
Sub Combiner()
Dim Chemin$, Classeur$
Chemin = "C:\donnees" 'ici adapter
Classeur = Dir(Chemin & "\*.xls")
Do While Classeur <> Empty
    With Workbooks.Open(Chemin & "\" & Classeur)
        With .Sheets(1)
            .Name = "copie de " & .Name & "| " & Classeur & "|"
            .Copy After:=ThisWorkbook.Sheets(1)
        End With
        .Close False
    End With
    Classeur = Dir
 Loop
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Recuperer des donnée dans plusieurs fichiers

Re



Adapté à ta problématique (test ok sur Excel 2000)

Code:
Sub Combiner()
Dim Chemin$, Classeur$
Chemin = [COLOR=Navy]"C:\donnees"[/COLOR] 'ici adapter
Classeur = Dir(Chemin & "\*.xls")
Do While Classeur <> Empty
    With Workbooks.Open(Chemin & "\" & Classeur)
    ThisWorkbook.Sheets(1).[A65536].End(xlUp)(2) = Split(Classeur, "\")(UBound(Split(Classeur, "\")))
        With [COLOR=Navy].Sheets("infos")[/COLOR]
        .UsedRange.Copy ThisWorkbook.Sheets(1).[A65536].End(xlUp)(2)
        End With
        .Close False
    End With
    Classeur = Dir
 Loop
End Sub
 

seb2

XLDnaute Nouveau
Re : Recuperer des donnée dans plusieurs fichiers

Bonjour à tous et merci beaucoup Staple1600,

Je voudrais pouvoir copier toujours le même onglet de chaque fichier (appelé : "infos") et je voudrais que les noms des fichiers soient collés dans la colonne A (au lieu que les données soient collées dans plusieurs onglets.)

Merci de votre aide
 

seb2

XLDnaute Nouveau
Re : Recuperer des donnée dans plusieurs fichiers

Bonjour Staple1600

Voila ce que j’ai trouvé sur le forum ,j’ai joint le fichier ci-dessous
En vert pale ce que je voudrais et en jaune ce que fait la macro (voir les 2 onglets).
Je n’arrive pas à modifier la macro pour insérer une colonne et mettre le nom du fichier et de l’onglet.
(RQ la macro «*combine*» crée autant d’onglet qu’il y a de fichier)

Merci de votre aide
 

Staple1600

XLDnaute Barbatruc
Re : Recuperer des donnée dans plusieurs fichiers

Re


EDITION: voilà une version qui semble OK

Code:
Sub Combiner_der()
Dim Chemin$, Classeur$, d_l&
Chemin = "C:\Temp\azert\"
Classeur = Dir(Chemin & "\*.xls")
Do While Classeur <> Empty
    With Workbooks.Open(Chemin & "\" & Classeur)
        With .Sheets("infos")
            d_l = .[A65536].End(xlUp).Row
    ThisWorkbook.Sheets(1).[A65536].End(xlUp)(2).Resize(d_l) = Split(Classeur, "\")(UBound(Split(Classeur, "\")))
            .UsedRange.Copy ThisWorkbook.Sheets(1).[B65536].End(xlUp)(2)
            End With
            .Close False
        End With
    Classeur = Dir
Loop
End Sub
 
Dernière édition:

seb2

XLDnaute Nouveau
Re : Recuperer des donnée dans plusieurs fichiers

Oui j'ai lu ton message et j'ai testé la dernière marco, les données sont bien rassemblées en un seul onglet mais je veux le nom du fichier source et de son onglet en face de chaque ligne (cf mon classeur , couleur en vert) et ça je n'arrive pas à la faire.(j'obtiens ce qui est en jaune)

Merci d'avance
 

Staple1600

XLDnaute Barbatruc
Re : Recuperer des donnée dans plusieurs fichiers

Re


Pourquoi avoir le nom de l'onglet puisque tu dis que c'est: infos pour tous les fichiers ?

Je suis à la recherche d'une macro qui me permette de recuperer toutes les données d'un même onglet (toujours le même nom :infos)
Je avais oublié qu'il y avait un premier fil (tu aurais pu le rappeler ...)
https://www.excel-downloads.com/thr...is-plusieurs-fichiers-sans-les-ouvrir.135528/

Ton fichier exemple ne reproduit pas la problématique de ce fil mais de l'autre !!!

J'adore ce genre de fil !
 
Dernière édition:

seb2

XLDnaute Nouveau
Re : Recuperer des donnée dans plusieurs fichiers

RE Bonjour,

Je m'explique :
J'ai besoin d'avoir le nom du fichier source en 1ere colonne et devant chaque ligne recopiée (et aussi le nom de l'onglet , mais ça c'est en bonus parce que je veux faire l'opération 2 fois sur 2 noms onglets différents.)
Ensuite je dois faire un traitement des données (tri, tableau dyn,...) c'est pourquoi j'ai besoin d'avoir le nom du fichier source dans la 1ere colonne : est-ce que c'est claire ?

Merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
312 400
Messages
2 088 089
Membres
103 712
dernier inscrit
Charles authentique