inputbox

Skyna

XLDnaute Occasionnel
Bonjour à vous,

Je voulais savoir si quelqu'un pouvait m'aider à écrire un code avec une inputbox qui puisse faire les choses suivantes :

1/_ inputbox avec comme message : "Merci de renseigner le mot de passe" (le mot de passe sera "oui")
2/_ si l'on clique sur "annuler", l'inputbox doit se fermer
3/_ si l'on renseigne un mot de passe erroné, le message suivant doit apparaître : "Mot de passe erroné. Vérifiez les majuscule & minuscules.", et l'inputbox doit réapparaître.
4/_ si l'on renseigne le bon mot de passe, on doit être rediriger vers la feuille 2

Ci-après ma macro qui est un échec..

Sub Macro4()
'
motdepasse = InputBox("Merci de renseigner le mot de passe")
reponse = "oui"
If reponse = vbCancel Then
Exit Sub
If motdepasse = reponse Then
Sheets("Feuil2").Select
If motdepasse <> reponse Then
MsgBox "Mot de passe erroné. Vérifiez les majuscule & minuscules."
Exit Sub
End If
End If
End If
End Sub

Je vous remercie par avance pour votre aide.
 
G

Guest

Guest
Re : inputbox

Bonjour,

Une possibilité:
Code:
Sub Macro4()
    Do
        motdepasse = InputBox("Merci de renseigner le mot de passe", "Entrez un mot de passe")
        If motdepasse = "" Then
            Exit Do
        ElseIf motdepasse = "oui" Then
            Sheets("Feuil2").Activate
            Exit Do
        ElseIf motdepasse <> "oui" Then
            MsgBox "Mot de passe erroné. Vérifiez les majuscule & minuscules."
        End If
    Loop

End Sub

A+
 

Skyna

XLDnaute Occasionnel
Re : inputbox

Bonjour et merci,

Cela fonctionne, mais lorsque l'on valide l'inputbox sans rien l'on sort, alors que j'aurais souhaité que s'affiche "Mot de passe erroné. Vérifiez les majuscule & minuscules." comme lorsque l'on renseigne un mauvais mot de passe. C'est possible?? (j'ai tenté, mais je boucle...)
 
G

Guest

Guest
Re : inputbox

Re,

Alors il faut employé le InputBox de Application:

Dans cette macro la seule façon de sortir de la boucle est d'annuler.
Code:
Sub Macro4()
Dim motdepasse As Variant
    Do
        motdepasse = Application.InputBox("Merci de renseigner le mot de passe", "Entrez un mot de passe")
        
        If TypeName(motdepasse) = "Boolean" Then
            Exit Do
        ElseIf motdepasse = "oui" Then
            Sheets("Feuil2").Activate
            Exit Do
        ElseIf motdepasse <> "oui" Then
            MsgBox "Mot de passe erroné. Vérifiez les majuscule & minuscules."
        End If
    Loop

End Sub
 

Papou-net

XLDnaute Barbatruc
Re : inputbox

Bonsoir Skyna, Hasco,

Ci-joint une solution équivalente avec un formulaire, et qui tient compte du bouton Annuler.

Un autre avantage, on peut masque les caractères entrés, par des astérisques ou tout autre symbole.

Cordialement.

Edit : encore un avantage, le look n'est pas figé comme dans un InputBox. Mais le code est un peu plus lourd.
 

Pièces jointes

  • Exemple Skyna.xlsm
    18 KB · Affichages: 35
Dernière édition:

Discussions similaires

Réponses
10
Affichages
557
Réponses
5
Affichages
726
Compte Supprimé 979
C
Réponses
6
Affichages
435
Réponses
32
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
315 261
Messages
2 117 863
Membres
113 357
dernier inscrit
clem1536