Bonjour le forum,
J'ai un nouveau souci que je n'arrive pas à régler, je ne vois pas d'ou viens le problème... même avec des contrôle de cohérence et des msgbox... impossible
Je voudrais, que le code ci-après, ne rajoute une valeur à ma listbox seulement si celle-ci n'existe pas déjà. Pour cela, il convient de vérifier les différentes valeurs présentes dans la listbox. Ainsi, j'ai créer une boucle sur les valeurs à l'aide d'un For/Next mais ce passage du code me renvoie l'erreur d'exécution 381 : impossible de lire la propriété de la list, index de table impossible à définir.
Le code, avec la partie qui m'intéresse surlignée :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim existe As Boolean
Dim typ, aud, prov, occ As String
typ = Range("C6").Value
aud = Range("C9").Value
prov = Range("C12").Value
Dim i, l, n, g As Integer
i = Worksheets("Dossiers").Range("Z1").Value
ListBox1.Clear
If TextBox1 <> "" Or typ <> "" Or aud <> "" Or prov <> "" Then
For Each ce In Worksheets("Dossiers").Range("A2:C" & i)
existe = False
If ce Like TextBox1 & "*" Or ce Like LCase(TextBox1) & "*" Or ce Like UCase(TextBox1) & "*" Or ce Like typ Or ce Like aud Or ce Like prov Then
l = ce.Row
If (typ = "" Or Worksheets("Dossiers").Range("B" & l).Value = typ) And _
(aud = "" Or Worksheets("Dossiers").Range("C" & l).Value = aud) And _
(prov = "" Or Worksheets("Dossiers").Range("O" & l).Value = prov) Then
occ = Worksheets("Dossiers").Range("A" & l) & " - " & Worksheets("Dossiers").Range("B" & l) & " - " & Worksheets("Dossiers").Range("C" & l)
For n = 0 To ListBox1.ListCount
MsgBox n & " - " & ListBox1.List(n)
If ListBox1.List(n) = occ Then
existe = True
Exit For
End If
Next n
If existe = False Then
ListBox1.AddItem Worksheets("Dossiers").Range("A" & l) & " - " & Worksheets("Dossiers").Range("B" & l) & " - " & Worksheets("Dossiers").Range("C" & l)
End If
End If
End If
Next
End If
End Sub
Merci d'avance, j'ai estimé que le fichier n'été pas indispensable pour répondre à ma question si je me suis trompé, dit moi .
Cordialement,