UserForm pour ouvrir un classeur Xslm et récupéer des données

  • Initiateur de la discussion Initiateur de la discussion lmc71
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lmc71

XLDnaute Occasionnel
Bonjour à toutes, à tous le forum
J'utilise actuellement la macro 1 pour récupérer les données des fichiers 1 Tri, 2 Tri etc..... pour les recopiées dans un autre classeur. Elle fonctionne très bien.
Voilà pour une autre fonction, je dois choisir un seul fichier parmi ceux là entre autre.

J'ai incorporé dans cette macro (macro 2) la ligne NomFichiers = InputBox("Entrez le nom du fichier") pour que je puisse choisir par l'intermédiaire d'une boite de dialogue dans quel fichier aller chercher les données à sélectionner et copier.

Mon souci dans la macro 2 est le suivant : la boite de dialogue s'ouvre, j'inscris le nom du fichier à choisir 1Tri (écriture respectée), la macro se bloque à la ligne Workbooks.Open Filename:=Fichier.

Je suis nul en VBA, et je demande de l'aide.
Merci d'avance
Amicalement à tous


Macro 1
Sub recup_Trimestre()

Const MesFichiers = "1 Tri,2 Tri,3 Tri,4 Tri"
Dim Chemin As String, Fichier As String, S

Range("c10").Select 'sélectionner la cellule de début
Chemin = "D:\cELINE serge HONORAIRES\Honoraires\Bellegarde\HO Tri\"

For Each S In Split(MesFichiers, ",")
Fichier = Chemin & S & ".xlsm"
Workbooks.Open Filename:=Fichier
Range("Trimestre").Copy
ThisWorkbook.Activate
Selection.PasteSpecial Paste:=xlPasteValues
Windows(S & ".xlsm").Activate
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
Range("c65536").End(xlUp).Offset(1, 0).Select
Next S
End Sub


Macro 2

Sub Transfert()
NomFichiers = InputBox("Entrez le nom du fichier")

Const MesFichiers = "NomFichiers"
Dim Chemin As String, Fichier As String, S

Range("c10").Select 'sélectionner la cellule de début
Chemin = "D:\cELINE serge HONORAIRES\Honoraires\Bellegarde\HO Tri\"

For Each S In Split(MesFichiers, ",")
Fichier = Chemin & S & ".xlsm"
Workbooks.Open Filename:=Fichier
Range("Trimestre").Copy
ThisWorkbook.Activate
Selection.PasteSpecial Paste:=xlPasteValues
Windows(S & ".xlsm").Activate
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
Range("c65536").End(xlUp).Offset(1, 0).Select
Next S
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Réponses
3
Affichages
864
Retour