VBA Ouvrir classeur excel avec msgbox

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 !

Kouik Kouik jr

XLDnaute Occasionnel
Bonjour,

Je n'arrive pas à créer un code qui puisse demander l'ouverture de fichiers excel via une messageBox ou l'utilisateur pourrait choisir quels fichiers il désire ouvrir

Pour l'instant je n'ai que le code ci dessous mais le problème c'est que si je veux ouvrir un autre fichier dans "Essais Macro" je suis obligé de modifier le code ce que j'aimerais éviter pour des questions de sécurité


Mille merci d'avance, je galère la dessus depuis un moment😱

Application.WindowState = xlMinimized
Workbooks.Open Filename:="C:\Users\oricha\Documents\Xavier\HEG\Travail diplome\Reconcil VBA\EssaisMacro\3A_TRADING_280209_Final.xls"
Windows("3A_TRADING_280209_Final.xls").Activate
Sheets("Sheet1").Select
Cells.Select
Selection.Copy
Windows("Essai final1.xlsm").Activate
Sheets("HSBC").Select
Range("A1").Select
ActiveSheet.Paste
Range("H25").Select

Windows("Essai final1.xlsm").Activate
Sheets("SYZ").Select
Cells.Select
Selection.ClearContents
Application.WindowState = xlMinimized
Workbooks.Open Filename:="C:\Users\oricha\Documents\Xavier\HEG\Travail diplome\Reconcil VBA\EssaisMacro\All_invest_final_31.01.09_28.02.09.xls"
Windows("All_invest_final_31.01.09_28.02.09.xls").Activate
Sheets("Sheet1").Select
Cells.Select
Selection.Copy
Windows("Essai final1.xlsm").Activate
Sheets("SYZ").Select
Range("A1").Select
ActiveSheet.Paste
Range("H25").Select

Windows("Essai final1.xlsm").Activate
Sheets("JOURNAL").Select
Cells.Select
Selection.ClearContents
Application.WindowState = xlMinimized
Workbooks.Open Filename:="C:\Users\oricha\Documents\Xavier\HEG\Travail diplome\Reconcil VBA\PMM\Journal_identifiants.xls"
Windows("Journal_identifiants.xls").Activate
Sheets("Only yellow").Select
Cells.Select
Selection.Copy
Windows("Essai final1.xlsm").Activate
Sheets("JOURNAL").Select
Range("A1").Select
ActiveSheet.Paste
Range("H25").Select
 
Re : VBA Ouvrir classeur excel avec msgbox

Bonjour,

Pour premettre à l'utilisateur de choisir le fichier à ouvrir :

Sub Test()
MonFichier = Application.GetOpenFilename("Fichiers Excel (*.xl*), *.xl*")
If MonFichier <> False Then
Workbooks.Open Filename:=MonFichier
Else
Exit Sub
End If
'Suite de la macro
End Sub

ou

Sub Test2()
Application.Dialogs(xlDialogOpen).Show
End Sub
 
Re : VBA Ouvrir classeur excel avec msgbox

C'est presque ce que j'aimerais faire mais ce que je désirerais vraiment c'est qu'une message Box s'ouvre et que l'utilisateur puisse choisir par exemple:
En fichier n°1 3A_TRADING_280209_Final.xls
En fichier n°2 All_invest_final_31.01.09_28.02.09 .xls
En fichier n°3 Journal_identifiants.xls

et que par la suite le reste de mon code puisse s'effectuer
 
Re : VBA Ouvrir classeur excel avec msgbox

le problème c'est qu'il recherche les fichiers dans le dossier excel.

Est ce possible d'aller rechercher les fichiers directement dans C:\Users\oricha\Documents\Xavier\HEG\Tr avail diplome\Reconcil VBA\EssaisMacro et que l'utilisateur n'aie plus qu'a choisir le fichier voulu?

Parce que d'inscrire le nom des fichiers dans excel ne m'aide pas vraiment
 
Re : VBA Ouvrir classeur excel avec msgbox

Re,

Dans ce cas, tu utilises la proposition précédente en spécifiant le dossier :

Sub Test()
ChDir "C:\" 'Specifier le dossier ici
MonFichier = Application.GetOpenFilename("Fichiers Excel (*.xl*), *.xl*")
If MonFichier <> False Then
Workbooks.Open Filename:=MonFichier
Else
Exit Sub
End If
'Suite de la macro
End Sub

Si tu utilises la boite de dialogue (dernier post), tu peux specifier également le chemin et stocker les noms de fichiers dans la macro.

Les noms sont ils fixes ou l'utilisateur doit il les choisir dans un dossier (qui lui est fixe ?
 
Re : VBA Ouvrir classeur excel avec msgbox

Je me débrouille très bien avec ton code il me sert énormément je fais comme cela (c'est pas académique je sais.....-)

Windows("Essai_final2.xlsm").Activate
Sheets("HSBC").Select
Cells.Select
Selection.ClearContents
Application.WindowState = xlMinimized
MsgBox "Choix du dernier fichier HSBC"
MonFichier = Application.GetOpenFilename("Fichiers Excel (*.xl*), *.xl*")
If MonFichier <> False Then
Workbooks.Open Filename:=MonFichier

Else
Exit Sub

End If

Sheets("Sheet1").Select
Cells.Select
Selection.Copy


Encore un énorme merci pour toute l'aide que vous apportez !!!!
 
Re : VBA Ouvrir classeur excel avec msgbox

Re,

Ssans avoir ton contexte exact, tu peux peut etre optimiser ton code comme ceci :

Sub Test()
Workbooks("Essai_final2.xlsm").Sheets("HSBC").Cells.ClearContents
MonFichier = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.xl*), *.xl*", Title:="Choix du dernier fichier HSBC")
If MonFichier <> False Then
Workbooks.Open Filename:=MonFichier
Else
Exit Sub
End If
Sheets("Sheet1").Cells.Copy Sheets("Destination").Range("A1")
End Sub


En evitant les Select et le Msgbox (le texte s'affichera dans la barre de la boite de dialogue)
 
- 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

Réponses
11
Affichages
668
Retour