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

Probleme avec GetOpenFileName

1 réponse
Avatar
bonero
Bonsoir les gars,
SVP j’ai besoin de votre aide par rapport à la méthode GetOpenFilename de vba. Merci d’avance pour vos reponses. Je suis sur un excel2002.

1ère question :
j’aimerais comprendre pourquoi ma procédure ne marche pas et me renvoie l’erreur de comptabilité de type(erreur 13). Je sais que je peux remplacer la première condition (If NomFichier < > False Then…) par l’une des lignes suivantes et cela réglerait mon problème. Mais Je precise que je NE veux pas utiliser ces deux options:

• If TypeName(NomFichier) < > "Boolean" Then
• If IsArray(NomFichier) Then

Deuxieme question :
À quoi sert concretement et comment utiliser proprement l’argument FilterIndex de la methode GetOpenFilename ?

Voici mon code :

Sub GetOpenFileName_SOS()


Dim NomFichier As Variant
Dim PlusieurSelection As Boolean
PlusieurSelection = True
NomFichier = Application.GetOpenFilename(" Tous les fichiers(*.*), *.*", , , MultiSelect:=PlusieurSelection)


If NomFichier <> False Then
'je precise que je ne veux pas utiliser les possibilités des 2 lignes suivantes:
'If TypeName(NomFichier) <> "Boolean" Then
'If IsArray(NomFichier) Then

MsgBox "OK, un ou plusieurs fichiers ont ete selectionnés."
Else
MsgBox "Vous avez Annulé l'operation ou Fermé la boite de dialague."
End If
End Sub

1 réponse

Avatar
michdenis
Bonjour,

Essaie comme ceci :

'-----------------------------------
Sub GetOpenFileName_SOS()

Dim NomFichier As Variant, A As Integer
Dim PlusieurSelection As Boolean

PlusieurSelection = True
NomFichier = Application.GetOpenFilename _
(" Tous les fichiers(*.*), *.*", , _
, MultiSelect:=PlusieurSelection)

Select Case TypeName(NomFichier)
Case Is = "Boolean"
MsgBox "Vous avez Annulé l'operation " & _
"ou Fermé la boite de dialague."

Case Is = "Variant()"
For A = 1 To UBound(NomFichier)
x = x & A & " - " & NomFichier(A) & vbCrLf
Next
MsgBox "Vous avez sélectionné " & UBound(NomFichier) & _
" fichier(s)." & vbCrLf & vbCrLf & _
"Le nom des fichiers : " & vbCrLf & vbCrLf & x

End Select

End Sub
'-----------------------------------





"bonero" a écrit dans le message de groupe de discussion :

Bonsoir les gars,
SVP j’ai besoin de votre aide par rapport à la méthode GetOpenFilename de vba.
Merci d’avance pour vos reponses. Je suis sur un excel2002.

1ère question :
j’aimerais comprendre pourquoi ma procédure ne marche pas et me renvoie
l’erreur de comptabilité de type(erreur 13). Je sais que je peux remplacer la
première condition (If NomFichier < > False Then…) par l’une des lignes
suivantes et cela réglerait mon problème. Mais Je precise que je NE veux pas
utiliser ces deux options:

• If TypeName(NomFichier) < > "Boolean" Then
• If IsArray(NomFichier) Then

Deuxieme question :
À quoi sert concretement et comment utiliser proprement l’argument FilterIndex
de la methode GetOpenFilename ?

Voici mon code :

Sub GetOpenFileName_SOS()


Dim NomFichier As Variant
Dim PlusieurSelection As Boolean
PlusieurSelection = True
NomFichier = Application.GetOpenFilename(" Tous les fichiers(*.*), *.*", ,
, MultiSelect:=PlusieurSelection)


If NomFichier <> False Then
'je precise que je ne veux pas utiliser les possibilités des 2 lignes
suivantes:
'If TypeName(NomFichier) <> "Boolean" Then
'If IsArray(NomFichier) Then

MsgBox "OK, un ou plusieurs fichiers ont ete selectionnés."
Else
MsgBox "Vous avez Annulé l'operation ou Fermé la boite de dialague."
End If
End Sub