Traitement de fichiers excel avec vba

Résolu/Fermé
madu - 18 oct. 2011 à 09:55
 Madu - 19 oct. 2011 à 17:06
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 :-)

A voir également:

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
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.
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...
1
Merci pour ton aide pijaku, j'ai testé le code, et il faut juste que je l'ajuste pour qu'il fonctionne pour mon application.
Encore merci, c'est vraiement gentil ce que tu fais !

Bonne continuation
0