Bonjour,
Je viens de créer un code VBA pour gérer l'accès a des feuilles sur un classeur Excel, mais une erreur apparait systématiquement et je ne trouve pas pourquoi ou une solution. C'est une erreur "Object reference not set to an instance of an object." & "Une exception est survenue. Envoyez le fichier journal ci-joint à votre administrateur. Le module complémentaire SAP BI va être fermé."
le code en question : (erreur sur l'instruction "ERREUR 1" et si je supprime cete ligne la même erreur apparait eu niveau "ERREUR 2")
Option Explicit
Private Sub Workbook_Open()
Dim UserWin As String
Dim Pointeur As String
Dim Derligne As Integer
Dim FeuilleVisible As String
Dim X As Integer
'on affiche la feuille Vierge
Sheets("Vierge").Visible = -1
'on va dessus
Sheets("Vierge").Select
Application.ScreenUpdating = False
'on defini un pointeur
Pointeur = 0
'on defini un utilisateur
UserWin = Environ("UserName")
'On Error Resume Next
'on planque toutes les autres
'For x = 1 To ThisWorkbook.Sheets.Count
' If Sheets(x).Name <> "Vierge" Then Sheets(x).Visible = xlSheetVeryHidden
'Next
Sheets("TRACKING FILE").Visible = 2
Sheets("ACTION LIST").Visible = 2
Sheets("DroitsUsers").Visible = 2
'Derniere ligne du tableau de la feuille DroitsUsers pour boucler dessus
Derligne = Sheets("DroitsUsers").Range("A" & Rows.Count).End(xlUp).Row
'on boucle pour trouver les occurences
On Error Resume Next
For X = 2 To Derligne
If Worksheets("DroitsUsers").Cells(X, 1).Value = UserWin Then
FeuilleVisible = Worksheets("DroitsUsers").Cells(X, 3).Value
Sheets(FeuilleVisible).Visible = -1
ERREUR 1 >> Sheets(FeuilleVisible).Select
'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
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
'on planque la feuille Vierge
ERREUR 2 >> Sheets("Vierge").Visible = 2
Application.ScreenUpdating = True
End Sub
Please help, je comprends vraiement pas.....
Par avance merci