Traitement de fichiers excel avec vba
Résolu/Fermé
Bonjour,
Je fais appel à vous car je n'ai que de très faibles notions en vba.
Je vous expose mon problème: j'aimerai créer une macro me permettant d'ouvrir un par un tous les fichiers excel d'un dossier, contenant tous des informations similaires, puis en extraire des données ( 3 cellules, non alignées), et enfin les ranger à la suite dans un nouveau fichier excel.
J'espère avoir été clair, et me tiens bien entendu à votre disposition pour tout renseignement complémentaire.
Merci d'avance :-)
Je fais appel à vous car je n'ai que de très faibles notions en vba.
Je vous expose mon problème: j'aimerai créer une macro me permettant d'ouvrir un par un tous les fichiers excel d'un dossier, contenant tous des informations similaires, puis en extraire des données ( 3 cellules, non alignées), et enfin les ranger à la suite dans un nouveau fichier excel.
J'espère avoir été clair, et me tiens bien entendu à votre disposition pour tout renseignement complémentaire.
Merci d'avance :-)
A voir également:
- Traitement de fichiers excel avec vba
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si et excel - Guide
- Déplacer une colonne excel - Guide
- Explorateur de fichiers - Guide
1 réponse
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
18 oct. 2011 à 14:00
18 oct. 2011 à 14:00
Bonjour,
Il n'est pas nécessaire d'ouvrir les fichiers pour aller y piocher quelques infos.
Regarde cette discussion, tu y trouveras ce code qui va piocher dans tous les fichiers excel d'un même répertoire une date située en A1.
Ne te reste plus qu'à adapter...
Il n'est pas nécessaire d'ouvrir les fichiers pour aller y piocher quelques infos.
Regarde cette discussion, tu y trouveras ce code qui va piocher dans tous les fichiers excel d'un même répertoire une date située en A1.
Sub ImporterDates() Dim objShell As Object, objFolder As Object Dim Chemin As String, fichier As String Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&) If objFolder Is Nothing Then MsgBox "Abandon opérateur", vbCritical, "Annulation" Else Columns(1).NumberFormat = "m/d/yyyy" Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "\" [B1] = Chemin fichier = Dir(Chemin & "*.xls") Do While Len(fichier) > 0 ThisWorkbook.Names.Add "Plage", _ RefersTo:="='" & Chemin & "[" & fichier & "]Feuil1'!$A$1" With Sheets("Feuil2") .[A1] = "=Plage" .[A1].Copy Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(0, 1) = fichier End With fichier = Dir() Loop End If End Sub
Ne te reste plus qu'à adapter...
19 oct. 2011 à 17:06
Encore merci, c'est vraiement gentil ce que tu fais !
Bonne continuation