XL 2010 Mot de passe pour validation cellule Excel

  • Initiateur de la discussion Initiateur de la discussion Excel_Ludo
  • Date de début Date de début
  • Mots-clés Mots-clés
    mdp

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 !

Excel_Ludo

XLDnaute Nouveau
Bonjour à Tous,

Je cherche comment mettre en place un moyen qui permettrait lorsque je m'identifie de créer une alerte demandant de renseigner un mot de passe. Si mot de passe ok, alors la cellule mentionne mon nom, si pas ok, alors la cellule n'inscrit rien.

Je joins le fichier Excel que j'ai créé. L'idée est lorsque je m'identifie en cellule F6 (menu déroulant), alors une fenêtre apparait me demandant mon mot de passe colonne M. Si mot de passe OK, alors F6 mentionne mon nom. Si pas OK, alors F6 ne mentionne rien.

D'avance merci pour votre aide. Petit détails, je ne maitrise absolument pas les macros... Suis novice dans ce domaine.
 

Pièces jointes

Re bonjour,
Voici le code commenté
VB:
Public xFlag As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
    If xFlag = True Then            'Si Drapeau=Vrai
        xFlag = False               'alors on passe à Faux
        Exit Sub                    'On sort
    End If                          'Fin Si
    If Not Intersect(Target, [F6]) Is Nothing Then                              'Si Cellule F6 change
        xRep = InputBox("Veuillez saisir votre mot de passe", "MOT DE PASSE")       'Boite de dialogue pour MDP
        If xRep <> "" Then                                                          'Si Réponse <> vide
            For Each xCell In Range("M3:M11")                                           'On boucle sur toutes les cellules M3:M11 pour trouver correspondance
                If xCell = Val(xRep) Then                                                   'Si cellule testée (M3 à M11) = Ce qui a été saisie dans boite d edialogue
                    If xCell.Offset(0, -1) = Target Then                                        'Si la cellule d'a coté (L3 à L11) = Nom de la liste déroulante
                        MsgBox "OK"                                                                 'On affiche le message OK
                        GoTo Suite                                                                  'On va à "SUITE"
                    End If                                                                      'Fin Si
                End If                                                                      'Fin SI
            Next xCell                                                                  'Fin Boucle
            MsgBox "Erreur de mot de passe", vbCritical, "MOT DE PASSE"                 'Pas de correspondance, donc affichage message Erreur MDP
            xFlag = True                                                                'Drapeau = Vrai
            [F6] = Empty                                                                'On met la cellule F6 à vide
Suite:                                                                          'SUITE
        Else                                                                        'Sinon
            xFlag = True                                                                'Drapeau = Vrai
            [F6] = Empty                                                                'On met la cellule F6 à vide
        End If                                                                      'Fin Si
    End If                                                                      'Fin Si
End Sub
@+ Lolote83
 
Re,
l'idée est la même que sur le précédent fichier, hormis que les cellules sont en P. lorsque je saisis mon nom par menu déroulant, je dois valider un mot de passe, si bon, le nom reste, si pas bon, le nom ne reste pas.

J'espère être clair... Si non, n'hésite pas à me le dire,

A+
 
Re bonsoir,
Remplace la ligne [F6] = Empty par Target=Empty
puis de même pour la ligne [P7😛24] = Empty par Target=Empty
Cela devrait fonctionner.
Du coup, je te remet le code complet
VB:
Public xFlag As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
    If xFlag = True Then            'Si Drapeau=Vrai
        xFlag = False               'alors on passe à Faux
        Exit Sub                    'On sort
    End If                          'Fin Si
    If Not Intersect(Target, [P7:P24]) Is Nothing Then                              'Si Cellule F6 change
        xRep = InputBox("Veuillez saisir votre mot de passe", "MOT DE PASSE")       'Boite de dialogue pour MDP
        If xRep <> "" Then                                                          'Si Réponse <> vide
            For Each xCell In Range("W4:W12")                                           'On boucle sur toutes les cellules W4:W12 pour trouver correspondance
                If xCell = Val(xRep) Then                                                   'Si cellule testée (W4 à W12 = Ce qui a été saisie dans boite d edialogue
                    If xCell.Offset(0, -1) = Target Then                                        'Si la cellule d'a coté (V4 à V12) = Nom de la liste déroulante
                        MsgBox "OK"                                                                 'On affiche le message OK
                        GoTo Suite                                                                  'On va à "SUITE"
                    End If                                                                      'Fin Si
                End If                                                                      'Fin SI
            Next xCell                                                                  'Fin Boucle
            MsgBox "Erreur de mot de passe", vbCritical, "MOT DE PASSE"                 'Pas de correspondance, donc affichage message Erreur MDP
            xFlag = True                                                                'Drapeau = Vrai
            Target = Empty
Suite:                                                                          'SUITE
        Else                                                                        'Sinon
            xFlag = True                                                                'Drapeau = Vrai
            Target = Empty
        End If                                                                      'Fin Si
    End If                                                                      'Fin Si
End Sub
@+ Lolote83
 
Lolote83,

Ca ne fonctionne pas. lorsque je saisis le code, il me dit à chaque fois que le code n'est pas le bon.
Pour rappel, je suis plus que novice dans les macros. je n'en jamais fais, c'est la première fois. J'espère ne pas t'agacer, pas mon but.
 
Re bonsoir,
Je suis désolé mais cela fonctionne chez moi.
Si MDP correct, on a le message OK et le nom reste affiché dans la cellule adéquate
Si MDP faux, message "Erreur de mot de passe" et effacement de la cellule en question
Si Clic sur Annuler, rien ne se passe.
@+ Lolote83
 
- 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
17
Affichages
466
Réponses
2
Affichages
530
Réponses
6
Affichages
686
Retour