Bouton import fichier Excel

Bonjour à toutes et à tous,

Je m'adresse à vous car j'ai grand besoin de conseils afin de créer un bouton dans excel me permettant d'importer des données d'autres fichiers Excel. Malheureusement je ne suis pas experte en la matière...

Voila ce que je dois faire :

- je dois créer un "bouton" dans mon fichier Excel A onglet "Présentation" me permettant de me rendre dans mon Explorateur Windows afin de sélectionner plusieurs fichiers Excel (ayant le même nombre d'onglet avec les mêmes intitulés) afin d'importer la deuxième ligne colonne A à X de l'onglet "Export" de chacun de ses fichiers dans mon fichier Excel A onglet "Import".

Actuellement j'ai un code qui me permet d'aller dans mon explorateur windows et de sélectionner un fichier en important cette bonne ligne cependant je souhaiterais importer plusieurs fichiers à la fois pour ne pas perdre de temps. De plus, à partir du troisième fihcier que j'essaie d'importer cela ne marche....

Voici le code que j'utilise

Sub recup_fiche()

On Error GoTo erreur

WKB_bdd = ActiveWorkbook.Name

filetoopen = Application.GetOpenFilename(filefilter:="fichier Excel, *.xlsx")

If filetoopen <> False Then

Workbooks.Open (filetoopen)

WKB_from = ActiveWorkbook.Name

Workbooks(WKB_bdd).Activate

rep = MsgBox("Charger la fiche d'évaluation de : " & Workbooks(WKB_from).Sheets("Export").[E2] & vbLf & "daté du : " & Workbooks(WKB_from).Sheets("Export").[D2], vbYesNo)

If rep = vbYes Then

ligne_to = Workbooks(WKB_bdd).Sheets("Import").[A65000].End(xlUp).Row + 1

Workbooks(WKB_bdd).Sheets("Import").Cells(ligne_to, 1) = Workbooks(WKB_bdd).Sheets("Import").[A2].End(xlDown) + 1

For i = 1 To 24 ' chaque colonne de la fiche

Val0 = Workbooks(WKB_from).Sheets("Export").Cells(2, i).Value

Workbooks(WKB_bdd).Sheets("Import").Cells(ligne_to, i) = Val0

Next i

End If

Workbooks(WKB_from).Close (False)

End If

End

erreur:

a = MsgBox("Erreur en chargeant une fiche !", vbCritical)

End Sub

Si vous avez des idées n'hésitez pas je suis vraiment désespérée...

Merci à vous,

Anna

Bonjour,

proposition qui permet de sélectionner plusieurs fichiers. à tester

Sub recup_fiche()
    On Error GoTo terreur
    Set WKB_bdd = ActiveWorkbook
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
        .Title = "ouvrir fichiers evaluation"
        .Filters.Clear
        .Filters.Add "Fichiers Excel", "*.xlsx"
        .AllowMultiSelect = True
        If .Show = -1 Then
            For j = 1 To .SelectedItems.Count
                classeurcible = .SelectedItems(j)
                Set WKB_from = Workbooks.Open(classeurcible)
                rep = MsgBox("Charger la fiche d'évaluation de : " & WKB_from.Sheets("Export").[E2] & vbLf & "daté du : " & WKB_from.Sheets("Export").[D2], vbYesNo)
                If rep = vbYes Then
                    ligne_to = WKB_bdd.Sheets("Import").[A65000].End(xlUp).Row + 1
                    WKB_bdd.Sheets("Import").Cells(ligne_to, 1) = WKB_bdd.Sheets("Import").[A2].End(xlDown) + 1
                    WKB_from.Sheets("Export").Range("A2:X2").Copy WKB_bdd.Sheets("Import").Cells(ligne_to, 1)
                End If
                WKB_from.Close (False)
            Next j
        Else
            MsgBox "pas de fichier sélectionné"
        End If
    End With
    Exit Sub
terreur:
    MsgBox "erreur survenue lors du traitement de du fichier " & classeurcible & ", arrêt du traitement"
End Sub

Bonjour h2so4,

Merci infiniment pour ta réponse ! Je vais la tester tout de suite


Alors ton code marche nickel Cependant il plante à partir de la 3ème fiche je n'arrive pas à savoir pourquoi...

Je vais creuser de mon côté mais si vous avez des idées n'hésitez pas

Rechercher des sujets similaires à "bouton import fichier"