Boîte de dialogue Ouvrir un fichier VBA

VBA vous permet de choisir un fichier à ouvrir en utilisant le Application.GetOpenFilename méthode. Dans ce didacticiel, vous apprendrez à ouvrir une boîte de dialogue de fichier et à définir des paramètres.

Si vous voulez savoir comment ouvrir et fermer un fichier, vous pouvez cliquer sur ce lien : VBA Open/Close File

Ouvrir une boîte de dialogue de fichier dans VBA

Si vous souhaitez ouvrir un fichier en VBA, vous devez d'abord ouvrir une boîte de dialogue de fichier pour choisir un fichier. Voici le code :

123 Dim strFile As StringstrFile = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.xlsx*), *.xlsx*", Title:="Choisissez un fichier Excel à ouvrir", MultiSelect:=True)

Comme vous pouvez le voir, la méthode a plusieurs paramètres. Filtre de fichiers vous permet de filtrer les types de fichiers dont vous avez besoin, dans notre cas les fichiers .xlsx.

Dans le Titre paramètre, vous pouvez définir un titre de la boîte de dialogue. Si vous souhaitez autoriser l'ouverture de plusieurs fichiers, vous devez définir MultipleSelect à vrai. Si vous ne définissez pas ce paramètre, un seul fichier peut être sélectionné.

Image 1. Ouvrir une boîte de dialogue de fichier

Comme vous pouvez le voir dans l'image 1, la boîte de dialogue apparaît avec le titre Choisissez un fichier Excel. Seuls les fichiers Excel sont filtrés et nous pouvons sélectionner plusieurs fichiers.

Ouvrir une boîte de dialogue de fichier dans un dossier spécifique

Si vous souhaitez ouvrir une boîte de dialogue dans un dossier spécifique, vous devez utiliser la méthode .FileDialog avec le paramètre msoFileDialogFilePicker. Dans l'exemple, nous allons ouvrir une boîte de dialogue dans le dossier C:\dossier VBA. Voici le code :

123456789101112131415161718192021 Dim fd As Office.FileDialogDim strFile As StringDéfinir fd = Application.FileDialog(msoFileDialogFilePicker)Avec fd.Filtres.Effacer.Filtres.Ajouter "Fichiers Excel", "*.xlsx?", 1.Title = "Choisir un fichier Excel".AllowMultiSelect = False.InitialFileName = "C:\VBA Folder"Si .Show = True AlorsstrFile = .SelectedItems(1)Fin siTerminer par

Vous devez d'abord déclarer la variable fd taper Office.FileDialog et la variable chaîne pour la prise de fichier :

12 Dim fd As Office.FileDialogDim strFile As String

Après cela, vous devez définir fd à Application.FileDialog(msoFileDialogFilePicker) :

1 Définir fd = Application.FileDialog(msoFileDialogFilePicker)

Maintenant, à l'intérieur Avec fd Terminer avec, nous pouvons définir plusieurs paramètres :

1234567 .Filtres.Effacer.Filtres.Ajouter "Fichiers Excel", "*.xlsx?", 1.Title = "Choisir un fichier Excel".AllowMultiSelect = False

Ici, nous effaçons les filtres de fichiers (.Filtres.Effacer) et définissez-le sur .xlsx (.Filters.Add "Fichiers Excel", "*.xlsx?", 1).

De plus, nous pouvons définir le titre de la boîte de dialogue : .Title = "Choisir un fichier Excel".

Nous pouvons limiter un utilisateur à sélectionner un seul fichier par : .AllowMultiSelect = False

Pour ouvrir une boîte de dialogue dans le dossier que nous voulons, nous devons mettre cette ligne de code :

1 .InitialFileName = "C:\VBA Folder"

À la fin, nous ouvrirons simplement la boîte de dialogue avec tous les paramètres précédemment définis :

12345 Si .Show = True AlorsstrFile = .SelectedItems(1)Fin si

Lorsque nous exécutons ce code, la boîte de dialogue d'ouverture de fichier apparaît dans le dossier C:\dossier VBA:

Image 2. Ouvrir une boîte de dialogue de fichier dans un dossier spécifique

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave