Signaler

Comment afficher un message box? [Résolu]

Posez votre question muiigisha 51Messages postés lundi 25 septembre 2017Date d'inscription 17 novembre 2017 Dernière intervention - Dernière réponse le 9 nov. 2017 à 08:37 par muiigisha
Bonjour,
Désolée le libellet de mon sujet ne dit pas clairement mon problème mais plus de place ...bref
j'ai plusieurs modules dans mon code où dans le getopenfilename j'autorise la sélection de 2 fichiers seulement j'aimerai afficher un message d'alerte si un seul est sélectionné ou rien du tout au lieu d'avoir un bug mais je ne trouve pas comment faire en faisant comme d'habitude (c'est-à-dire lorsque c'est un seul fichier sélectionné et mettant le msgBox) j'ai l'erreur type mismatch.

Merci d'avance pour votre aide.


Utile
+1
plus moins
Re,


Mieux comme ca:
Sub FileName()
    Dim FichiersAOuvrir
    FichiersAOuvrir = Application.GetOpenFilename(, , , , True)
    If VarType(FichiersAOuvrir) <> vbBoolean Then
        If IsArray(FichiersAOuvrir) And UBound(FichiersAOuvrir, 1) > 1 Then
            For i = LBound(FichiersAOuvrir, 1) To UBound(FichiersAOuvrir, 1)
                'Ouvre les fichiers sélectionnés
                Workbooks.Open FichiersAOuvrir(i)
            Next i
        Else
            MsgBox "Files not Found. Choose 2 files", vbExclamation, "!! Warning !!"
        End If
    Else
        MsgBox "No chosen file", vbExclamation, "!! WARNING !!"
    End If
End Sub
muiigisha 51Messages postés lundi 25 septembre 2017Date d'inscription 17 novembre 2017 Dernière intervention - 9 nov. 2017 à 08:37
Super merci
Répondre
Donnez votre avis
Utile
+0
plus moins
Bonjour,

A voir

https://support.microsoft.com/fr-fr/help/465507
muiigisha 51Messages postés lundi 25 septembre 2017Date d'inscription 17 novembre 2017 Dernière intervention - 7 nov. 2017 à 09:30
merci f894009,
mais j'ai toujours l'erreur type mismatch à moins que je ne l'ai mal adapté à mon code

Dim Quelfichier() As Variant
Quelfichier = Application.GetOpenFilename("Excel Files (*.csv), *.csv", 2, "Sélection des fichiers", , True)

If Not Array(Quelfichier) Then
'Displaying a message if file not choosed in the above step
MsgBox "Files not Found. Choose 2 files", vbExclamation, "!! Warning !!"
Exit Sub
End If
Répondre
Donnez votre avis
Utile
+0
plus moins
et ainsi?
 Dim  Quelfichier() As Variant
Quelfichier = Application.GetOpenFilename("Excel Files (*.csv), *.csv", 2, "Sélection des fichiers", , True)
Dim ok As Boolean
   ok = False    
    If (VarType(Quelfichier) = vbArray + vbVariant) Then
        If UBound(Quelfichier, 1) - LBound(Quelfichier, 1) + 1 = 2 Then
            ok = True
        End If
    End If
    If Not ok Then
        'Displaying a message if file not choosed in the above step
        MsgBox "Files not Found. Choose 2 files", vbExclamation, "!! Warning !!"
        Exit Sub
   End If
Donnez votre avis
Utile
+0
plus moins
Bonjour a vous deux,

Sub FileName()
FichiersAOuvrir = Application.GetOpenFilename(, , , , True)
If IsArray(FichiersAOuvrir) And UBound(FichiersAOuvrir, 1) > 1 Then
For i = LBound(FichiersAOuvrir, 1) To UBound(FichiersAOuvrir, 1)
    'Ouvre les fichiers sélectionnés
    Workbooks.Open FichiersAOuvrir(i)
Next i
Else
 MsgBox "Files not Found. Choose 2 files", vbExclamation, "!! Warning !!"
End If
End Sub
yg_be 3827Messages postés lundi 9 juin 2008Date d'inscription ContributeurStatut 19 novembre 2017 Dernière intervention - 7 nov. 2017 à 13:47
bonjour, cela donne type "mismatch" dans le cas où getopenfilename retourne un boolean plutôt qu'une array de variants.
Répondre
f894009 12410Messages postés dimanche 25 novembre 2007Date d'inscription 19 novembre 2017 Dernière intervention - 7 nov. 2017 à 15:05
Re,
Ok, sur annuler selection fichier
Répondre
Donnez votre avis
Utile
+0
plus moins
Merci à tous les deux et surtout pour vos promptes réactions,
j'ai finalement utilisé celui de f894009 parce que je comprenais mieux les les instructions et commandes qu'il a utilisées, merci yg_be(je suis disposée à comprendre si tu veux bien m'expliquer, je suis là pour apprendre).
Et pour l'erreur dont yg_be parlait je ne l'ai pas eu quand j'ai compilé.

Merci encore à vous.
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !