Bonjour …
Bien entendu il y a d'autres moyens d'arriver au même résultat...
salut Jean-Paul, en voici un exemple avec ma spécialité de fausses cases à cocher qui proviennent d’un seul contrôle ListBox (nommé ici O1).
Ici, on peut, en plus, corriger les saisies avant de fermer le formulaire :
Dim n As Byte
Private Sub UserForm_Initialize()
O1.List = Array("EAU", "GAZ", "ELECRICTE", "EU")
O1.Visible = 0: Va.Visible = 0 'contrôles cachés
'reprise des valeurs
For n = 0 To 3: O1.Selected(n) = Cells(n + 5, 4) <> "": Next
End Sub
Private Sub Ch_Change() 'case pour afficher ou pas la liste
O1.Visible = Ch
End Sub
Private Sub O1_Change()
Va.Visible = 1 'pour afficher le bouton de report
End Sub
Private Sub Va_Click() ‘pour reporter les cas
For n = 0 To 3: Cells(n + 5, 4) = IIf(O1.Selected(n), "x", ""): Next
End Sub