Extraction multiples VBA

chris1234

XLDnaute Nouveau
Bonjour,

Je suis en train de réaliser une macro pour extraire les données depuis plusieurs fichiers xls.

Je souhaite extraire les données des feuil1 de chaque fichier (qui sont dans un dossier commun) en spécifiant la colonne et la plage de ligne à prendre en compte (extraire les toutes les données présentes dans la colonne G, de la ligne 6 à 20 uniquement)

La matrice semble fonctionner dans le sens ou elle va ouvrir le fichier extrait (tous)les éléments, referme le fichier puis passe au second.

Le problème, c'est comment indiquer de copier uniquement les données de la colonne G et ensuite de les coller dans la colonne A et d'ajouter un saut de ligne entre les résultats pour éviter des compiler.

Malgré des recherches dans le forum je n'ai pas trouvé d'exemples pour m'aider.

Merci par avance de votre aide.

Voici le code réalisé


Sub Extraction()
Dim principal As ThisWorkbook
Dim repertoire As String, fichier As String
Application.ScreenUpdating = False
Set principal = ThisWorkbook
repertoire = "C:\Users\.................................."
ChDir repertoire
fichier = Dir("*.xls")
Do While fichier <> ""
If fichier <> principal.Name Then
Workbooks.Open fichier
On Error GoTo suivant
With Sheets("Feuil1")
On Error GoTo 0
On Error Resume Next
.Range ("A1:A" & .[b65536].End(xlUp).Row)
.UsedRange.EntireRow.Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
End With
ActiveWorkbook.Close False
End If
suivant:
If Err.Number = 9 Then MsgBox "Pas de feuille ""Feuil1"" dans le fichier " & fichier, vbExclamation: ActiveWorkbook.Close False
fichier = Dir
Loop
End Sub
 

Lolote83

XLDnaute Barbatruc
Re : Extraction multiples VBA

Salut Chris1234,
N'ayant pas de fichier pour tester, voici un fichier qui fait (si j'ai bien compris) ce que tu souhaites sans même ouvrir les fichiers.
Extraction des données G6:G20 des feuilles1 et copie dans ton fichier en colonne A.
Voir module LireFermé et Module2
Cordialement
Lolote83
 

Pièces jointes

  • Copie de CHRIS1234 - Extraction multiples.xlsm
    18.8 KB · Affichages: 20

chris1234

XLDnaute Nouveau
Re : Extraction multiples VBA

Bonjour Lolotte,

Je te remercie de ton retour réactif.
J'ai bien chargé ton fichier mais cela ne semble pas focntionner.
Pour cela je te joins les fichiers sur lesquels je travaille.

Merci de ton aide précieuse.
 

Pièces jointes

  • VBA EXTRACTION MULTIPLE XLS.xls
    65.5 KB · Affichages: 17
  • fichier2.xls
    37.5 KB · Affichages: 23
  • fichier1.xls
    37.5 KB · Affichages: 23
  • VBA EXTRACTION MULTIPLE XLS.xls
    65.5 KB · Affichages: 16
  • fichier2.xls
    37.5 KB · Affichages: 17
  • fichier1.xls
    37.5 KB · Affichages: 24
  • VBA EXTRACTION MULTIPLE XLS.xls
    65.5 KB · Affichages: 13
  • fichier2.xls
    37.5 KB · Affichages: 16
  • fichier1.xls
    37.5 KB · Affichages: 14

Lolote83

XLDnaute Barbatruc
Re : Extraction multiples VBA

Salut, ton fichier en retour.
J'ai fait des tests et c'est OK.
@+ Lolote83
 

Pièces jointes

  • VBA EXTRACTION MULTIPLE XLS.xls
    66 KB · Affichages: 28
  • VBA EXTRACTION MULTIPLE XLS.xls
    66 KB · Affichages: 29
  • VBA EXTRACTION MULTIPLE XLS.xls
    66 KB · Affichages: 29

Lolote83

XLDnaute Barbatruc
Re : Extraction multiples VBA

Salut Chris1234,
Coçntent que cela fonctionne.
Regarde dans le module LireFermé, il y a une ligne qui indique l'onglet dans lequel tu souhaites extraire les données ainsi que la plage de données (ici G6:G20)
Defait, si tu souhaites lire des données dans un fichier fermé, il faut donc rensigner :
- Le chemin ou se trouve le fichier
- Le nom du fichier
- L'onglet
- La plage de données
- et pour finir ou coller les données récupérées.
Voili voilà.
Bon courage pour la suite.
@+ Lolote83
 

Statistiques des forums

Discussions
312 103
Messages
2 085 306
Membres
102 859
dernier inscrit
Diallokass