Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

GetOpenFilename

1 réponse
Avatar
André
Bonjour,

je veux sélectionner plusieurs fichiers avec le code suivant :
' Affichage de la boîte de dialogue standard "Ouvrir" pour sélection de(s)
fichier(s)
nomfich = Application.GetOpenFilename(Title:="Ouverture des fichiers CEXP",
MultiSelect:=True)

' si aucun choix effectué, sortie du programme
If nomfich <> False Then
'MsgBox("Aucun fichier n'a été sélectionné. Fin de la procédure",
vbCritical + vbOKOnly,"Sortie")
Exit Sub
End If

' si choix
If UBound(nomfich) > 1 Then
Dim rep As Long
Dim Liste As String
Dim compteur As Byte
For compteur = 1 To UBound(nomfich)
Liste = Liste & vbCr & nomfich(compteur)
Next compteur
'affichage de l'ensemble de la liste des fichiers et proposition
d'ouverture
rep = MsgBox("Voici la liste des fichiers CEXP sélectionnés." & _
Liste & vbCr & "Voulez-vous les ouvrir ?", vbYesNo + vbQuestion, "Ouvrir
les fichiers CEXP ?")
'ouverture des fichiers en cas de réponse positive
If rep = vbYes Then
For compteur = 1 To UBound(nomfich)
Workbooks.Open Filename:=nomfich(compteur)
Next compteur
End If
Else
Workbooks.Open Filename:=nomfich(1) 'si un seul fichier a été
sélectionné, il est ouvert

End If

Or lors de l'exécution et en choisissant un fichier, une erreur type
d'incompatibité 13 apparaît
Celà fonctionne si multiselect est oté.

?????
merci pour les réponses
Cordialement
André

1 réponse

Avatar
MichDenis
Change ceci
If nomfich <> False Then
Pour ceci dans ta procédure :
If TypeName(nomfich) = "Boolean" Then


"André" a écrit dans le message de news:

Bonjour,

je veux sélectionner plusieurs fichiers avec le code suivant :
' Affichage de la boîte de dialogue standard "Ouvrir" pour sélection de(s)
fichier(s)
nomfich = Application.GetOpenFilename(Title:="Ouverture des fichiers CEXP",
MultiSelect:=True)

' si aucun choix effectué, sortie du programme
If nomfich <> False Then
'MsgBox("Aucun fichier n'a été sélectionné. Fin de la procédure",
vbCritical + vbOKOnly,"Sortie")
Exit Sub
End If

' si choix
If UBound(nomfich) > 1 Then
Dim rep As Long
Dim Liste As String
Dim compteur As Byte
For compteur = 1 To UBound(nomfich)
Liste = Liste & vbCr & nomfich(compteur)
Next compteur
'affichage de l'ensemble de la liste des fichiers et proposition
d'ouverture
rep = MsgBox("Voici la liste des fichiers CEXP sélectionnés." & _
Liste & vbCr & "Voulez-vous les ouvrir ?", vbYesNo + vbQuestion, "Ouvrir
les fichiers CEXP ?")
'ouverture des fichiers en cas de réponse positive
If rep = vbYes Then
For compteur = 1 To UBound(nomfich)
Workbooks.Open Filename:=nomfich(compteur)
Next compteur
End If
Else
Workbooks.Open Filename:=nomfich(1) 'si un seul fichier a été
sélectionné, il est ouvert

End If

Or lors de l'exécution et en choisissant un fichier, une erreur type
d'incompatibité 13 apparaît
Celà fonctionne si multiselect est oté.

?????
merci pour les réponses
Cordialement
André