Re : Selection multiple avec GetOpenFilename
Bonsoir Michelxld
Merci pour ton code je vais essayer de le bricoler pour mon application mais c'est pas gagné j'aurais peut etre encore besoin d'aide.
Merci et bonne soirée
Il faut utiliser la méthode "GetOpenFilename" qui permet d'afficher la boîte de dialogue "Ouvrir" et de lire le(s) fichier(s) sélectionné(s). Cette méthode renvoie le(s) nom(s) de fichier(s) spécifié(s) par l'utilisateur.
Pour permettre d'effectuer une sélection multiple de fichiers, il faut utiliser l'argument "multiSelect" ; les quatre premiers arguments étant facultatif. Si cet argument est égal à True, vous pouvez sélectionner plusieurs noms de fichiers et la valeur renvoyée est un tableau Visual Basic Edition Applications des noms de fichiers activés (même si un seul nom de fichier a été sélectionné) . Si il est à False ou omis, vous ne pouvez sélectionner qu'un seul nom de fichier.
Cette méthode renvoie False si l'utilisateur annule la boîte de dialogue.
Dans l'exemple ci-dessous, je teste si la variable "FichiersAOuvrir" renvoie un tableau. Si c'est le cas, le(s) fichier(s) spécifié(s) sont ouverts. Dans le cas contraire, par exemple si j'ai annulé la boîte de dialogue "Ouvrir", le message "Annuler" apparaît.
' Code Visual Basic anglais
Sub FileName()
' pour changer de répertoire courant
ChDrive "D:\" 'si l'on souhaite utiliser le lecteur D, donc à adapter
ChDir "D:\foo" 'si l'on souhaite utiliser le dossier foo, donc à adapter
'
FichiersAOuvrir = Application.GetOpenFilename(, , , , True)
If IsArray(FichiersAOuvrir) Then
For i = LBound(FichiersAOuvrir, 1) To UBound(FichiersAOuvrir, 1)
'Ouvre les fichiers sélectionnés
Workbooks.Open FichiersAOuvrir(i)
Next i
Else
MsgBox "Annuler"
End If
End Sub
cf :
http://support.microsoft.com/kb/465507/fr