Impossible de modifier les propriétés ListBox d'un formulaire VBA dans Excel

Jan 06 2021

Il n'est pas possible de modifier les propriétés ListBox (TextColor, BorderColor, BackColor…) à partir de la procédure événementielle ListBox. Exemple:

Private Sub MyListBox_Click()
  MyListBox.BackColor = vbGreen
End Sub

Cela n'a aucun effet. Depuis un autre sous-marin, cela fonctionne normalement.

Réponses

Vityata Jan 06 2021 at 19:09

DblClick() est l'événement que vous recherchez:

Private Sub MyListBox_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    MyListBox.BackColor = vbRed
End Sub

Mais il existe de nombreuses meilleures façons de le faire:

  • https://codereview.stackexchange.com/questions/154401/handling-dialog-closure-in-a-vba-user-form
  • https://www.vitoshacademy.com/vba-the-perfect-userform-in-vba/ (avertissement - mon article)