VBA : bouton explorateur windows import fichier

Fermé
excelvba Messages postés 1 Date d'inscription jeudi 18 février 2016 Statut Membre Dernière intervention 18 février 2016 - 18 févr. 2016 à 18:37
 excelvba - 19 févr. 2016 à 11:51
Bonjour à toutes et à tous,

Je poste ce message sur le Forum car je dois créer une macro (un bouton dans un fichier Excel) qui permettrait 2 choses :
1. en cliquant sur le bouton de mon classeur 1 feuille Macro, de me rendre dans mon explorateur Windows
2. lorsque je suis dans mon explorateur windows, de séléctionner plusieurs fichiers afin d'importer la première ligne de chacun de ses fichiers (feuille "Export" à partir de la ligne 2 colonne A1:A24) afin de les importer dans mon fichier A feuille "Import".

Cette manipulation me permettrait d'éviter de nombreux copier coller fastidieux et donc de tout automatiser, cependant je n'y connais absolument rien en VBA...

Si vous pouviez m'aider ce serait vraiment super car la je bloque.

Passez une très bonne journée et merci à vous !
A voir également:

2 réponses

tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 033
Modifié par tyranausor le 18/02/2016 à 19:21
Bonjour, pour la première partie, un morceau de code pour ouvrir un fichier.
Sub CommandButton4_Click() 'ou Sub selfichier () par exemple
Dim fichier As Variant
fichier = Application.GetOpenFilename("Fichiers Excel avec macro (*.xlsm), *.xlsm" & ",Fichiers Excel (*.xls),*.xls", , "Fichier pour la gestion de la " & LCase(Label5)) '& ", Fichiers Excel 2007 et 2010 (.xlsx),*.xlsx") 'définition de ma variable "fichier". La commande "GetOpenFilename" indique quels fichiers devront être visibles (par extensions, sous-entendu) et de préciser ensuite ces extensions comme dans mon exemple.
MsgBox "Fichier sélectionné : " & UBound(Split(fichier, "\")), , "Choisir un fichier" 'un message indique quel fichier est sélectionné
TextBox4.Value = fichier 'le nom du fichier s'affiche dans une textbox (zone de texte) si tu en as une
End Sub


Et une faq qui pourra t'aider
0
Bonjour tyranausor,

Merci pour cette réponse :) je vais poursuivre mes recherches pour trouver la suite de la Macro !

Par contre quand je lance cette Macro tout fonctionne jusqu'au moment ou je sélectionne le fichier dont j'ai besoin et la le message "Erreur d'exécution '424': Objet requis" s'affiche... Sais tu à quoi cela peut correspondre ?

Merci encore pour ton aide
0
Bon alors j'ai trouvé une solution à mon problème via ce code :

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

Il me permet de me rendre dans l'explorateur Windows et de sélectionner un fichier afin d'en importer la ligne 2 colonne A1 à A24 de l'onglet Export. Cependant j'aimerais pouvoir en sélectionner plusieurs d'un coup (je peux avoir 50 documents différents donc le faire un à un ça va etre un peu long...). De plus, en testant le code, j'ai remarqué qu'au bout du 3ème fichier ca ne marche plus, je ne peux qu'en importer 2...

Quelqu'un à déja rencontré ce problème ?

Merci pour votre aide
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
19 févr. 2016 à 09:27
Bonjour,

Voir ce lien, j'ai fait ce programme pour copier une feuille de chaque classeur en créant un onglet au nom du classeur à chaque fois.
Ce programme peut être modifié.
Il faut que tous les classeurs soient dans le même dossier

https://forums.commentcamarche.net/forum/affich-33160443-macro-pour-copier-des-onglets
0