Categories: EXEL

Sélection d’un fichier à l’aide du FileDialog

 

Dans une macro ou un complément, il peut arriver que vous demandiez à l’utilisateur de sélectionner un fichier. Il est possible d’utiliser la boîte de dialogue FileDialog standard à cet effet. Le code suivant est destiné à fournir les paramètres les plus courants que vous pouvez modifier pour répondre à vos besoins.

Ouvrez le fichier DialogBox pour sélectionner un fichier

Sub selectFile()

Dim dialogBox As FileDialog
Set dialogBox = Application.FileDialog(msoFileDialogOpen)

'Set the display properties - these are optional
'All the settings must be applied before the .Show command

'Do not allow multiple files to be selected
dialogBox.AllowMultiSelect = False

'Set the title of of the DialogBox
dialogBox.Title = "Select a file"

'Show the dialog box and output full file path and file name
If dialogBox.Show = -1 Then    MsgBox "You selected: " & dialogBox.SelectedItems(1) End If End Sub

Sélection de plusieurs fichiers

Si l’utilisateur est autorisé à sélectionner plus d’un fichier, le code suivant peut être utilisé:

Sub selectFiles()

Dim dialogBox As FileDialog
Set dialogBox = Application.FileDialog(msoFileDialogOpen)
Dim i As Integer
'Set the display properties - these are optional
'All the settings must be applied before the .Show command

'Allow multiple files to be selected
dialogBox.AllowMultiSelect = True

'Set the title of of the DialogBox
dialogBox.Title = "Select a file"

'Show the dialog box
'Loop through each selected item and output to Immediate Window
For i = 1 To dialogBox.SelectedItems.Count
    Debug.Print dialogBox.SelectedItems(i)
Next i

End Sub

Générez un code VBA précis en quelques secondes avec AutoMacro

AutoMacro est un puissant générateur de code VBA qui est livré avec une bibliothèque de code étendue et de nombreux autres outils et utilitaires permettant de gagner du temps.

Que vous soyez un codeur expérimenté cherchant à gagner du temps ou un débutant essayant simplement de faire fonctionner les choses, AutoMacro est l’outil qu’il vous faut.

 

Définition des options de dossier par défaut

'Set the default folder to open
dialogBox.InitialFileName = "C:UsersmarksDocuments"

'Set filters to show specific files types only - these are optional
'Clear any existing filters first
dialogBox.Filters.Clear
'Add more filters - use ; to separate filters for the same name
dialogBox.Filters.Add "Excel workboooks", "*.xlsx;*.xls;*.xlsm"

Nom de fichier ou chemin complet du fichier

Parfois, vous voulez le chemin complet du fichier de l’élément sélectionné

'Show the full file path (folder & file name)
MgsBox dialogBox.SelectedItems(i)

D’autres fois, vous voulez juste le nom du fichier (pas le dossier)

'Just show the file name
MsgBox Dir(dialogBox.SelectedItems(1))

N’oubliez pas:

Si vous avez trouvé cet article utile ou si vous avez une meilleure approche, veuillez laisser un commentaire ci-dessous.

Avez-vous besoin d’aide pour l’adapter à vos besoins?

Je suppose que les exemples de cet article ne correspondaient pas exactement à votre situation. Nous utilisons tous Excel différemment, il est donc impossible d’écrire un article qui répondra aux besoins de chacun. En prenant le temps de comprendre les techniques et principes de cet article (et ailleurs sur ce site) vous devriez pouvoir l’adapter à vos besoins.

Mais si vous avez encore du mal, vous devriez:

  1. Lisez d’autres blogs ou regardez des vidéos YouTube sur le même sujet. Vous en bénéficierez beaucoup plus en découvrant vos propres solutions.
  2. Demandez le «Excel Ninja» dans votre bureau. C’est incroyable ce que les autres savent.
  3. Posez une question dans un forum   Excel, ou la Communauté Microsoft Answers. N’oubliez pas que les personnes présentes sur ces forums donnent généralement leur temps gratuitement. Veillez donc à rédiger votre question, assurez-vous qu’elle est claire et concise. Répertoriez toutes les choses que vous avez essayées et fournissez des captures d’écran, des segments de code et des exemples de classeurs.
  4. Utilisez Excel Rescue, qui est mon partenaire de conseil. Ils aident en fournissant des solutions aux petits problèmes Excel.

 

Partagez