Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème multiple files et getopenfilename

  • Initiateur de la discussion Initiateur de la discussion tho7
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tho7

XLDnaute Nouveau
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
 
Re : Problème multiple files et getopenfilename

Bonjour tho,

pas sûr de bien comprendre ton problème, mais regarde peut être le code ci-dessous, fonctionne chez moi sous 2003 :

Code:
Option Explicit
Sub test()
Dim Fichiers, i As Byte
Fichiers = Application.GetOpenFilename(MultiSelect:=True)
If VarType(Fichiers) <> vbBoolean Then
    For i = LBound(Fichiers) To UBound(Fichiers)
        Workbooks.Open Fichiers(i)
    Next i
End If
End Sub

bonne journée
@+
 
Re : Problème multiple files et getopenfilename

Bonjour Pierrot et tho,

une procédure que j'ai corrigée et testée y'a pas très longtemps , ça traite le problème des type variable de la même façon que Pierrot.

 
Re : Problème multiple files et getopenfilename

Bonjour, merci pour vos réponses.

En fait mon problème est bizarre parce qu'il s'en va et revient. Il n'existe pas dans un autre fichier où j'ai exactement le même code. Il parait que son fonctionnement est parfois mystérieux. Je voulais juste savoir si certains d'entre vous avez des pistes sur ce que je devais chercher.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
283
Réponses
3
Affichages
681
Réponses
4
Affichages
253
Réponses
3
Affichages
590
Réponses
1
Affichages
583
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…