Ouvrir dossier puis fichier

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 !

Chris57

XLDnaute Occasionnel
Bonjour à tous,

j'ai fouillé un peu partout et j'arrive pas à retrouver cette fonction :
un macro qui ouvre le boite de dialogue "Ouvrir" et qui permet ensuite d'ouvrir n'importe quel fichier s'y trouvant.

J'ai tenté
ChDir "L:\UP78\RELEVES UP78\"
Application.GetOpenFilename

mais pas moyen d'ouvrir un fichier. Si j'en sélectionne un, la boite de dialogue se ferme et pi c'est tout..
 
Re : Ouvrir dossier puis fichier

Bonjour Chris57, Bonjour le forum,

Je suis sous Excel 2003 mais je pense que la commande doit toujours être dispo sous Excel 2007... Y'a pas d'raison...🙄

Pour sélectionner un fichier:
Code:
Application.FileDialog(msoFileDialogFilePicker)

Pour sélectionner un dossier:
Code:
Application.FileDialog(msoFileDialogFolderPicker)

Un petit exemple:
Code:
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False [COLOR="Green"]'Empêche la sélection de plusieurs dossiers[/COLOR]
.Title = "Merci de bien vouloir sélectionner un dossier..."
.InitialFileName = "C:\Admin\MesDocuments\MonDossier\"
If .Show = -1 Then
MonRepertoire= .SelectedItems(1) [COLOR="Green"]'Ici, tu mets dans ta variable MonRepertoire le chemin entier (absolu) du dossier que tu as sélectionné...[/COLOR]
Else
Exit Sub
End If
End With

Voir l'aide VBA (F1) pour les exemples et les détails...

Bonne journée, 🙂
 
Re : Ouvrir dossier puis fichier

Bonjour à tous,

En reprenant l'exemple de Chris57 et en utilisant l'API ShellExecute, tu obtiens ce que tu souhaites avec ce simple code :

VB:
'Décalaration de l'API
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub Go()
With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False 'Empêche la sélection de plusieurs dossiers
    .Title = "Merci de bien vouloir sélectionner un fichier..."
    'Ouverture du fichier par l'application qui y est associée :
    If .Show = -1 Then ShellExecute 0, "open", .SelectedItems(1), "", "", 0
End With
End Sub
 
- 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
37
Affichages
1 K
S
Réponses
6
Affichages
2 K
soNZOOO
S
Réponses
1
Affichages
1 K
A
Réponses
5
Affichages
1 K
L
Réponses
1
Affichages
1 K
Lucien31
L
O
Réponses
5
Affichages
2 K
N
Réponses
4
Affichages
1 K
nathg31
N
Retour