Bonjour à tous,
J'ai une textbox1 dans laquelle je saisi une année.
J'ai codé de manière à ce que lorsque la valeur dans la textBox change, la ListBox1 qui se trouve à coté devienne visible.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Private Sub TextBox1_Change()
ListBox1.Visible = True
End Sub
Ma Listbox1 contient les 12 mois de l'année.
Lorsque je clique dans la listbox1 pour sélectionner un des mois, la listbox passe sur fond bleu et cela lance un contrôle pour savoir si l'année saisie dans la textbox1 est trouvée. Si c'est le cas, le code continu de se dérouler sinon, la listBox redevient invisible, obligeant l'utilisateur à vérifier l'année qu'il a saisie dans la textbox1.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub TrouverAnnée1()
Dim Nom_ok As Range
    Set Nom_ok = Columns("A").Find(InsertionRelevé.TextBox1)
    If Not Nom_ok Is Nothing Then
Nom_ok.EntireRow.Copy
Sheets("Feuil3").Select
    Range("A16").Select
    ActiveSheet.Paste
Else
InsertionRelevé.ListBox1.Visible = False
AnnéeInconnue.Show
End If
End Sub
L'utilisateur modifie alors l'année dans la textbox1 et la listBox1 redevient visible mais toujours avec le fond bleu c'est à dire sélectionner, ou active, je ne sais comment appeler ça.
Je voudrait que lorsque le test est incorrect et que la listbox1 redevient invisible elle soit également déselectionnée (sur fond blanc), obligeant l'utilisateur à cliquer à nouveau dans la listbox1 car je lui ai attribué un code qui rend visible d'autre textbox à remplir par la suite.

En gros, j'aimerais savoir comment déselectionner une listbox pour que le fond redevienne blanc comme lors de sa premiere apparition.

Merci par avance à ceux qui se pencheront sur mon probleme.

Laurent