Excel VBA FileDialog

Pendant le travail, il peut y avoir certains scénarios dans lesquels nous devons ouvrir d'autres classeurs ou tout autre fichier pour importer des données ou pour prendre une référence. Il existe une méthode pour fournir un chemin d'accès au fichier dans notre code dans VBA qui ouvrira le fichier ou le dossier pour nous. Mais si nous ne nous souvenons pas du chemin, comment pouvons-nous ouvrir le fichier. Nous devrons peut-être d'abord rechercher le chemin, puis fournir à nouveau le chemin. VBA est fourni avec une solution connue sous le nom de FileDialog.

FileDialog est une propriété dans VBA qui nous permet d'ouvrir un fichier ou un dossier à partir d'un chemin. En utilisant cette propriété, un utilisateur n'a pas à spécifier le chemin du dossier, mais l'utilisateur peut sélectionner le chemin. Non seulement cela, FileDialog a un total de quatre propriétés. Ils sont également connus sous le nom de constantes pour cette propriété. Ils sont les suivants:

  1. msoFileDialogFilePicker : Cela permet à l'utilisateur de sélectionner un fichier.
  2. msoFileDialogFolderPicker : Cela permet à l'utilisateur de sélectionner un dossier.
  3. msoFileDialogOpen : Cela permet à l'utilisateur d'ouvrir un fichier.
  4. msoFileDialogSaveAs: Cela permet à l'utilisateur d'enregistrer un fichier.

La méthode d'utilisation de cet objet dans VBA est la suivante.

Application.FIledialog (type Filedialog)

Le type FileDialog peut être l'un des quatre types ci-dessus. Utilisons maintenant cet objet dans des exemples pour en savoir plus clairement sur cette propriété d'objet.

Comment utiliser Excel VBA FileDialog?

Voici les différents exemples d'utilisation de FileDialog dans Excel à l'aide du code VBA.

Vous pouvez télécharger ce modèle Excel FileDialog VBA ici - Modèle Excel FileDialog VBA

Dialogue de fichiers Excel VBA - Exemple # 1

Tout d'abord, aidons l'utilisateur à sélectionner un fichier dans une destination. Dans cet exemple, l'utilisateur sélectionnera un fichier dans le dossier et nous afficherons le chemin du fichier sélectionné.

Suivez les étapes ci-dessous pour utiliser excel VBA FileDialog:

Étape 1: accédez à l'onglet Développeurs et cliquez sur Visual Basic.

Étape 2: ouvrez un module à partir de l'option de menu Insérer, comme illustré ci-dessous.

Étape 3: démarrez la sous-procédure pour commencer à travailler sur l'exemple.

Code:

 Sub SelectFile () End Sub 

Étape 4: Déclarez une variable comme Filedialog comme indiqué ci-dessous.

Code:

 Sub SelectFile () Dim File As FileDialog End Sub 

Étape 5: Maintenant, utilisons cet objet de la méthode Application.Filedialog comme suit.

Étape 6: Une fois que nous avons ouvert la parenthèse, nous pouvons voir l'option pour quatre types de FileDialog comme indiqué dans l'image ci-dessous.

Étape 7: Sélectionnez l'option de type Filedialog comme msoFileDialogFilePicker

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) End Sub 

Étape 8: Maintenant, nous devons créer la boîte de dialogue pour cet exemple, utilisons la déclaration With comme suit.

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) Avec File End With End Sub 

Étape 9: S'il y a des filtres, nous devons effacer les filtres, mettre une instruction point et écrire l'instruction comme indiqué ci-dessous.

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear End With End Sub 

Étape 10: souhaitons-nous maintenant que l'utilisateur sélectionne plusieurs fichiers à la fois ou un seul fichier? Pour cet exemple, gardons le fichier unique à la fois, utilisez donc .Allowmultiselect comme false.

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False End With End Sub 

Étape 11: Maintenant, pour afficher la boîte de dialogue, nous pouvons écrire .show pour afficher la boîte de dialogue comme suit.

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False .Show End With End Sub 

Étape 12: Une fois que nous avons exécuté le code ci-dessus, nous pouvons voir la boîte de dialogue comme suit.

Étape 13: Puisque nous devons afficher le chemin utilisateur sélectionné, déclarez une autre variable sous forme de chaîne dans le code.

Code:

 Sub SelectFile () Dim File As FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False .Show End With End Sub 

Étape 14: Nous utiliserons une instruction selecteditems pour trouver le chemin d'accès du fichier de l'utilisateur sélectionné et le stocker dans notre variable comme suit.

Code:

 Sub SelectFile () Dim File As FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End With End Sub 

Étape 15: Après l'instruction With, utilisez la fonction msgbox pour afficher l'adresse du fichier sélectionné.

Code:

 Sub SelectFile () Dim File As FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End With MsgBox Path End Sub Sub 

Étape 16: exécutons le code ci-dessus et sélectionnez un fichier et appuyez sur ok pour voir le chemin comme suit.

Excel VBA FileDialog - Exemple # 2

Voyons maintenant une autre option de l'objet VBA FileDialog qui est msoFileDialogSaveAs. Cette propriété est utilisée pour enregistrer un fichier sur n'importe quel chemin. Suivez les étapes ci-dessous pour utiliser excel VBA FileDialog.

Étape 1: Dans le même module, écrivons une autre sous-procédure pour enregistrer le fichier comme suit.

Code:

 Sub SaveFile () End Sub 

Étape 2: déclarez maintenant deux variables, une sous forme de chaîne et une autre sous forme d'entier.

Code:

 Sub SaveFile () Dim Choice As Integer, Path As String End Sub 

Étape 3: Rendons maintenant la boîte de dialogue visible à l'utilisateur en utilisant la propriété show comme suit.

Code:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show End Sub 

Étape 4: utilisez maintenant l'instruction IF pour déterminer le choix de l'utilisateur comme suit.

Code:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 Then End Sub 

Étape 5: Maintenant, obtenons le chemin sélectionné par l'utilisateur dans notre variable de chemin comme suit.

Code:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 Then Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Sub 

Étape 6: Maintenant, affichons le résultat à l'aide de la fonction msgbox et terminons la boucle IF.

Code:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 Then Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) MsgBox Path End If End Sub 

Étape 7: Maintenant, exécutez le code ci-dessus et voyez le résultat, il ouvre une boîte de dialogue pour enregistrer le fichier.

Étape 8: Donnez un nom de fichier et appuyez sur Enregistrer, il nous donnera le chemin d'accès au fichier comme suit.

Choses dont il faut se rappeler

  • FileDialog est une propriété d'objet de VBA.
  • Nous n'avons pas besoin de spécifier le chemin d'accès au code à l'aide de cet objet.
  • En utilisant l'opérateur point, nous pouvons voir et utiliser les propriétés IntelliSense de l'objet.

Articles recommandés

Ceci est un guide de VBA FileDialog. Ici, nous discutons de la façon d'utiliser l'objet FileDialog dans Excel à l'aide du code VBA ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Le fichier de vérification VBA existe
  2. Résoudre l'équation dans Excel
  3. VBA Delete File
  4. Comment imprimer des étiquettes à partir d'Excel?
  5. Exemples pour écrire du code VBA

Catégorie: