VBA – Boîte de Dialogue pour Ouvrir un Fichier

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on décembre 23, 2021

VBA vous permet de choisir un fichier à ouvrir à l’aide de la méthode Application.GetOpenFilename. Dans ce tutoriel, vous apprendrez à ouvrir une boîte de dialogue de fichier et à définir ses paramètres.

Si vous voulez apprendre comment ouvrir et fermer un fichier, vous pouvez cliquer sur ce lien : VBA Ouvrir/Fermer un fichier

Ouvrir une Boîte de Dialogue de Fichier en VBA

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

Dim strFichier As String

strFichier = 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. FileFilter vous permet de filtrer les types de fichiers dont vous avez besoin, dans notre cas les fichiers .xlsx.

Dans le paramètre Title, vous pouvez définir un titre pour la boîte de dialogue. Si vous voulez permettre l’ouverture de plusieurs fichiers, vous devez définir MultipleSelect à True. Si vous ne définissez pas ce paramètre, un seul fichier peut être sélectionné.

Image 1. Dialogue d’ouverture d’un fichier

Comme vous pouvez le voir dans l’image 1, la boîte de dialogue apparaît avec le titre Choisissez un fichier Excel à ouvrir. 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 voulez 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 :

Dim fd As Office.FileDialog
Dim strFichier As String

Set fd = Application.FileDialog(msoFileDialogFilePicker)

With fd

    .Filters.Clear
    .Filters.Add "Fichiers Excel", "*.xlsx?", 1
    .Title = "Choisissez un fichier Excel"
    .AllowMultiSelect = False
    
    .InitialFileName = "C:\Dossier VBA"
    
    If .Show = True Then
        strFichier = .SelectedItems(1)
    End If

End With

Tout d’abord, vous devez déclarer la variable fd de type Office.FileDialog et la variable string pour la prise de fichier :

Dim fd As Office.FileDialog
Dim strFichier As String

Ensuite, vous devez définir fd comme un objet Application.FileDialog(msoFileDialogFilePicker) :

Set fd = Application.FileDialog(msoFileDialogFilePicker)

Maintenant, en utilisant une structure With fd … End With, nous pouvons définir plusieurs paramètres :

.Filters.Clear

.Filters.Add "Fichiers Excel", "*.xlsx ?", 1

.Title = "Choisissez un fichier Excel"

.AllowMultiSelect = False

Ici, nous effaçons les filtres de fichiers (.Filters.Clear) et nous les réglons à .xlsx (.Filters.Add « Excel Files », « *.xlsx ? », 1).

Nous pouvons également définir le titre de la boîte de dialogue : .Title = « Choisissez un fichier Excel ».

Nous pouvons limiter l’utilisateur à la sélection d’un seul fichier par : .AllowMultiSelect = False

 

Pour ouvrir une boîte de dialogue dans un dossier spécifique, nous devons mettre cette ligne de code :

.InitialFileName = "C:\Dossier VBA"

A la fin, ce code permet d’ouvrir la boîte de dialogue avec tous les paramètres précédemment définis :

If .Show = True Then

    strFichier = .SelectedItems(1)

End If

 

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. Dialogue d’ouverture d’un fichier dans un dossier spécifique

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA