Traitement de fichiers excel avec vba
Résolu
madu
-
Madu -
Madu -
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
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Word et excel gratuit - Guide
- Traitement de texte gratuit - Guide
- Déplacer colonne excel - Guide
1 réponse
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...
Encore merci, c'est vraiement gentil ce que tu fais !
Bonne continuation