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
excelvba - 19 févr. 2016 à 11:51
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
- Calculer une moyenne sur excel - Guide
- Aller à la ligne dans une cellule excel - Guide
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
Modifié par tyranausor le 18/02/2016 à 19:21
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
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
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
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
19 févr. 2016 à 09:03
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
19 févr. 2016 à 11:51
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