Si vous souhaitez ouvrir plusieurs classeurs à la fois et utiliser la boîte de dialogue OPEN intégrée d’Excel, démarrez la macro suivante .
Sub OuvrirPlusieursClasseurs () Dim l As Long Dim ClasseurDoc As Variant l = 0 ClasseurDoc = Application.GetOpenFilename(MultiSelect:=True) If IsArray(ClasseurDoc) Then For l = LBound(ClasseurDoc) To UBound(ClasseurDoc) Workbooks.Open ClasseurDoc(l) Next l Else Workbooks.Open ClasseurDoc End If End Sub
Utilisez la méthode GetOpenFilename pour afficher la boîte de dialogue standard
OPEN sans ouvrir aucun fichier. La méthode a la syntaxe suivante:
GetOpenFilename (FileFilter, FilterIndex, Title, _
Sélection multiple)
Dans le premier argument, vous pouvez déterminer quels fichiers doivent être affichés. Si vous omettez cet argument, tous les fichiers sont affichés dans la boîte de dialogue. L’argument filter-index spécifie le numéro d’index des critères de filtre de fichier standard. L’argument Titre détermine le titre dans la boîte de dialogue. Vous pouvez ainsi affecter votre propre titre à la boîte de dialogue OPEN. Si l’argument est omis, le texte OPEN est sélectionné par défaut comme en-tête de dialogue. L’argument MultiSelect spécifie s’il est possible de marquer plusieurs fichiers dans la boîte de dialogue OPEN. Définissez cet argument sur True si vous souhaitez plusieurs choix. Laissez la valeur par défaut false si vous souhaitez uniquement pouvoir marquer un fichier.
Dans l’étape suivante, vous devez vérifier le nombre et, surtout, les fichiers que l’utilisateur a marqués dans la boîte de dialogue OPEN. Pour ce faire, utilisez la fonction IsArray pour vérifier si la variable de dossier est remplie. Si tel est le cas, plusieurs fichiers sont marqués et la boucle For Next peut être configurée. Cela traite le tableau de gauche à droite, avec la fonction ion LBound contient le plus petit index disponible pour la dimension spécifiée du tableau. La fonction UBound contient également le plus grand index disponible pour la dimension spécifiée du tableau. Tous les fichiers du tableau sont ensuite ouverts les uns après les autres à l’aide de la méthode Open. Dans le cas où un seul fichier a été marqué, la fonction IsArray signale la valeur False. Dans ce cas, vous pouvez exécuter la méthode Open immédiatement et ajouter la variable Folders sans index.