VBA - Problème avec "Application.InputBox"

Bonjour à tous et toutes,

Dans un fichier excel, je souhaiterai demander un "login" pour autoriser l'enregistrement,

j'ai donc écrit un évènement comme ceci :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Reponse As String
Reponse = Application.InputBox("Entrez votre identifiant", "Contrôle", , , , , , 2)
    If Reponse = "False" Then
        Cancel = True
    ElseIf StrComp(Reponse, "MDP") <> 0 Then
            Cancel = True
            MsgBox "identifiant érroné, veuillez réessayer !", vbOKOnly, "Erreur"
    Else
    End If
End Sub

Cela fonctionne quand le login est correctement entré, ou s'il est érroné, mais si la personne clique sur "Annuler" de l'InputBox, ce code ne voit pas cette annulation et la considère comme un login incorrect : je n'arrive pas à traiter cette information.

Pourtant l'aide dit bien qu'en cas d'annulation, la valeur renvoyée est "False".

Si j'enlève les guillemets autour de False (4ème ligne de mon code), cela fonctionne, mais plus les autres cas (login rentré)

Quelque chose doit m'échapper, mais je ne vois pas quoi...

Salut le forum

'Intercepter l'utilisation du bouton "Annuler" et la croix de fermeture d'un Inputbox
    Dim Reponse As Variant
    Reponse = Application.InputBox("Saisissez vos données")
    If VarType(Reponse) = vbBoolean Then MsgBox " opération annulée"

Mytå

Merci pour la réponse rapide,

ça fonctionne très bien !!!

Rechercher des sujets similaires à "vba probleme application inputbox"