• Initiateur de la discussion Initiateur de la discussion Skyna
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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+
 
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...)
 
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
 
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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
129
Réponses
4
Affichages
223
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
173
  • Question Question
Microsoft 365 Macro vba excel
Réponses
6
Affichages
489
Réponses
5
Affichages
808
Compte Supprimé 979
C
Retour