Bonjour,
j'ai ce code qui fonctionne sous Excel 2010 mais qui sur les dernières versions ne fait pas son job. Il s'agit d'activer un bouton ActiveX dans la feuille 1 et qui est placé dans ThisWorkBook - Private Sub ThisWorkBook Open()
'J'indique et fixe les variables pour les boutons:
Dim B1 As Button
Set B1 = ActiveSheet.Buttons("B1_HOME")
Set B2 = ActiveSheet.Buttons("B2_HOME")
Set B3 = ActiveSheet.Buttons("RECHERCHERTMCAR")
'Si L26 dans DATA indique 0 (user inconnu), je grise les boutons et je les désactive:
If Sheets("DATA").Range("L26") = 0 Then
'Font.ColorIndex 15 = lettres grisées.
B1.Font.ColorIndex = 15
B1.Enabled = False
B2.Font.ColorIndex = 15
B2.Enabled = False
B3.Font.ColorIndex = 15
B3.Enabled = False
MsgBox ("L'UTILISATEUR " & Sheets("DATA").Range("E16") & " N'EST PAS AUTORISÉ SUR CE FICHIER." & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "CONTACTEZ UN ADMINISTRATEUR. MERCI."), vbCritical, "ERREUR"
'Si l'utilisateur est validé, je peux activer les boutons:
Else
B1.Font.ColorIndex = 1
B1.Enabled = True
B2.Font.ColorIndex = 1
B2.Enabled = True
B3.Font.ColorIndex = 1
B3.Enabled = True
End If
Ou alors, quel serait le moyen de griser un bouton ActiveX (en dehors d'un UserForm) si la valeur de la cellule L26 dans DATA est égale à 0.
Merci d'avance.
Pat.