VBA : bouton explorateur windows import fichier
excelvba
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
excelvba -
excelvba -
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 !
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:
- Importer une feuille excel dans un autre classeur vba
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
2 réponses
Bonjour, pour la première partie, un morceau de code pour ouvrir un fichier.
Et une faq qui pourra t'aider
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
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
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
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
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