Traitement de fichiers excel avec vba

Résolu
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 :-)

1 réponse

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
    1. Madu
       
      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