Bonjour, après avoir longuement cherché la réponse, je m'adresse à vous pour avoir un peu d'aide.
Je souhaite récupérer des chemins de fichiers grâce à getopenfilename. Je souhaite pouvoir en sélectionner plusieurs. Excel m'autorise la sélection de plusieurs fichiers. Cependant la boite me renvoie irrémédiablement un variant/string. Le résultat est qu'un seul fichier est sélectionné.
Pouvez-vous m'aider à résoudre mon problème?
Merci!!!!
Voilà le code en question:
Sub OpenMultipleFiles()
Dim S(), LesFiltres As String
Dim Title As String
Dim x As Integer, FilterIndex As Integer
Dim Fichiers_a_prendre As Variant
Dim Dossier As String
Dim fichier As String
Dim nbre_lettre As Long
Application.ScreenUpdating = True
Sheets(nm_feuille_fichier).Protect Password:="toto", UserInterfaceOnly:=True
LesFiltres = "Fichiers Excel (*.xls; *.xlsx),*.xls;*.xlsx," & _
"Tous types de fichier (*.*),*.*"
'Filtre par défaut *.* -> All Files
FilterIndex = 1
'Titre de la boîte de dialogue
Title = "Sélectionner vos Bilans Carbone"
'Pour sélectionner le lecteur
'CurDir "c:"
'Pour sélectionner le répertoire à l'ouverture
'ChDir "C:\"
Fichiers_a_prendre = Application.GetOpenFilename(FileFilter:=LesFiltres, FilterIndex:=FilterIndex, Title:=Title, MultiSelect:=True) '
Dossier = CurDir
nbre_lettre = Len(Dossier)
Select Case VarType(Fichiers_a_prendre)
Case vbBoolean
'annuler la boîte de dialogue
Exit Sub
''Case Is = "String"
'un fichier seulement sélectionné
Case vbString
ReDim S(1 To 1)
S(1) = Fichiers_a_prendre
Case (vbArray)
msgbox("ok plusieurs")
ReDim S(1 To UBound(Fichiers_a_prendre))
For i = 1 To UBound(Fichiers_a_prendre)
S(i) = Fichiers_a_prendre(i)
Next
End Select
End Sub
Je souhaite récupérer des chemins de fichiers grâce à getopenfilename. Je souhaite pouvoir en sélectionner plusieurs. Excel m'autorise la sélection de plusieurs fichiers. Cependant la boite me renvoie irrémédiablement un variant/string. Le résultat est qu'un seul fichier est sélectionné.
Pouvez-vous m'aider à résoudre mon problème?
Merci!!!!
Voilà le code en question:
Sub OpenMultipleFiles()
Dim S(), LesFiltres As String
Dim Title As String
Dim x As Integer, FilterIndex As Integer
Dim Fichiers_a_prendre As Variant
Dim Dossier As String
Dim fichier As String
Dim nbre_lettre As Long
Application.ScreenUpdating = True
Sheets(nm_feuille_fichier).Protect Password:="toto", UserInterfaceOnly:=True
LesFiltres = "Fichiers Excel (*.xls; *.xlsx),*.xls;*.xlsx," & _
"Tous types de fichier (*.*),*.*"
'Filtre par défaut *.* -> All Files
FilterIndex = 1
'Titre de la boîte de dialogue
Title = "Sélectionner vos Bilans Carbone"
'Pour sélectionner le lecteur
'CurDir "c:"
'Pour sélectionner le répertoire à l'ouverture
'ChDir "C:\"
Fichiers_a_prendre = Application.GetOpenFilename(FileFilter:=LesFiltres, FilterIndex:=FilterIndex, Title:=Title, MultiSelect:=True) '
Dossier = CurDir
nbre_lettre = Len(Dossier)
Select Case VarType(Fichiers_a_prendre)
Case vbBoolean
'annuler la boîte de dialogue
Exit Sub
''Case Is = "String"
'un fichier seulement sélectionné
Case vbString
ReDim S(1 To 1)
S(1) = Fichiers_a_prendre
Case (vbArray)
msgbox("ok plusieurs")
ReDim S(1 To UBound(Fichiers_a_prendre))
For i = 1 To UBound(Fichiers_a_prendre)
S(i) = Fichiers_a_prendre(i)
Next
End Select
End Sub