Bonjour, voici un code qui fonctionne super bien pour ouvrir des onglets d'un excel en rapport avec un user et un mot de passe.
Je souhaiterais qu'en plus d'ouvrir les onglets, il puisse m'inscrire en D10 une information se trouvant en colonne 4 dans l'onglet "DroitsUsers".
Pensez-vous que cela puisse être possible?
On Error Resume Next
Application.ScreenUpdating = False
'on defini un pointeur
Pointeur = 0
'on affiche la feuille Vierge
Sheets("L").Visible = True
'on va dessus
Sheets("L").Activate
'on planque toutes les autres
For x = 1 To ThisWorkbook.Sheets.Count
If Sheets(x).Name <> "L" 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
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
ElseIf User = "JD" And MDP = "Jpc42*" Then
For i = 1 To ThisWorkbook.Sheets.Count
If Sheets(i).Name <> "Intro" Then Sheets(i).Visible = True
Next
Application.ScreenUpdating = True
Exit Sub
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" & vbCrLf & vbCrLf & "Le fichier va se fermer", vbCritical + vbOKOnly, "Sécurité"
ActiveWorkbook.Close SaveChanges:=False
End If
Application.ScreenUpdating = True
Je souhaiterais qu'en plus d'ouvrir les onglets, il puisse m'inscrire en D10 une information se trouvant en colonne 4 dans l'onglet "DroitsUsers".
Pensez-vous que cela puisse être possible?
On Error Resume Next
Application.ScreenUpdating = False
'on defini un pointeur
Pointeur = 0
'on affiche la feuille Vierge
Sheets("L").Visible = True
'on va dessus
Sheets("L").Activate
'on planque toutes les autres
For x = 1 To ThisWorkbook.Sheets.Count
If Sheets(x).Name <> "L" 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
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
ElseIf User = "JD" And MDP = "Jpc42*" Then
For i = 1 To ThisWorkbook.Sheets.Count
If Sheets(i).Name <> "Intro" Then Sheets(i).Visible = True
Next
Application.ScreenUpdating = True
Exit Sub
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" & vbCrLf & vbCrLf & "Le fichier va se fermer", vbCritical + vbOKOnly, "Sécurité"
ActiveWorkbook.Close SaveChanges:=False
End If
Application.ScreenUpdating = True