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 SubBonjour h2so4,
Merci infiniment pour ta réponse ! Je vais la tester tout de suite
Alors ton code marche nickel
Je vais creuser de mon côté mais si vous avez des idées n'hésitez pas