Extraction VBA depuis plusieurs fichiers XL

chris1234

XLDnaute Nouveau
Bonjour à tous,

Il y a quelques temps, j'ai réalisé une matrice VBA afin d'extraire les données depuis plusieurs classeurs Excel. Avec l'aide d'un forumeur, j'ai une matrice qui marche très bien. Elle ouvre le fichier copie/colle les résultats (selon la plage donnée) puis referme le classeur et passe au fichier suivant. Impeccable !

Seulement voila, au lieu de copier tous les résultats trouvés dans la colonne A avec saut de ligne entre chaque classeur, je souhaiterais que les résultats soient coller en ligne. Malgré mes recherche, je n'y arrive pas !

Par exemple, la première extraction copie les résultats de la plage de G6 à G20, pour colle
chaque résultat en ligne (A1, B1, C1, D1 etc...). la deuxième extraction copie les résultats de la plage de G6 à G20, pour colle chaque résultat en ligne (A2, B2, C2, D2 etc...). Et ainsi de suite pour tous les classeurs.

Je vous joins la matrice en complément.
En vous remerciant de votre aide précieuse.
 

Pièces jointes

  • VBA EXTRACTION MULTIPLE XLS.xls
    72.5 KB · Affichages: 20
  • VBA EXTRACTION MULTIPLE XLS.xls
    72.5 KB · Affichages: 23
  • VBA EXTRACTION MULTIPLE XLS.xls
    72.5 KB · Affichages: 22

Lolote83

XLDnaute Barbatruc
Re : Extraction VBA depuis plusieurs fichiers XL

Salut CHRIS1234,
Content de te retrouver.
Voici ton fichier modifié en espérant avoir bien compris ta demande
@+ Lolote83
 

Pièces jointes

  • VBA EXTRACTION MULTIPLE XLS.xls
    78 KB · Affichages: 23
  • VBA EXTRACTION MULTIPLE XLS.xls
    78 KB · Affichages: 27
  • VBA EXTRACTION MULTIPLE XLS.xls
    78 KB · Affichages: 28
Dernière édition:

job75

XLDnaute Barbatruc
Re : Extraction VBA depuis plusieurs fichiers XL

Bonjour chris1234,

Dans la macro Extraction2 :

Code:
'-----------
         If xFichier <> Principal.Name Then
            With ActiveSheet.[A:O]
              If Application.CountA(.Cells) Then
                xLig = .Find("*", , xlValues, , xlByRows, xlPrevious).Row + 1
              Else
                xLig = 1
              End If
            End With
            Call LireFichierFermé(Repertoire, xFichier, xLig)
        End If
Dans la macro LireFichierFermé :

Code:
'Ecriture des données lues dans le fichier en cours
    Dim t
    ActiveSheet.Range("A65000").CopyFromRecordset Requete
    t = ActiveSheet.Range("A65000").Resize(15)
    ActiveSheet.Range("A65000").Resize(15).ClearContents
    ActiveSheet.Range("A" & xLig).Resize(, 15) = Application.Transpose(t)
Edit : bonjour Lolote83

A+
 
Dernière édition:

chris1234

XLDnaute Nouveau
Re : Extraction VBA depuis plusieurs fichiers XL

Bonjour,
Merci beaucoup de votre retour et excusez moi de mon retour tardif !
La matrice marche parfaitement, je vous en remercie.

Une dernière question, je n'arrive pas à extraire les données de fichiers xlsx.
Pourtant les fichiers après 2007 semble avoir été pris en compte dans la matrice transmise.

Auriez-vous une solution ?

J'ai une matrice pour changer le xls en xlsx. Cependant, elle change bien le type de fichier mais l'extention. Du coup, je n'arrive pas à extraire les données.

Merci à vous.
 

chris1234

XLDnaute Nouveau
Re : Extraction VBA depuis plusieurs fichiers XL

Bonjour Lolote83,
Merci également de ton retour.
La matrice marche parfaitement, mais j'ai toujours un souci avec les fichier xlsx.
Une idée ?

Cf mon message ci-dessous en référence à la matrice de job75.
 

Discussions similaires

Réponses
45
Affichages
1 K
Réponses
6
Affichages
142

Statistiques des forums

Discussions
312 275
Messages
2 086 704
Membres
103 377
dernier inscrit
fredy45