Il n’est pas toujours nécessaire de tout inventer vous-même lorsque vous pouvez utiliser quelque chose qui existe déjà.

Vous avez accès à la plupart des boîtes de dialogue intégrées dans Excel et aux autres applications d’Office.

Si vous souhaitez laisser l’utilisateur décider où enregistrer un classeur, vous pouvez afficher la boîte de dialogue intégrée Enregistrer sous comme ceci:

Application.Dialogs(xlDialogSaveAs).Show

Pour obtenir une liste de toutes les boîtes de dialogue accessibles dans Excel, utilisez le navigateur d’objets.

Pour l’afficher, appuyez sur F2 pendant qu’un module est activé. Sélectionnez Excel comme bibliothèque et recherchez les constantes commençant par xlDialog …​.

Si vous souhaitez simplement récupérer un nom de fichier de l’utilisateur que vous souhaitez utiliser ultérieurement pour ouvrir ou enregistrer un classeur, vous pouvez utiliser les méthodes GetOpenFilename ou GetSaveAsFilename. Les deux méthodes affichent leurs boîtes de dialogue respectives, mais n’ouvrent ni n’enregistrent le fichier lorsque l’utilisateur confirme la boîte de dialogue.

Les méthodes retournent à la place le nom de fichier complet dans le fichier que l’utilisateur souhaite ouvrir ou enregistrer.

FullFileName = Application.GetOpenFilename("Excel files (.xl),.xl", _

1, "Custom Dialog Title", , False)

FullFileName = Application.GetSaveAsFilename("DefaultFilename.xls", _

"Excel files (.xl),.xl", 1, "Custom Dialog Title")

Le résultat peut être utilisé comme vous le souhaitez. Vous pouvez plus tard ouvrir un classeur sélectionné comme ceci:

Workbooks.Open FullFileName

Ou vous pouvez enregistrer un classeur comme celui-ci:

ActiveWorkbook.SaveAs FullFileName

Lorsque l’utilisateur a confirmé la boîte de dialogue FileOpen ou la boîte de dialogue FileSaveAs, il / elle peut également avoir changé le dossier actif ou actuel, donc j’utilise souvent ces deux méthodes comme une approche simple pour laisser l’utilisateur sélectionner un dossier. Vous pouvez trouver une autre façon de laisser l’utilisateur sélectionner un dossier dans la section Fichiers et dossiers.