Bonjour,
Je bloque sur du VBA.... normal XD

alors voila J'ai un fichier qui a son ouverture fait pop une inputbox et demande un matricule (ex: U789345). Si le matricule est connu dans une feuille appelée DroitsUsers (colonne A), alors les onglets associés dans une seconde colonne(colonne B) sont affichés, si le matricule n'existe pas, msgbox avec message d'erreur puis retour sur l'inputbox demandant le matricule.
Je souhaiterai faire une input box de "confirmation":

Si matricule entré précedemment est dans la liste (colonne A de DroitsUsers) alors rechercheV dans la même fueilleune 3ième colonne (C), contenant le nom associé au matricule.
Puis msgbox demandant "êtes vous bien -nom et matricule- (trouver par la rechercheV) avec "oui" et "non" ds la msgbox, Si oui alors affichage des onglets associés (en colonne B de DroitsUSers) Sinon retour l'inputbox de demande de matricule.

J'expère que mon explication est claire.

Merci d'avance!

Ps: j'ai trouvé ce code sur un fil de discussion, ce n'est pas moi qui l'ait fait.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 
'on affiche la feuille Page d'accueil
 
    Sheets("Page d'accueil").Visible = True
 
'on planque toutes les autres feuilles sauf Vierge
 
    For x = 1 To ThisWorkbook.Sheets.Count
 
        If Sheets(x).Name <> "Page d'accueil" Then Sheets(x).Visible = xlSheetVeryHidden
 
    Next
 
 
 
End Sub
 
 
 
 
 
 
 
Private Sub Workbook_Open()
 
On Error Resume Next
 
        Application.ScreenUpdating = False
 
'on defini un pointeur
 
        Pointeur = 0
 
 
'on affiche la feuille Vierge
 
        Sheets("Page d'accueil").Visible = True
 
'on va dessus
 
        Sheets("Page d'accueil").Activate
 
'on planque toutes les autres
 
For x = 1 To ThisWorkbook.Sheets.Count
 
If Sheets(x).Name <> "Page d'accueil" Then Sheets(x).Visible = xlSheetVeryHidden
 
Next
 
 
 
'on saisit le user
 
User = InputBox("Veuillez saisir votre nom d'utilisateur", "Utilisateur")
'on saisit le mot de passe
'Pour mettre un mot de passe enlever le "  '   " de la ligne d'après
'MDP = InputBox("Veuillez saisir votre mot de passe", "Mot de passe")
 
 
 
'Derniere ligne du tableau de la feuille DroitsUsers pour boucler dessus
 
DerLigne = Sheets("DroitsUsers").Range("A65536").End(xlUp).Row
 
 
 
'on boucle pour trouver les occurences, x=2 car je pars du principe que la premiere ligne contient les entetes de colonne
 
    For x = 2 To DerLigne
 
'si ce qu'il y a dans la colonne1 (Colonne A : user) = le user saisi et ce qu'il y a dans la colonne2 (Colonne B : mot de passe)
 
If Worksheets("DroitsUsers").Cells(x, 1) = User And Worksheets("DroitsUsers").Cells(x, 2) = MDP Then
 
'on affiche la feuille définié en colonne3 (Colonne C : Onglet autorisé)
 
'on affiche la feuille correspondante
 
        FeuilleVisible = Worksheets("DroitsUsers").Cells(x, 3)
 
        Sheets(FeuilleVisible).Visible = True
 
'on va dessus
 
        Sheets(FeuilleVisible).Activate
 
'on se met un pointeur pour voir si on trouve quelque chose, si on trouve rien on quittera
 
          Pointeur = Pointeur + 1
 
      End If
 
 
 
   Next x
 
 
 
 
 
'Si le pointeur est 0 on ferme le fichier.
 
    If Pointeur = 0 Then
 
        MsgBox "Utilisateur ou mot de passe non valide, si ce message persiste veuillez vous adresser au gestionnaire du fichier"       
 
 
    End If
    If Pointeur = 0 Then
    User = InputBox("Veuillez saisir votre nom d'utilisateur", "Utilisateur")
End If
 
 
'on planque la feuille Vierge
 
    Sheets("Page d'accueil").Visible = 2
 
 
 
    Application.ScreenUpdating = True
 
 
 
End Sub