Bonjour,
Ton userform plante au démarrage sur l'erreur "l'indice n'appartient pas à la sélection", mais pas grave.
Je viens de faire un test, l'évènement enter ne se comporter malheureusement pas comme je le souhaitais, quand tu modifies la valeur d'un contrôle, tu actives d'abord l'évènement change, puis l'évènement enter, donc si à l'initialisation tu mets une valeur par défaut au contrôle, il va te demander le mot de passe.
Une parade serait d'ajouter une variable publique au code pour gérer ce cas de figure.
Il faut mettre ceci tout en haut de tes codes:
Public initialise As Boolean
Le code deviendra:
Private Sub IDEnter()
If initialise Then Exit Sub
If InputBox("Saisir le mot de passe", "Mot de passe") = "mdp" Then
ID.Locked = False
ID.BackColor = RGB(255, 255, 255)
End If
End Sub
Private Sub ID_Exit(ByVal Cancel As MSForms.ReturnBoolean)
ID.Locked = True
ID.BackColor = RGB(200, 200, 200)
End Sub
Il suffit ensuite de rajouter ça en début d'initialisation:
initialise = True
et ça en fin d'initialisation :
initialise = False