Bonjour,
Il y a plusieurs possibilités.
La plus simple est de protéger la feuille en permettant aux macros de s'exécuter :
Modifier le code de la manière suivante :
Sub AJOUT_CONTRAT()
Feuil1.Protect UserInterfaceOnly:=True, Password:="Galopin" 'remplacer "Galopin" par ton mot de passe...
UserForm1.Show
End Sub
La deuxième possibilité est de déprotéger la feuille avant chaque macro et de la reprotéger après...
Dans les 2 cas il y a des inconvénients...
Dans le premier cas, quand on est débutant et qu'on provoque beaucoup d'erreurs, on est pratiquement obligé de rajouter la ligne de protection au début de toutes les macros car cette instruction est volatile : En cas d'erreur d'exécution le programme oublie que UserInterfaceOnly est True...
Dans le deuxième cas il faut ajouter une macro de déprotection au début puis de reprotection à la fin de toutes les macros...
A+