Probleme avec GetOpenFileName

Le
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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #21470081
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"
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
Publicité
Poster une réponse
Anonyme