Listbox formulaire

Bonjour,

J'ai un bug sur l'effacement de ma listbox, ou je veux y faire entrer des valeurs décimales, sur ce code :

Private Sub textBox1_change()
Dim derl%, ligne%, x%, y%, ws As Worksheet, ws1 As Worksheet
Set ws = Sheets("Tab données")
Set ws1 = Sheets("test")
TextBox1 = Me.TextBox1.Value
Application.ScreenUpdating = False 'accelere la macro
derl = ws.Range("B" & Rows.Count).End(xlUp).Row
'teintes.ListBox1.Clear
    k = 2
    For y = 2 To derl
       If ws.Cells(y, 7) >= teintes.TextBox1.Value - 2 And ws.Cells(y, 7) <= teintes.TextBox1.Value + 2 Then
          '  ws1.Cells(k, 9) = ws.Cells(y, 7)
           ' k = k + 1
         teintes.ListBox1.AddItem ws.Cells(ligne, 7)
        End If
    Next
End Sub

Et autre chose bizarre, si je masque sur le code de la listbox, il bug à partir du 2eme chiffre rentré, et je trouve rien dans les propriétés relatif aux chiffres rentrés.

Merci de votre aide

Bonjour,

J'ai dû supprimer la ListBox et en générer une autre.

Sinon, vous avez un problème au niveau du .additem.

Le code ci-dessous fonctionne.

Private Sub textBox1_change()
Dim derl%, ligne%, x%, y%, ws As Worksheet, ws1 As Worksheet

    If Me.TextBox1 = "" Then
       If ListBox1.ListCount > 0 Then ListBox1.Clear
       Exit Sub
    End If

    Set ws = Sheets("Tab données")
    Set ws1 = Sheets("test")
    TextBox1 = Me.TextBox1.Value
    Application.ScreenUpdating = False 'accelere la macro
    derl = ws.Range("B" & Rows.Count).End(xlUp).Row

    With Me.ListBox1
         If .ListCount > 0 Then .Clear
         'k = 2
         For y = 2 To derl
           If ws.Cells(y, 7) >= teintes.TextBox1.Value - 2 And ws.Cells(y, 7) <= teintes.TextBox1.Value + 2 Then
              '  ws1.Cells(k, 9) = ws.Cells(y, 7)
               ' k = k + 1
              .AddItem ws.Cells(y, 7)
           End If
        Next
    End With

    Application.ScreenUpdating = True

End Sub

Bonjour Eric,

Merci de ton aide.

Quand tu dis que le code fonctionne, c'est que tu vois plusieurs valeurs s'afficher dans la listbox ?

Chez moi çà bug sur Listcount :

image

Tu as mal transposé mon code :

La ligne ci-dessous doit apparaître dans la procédure :

 Application.ScreenUpdating = True
Private Sub TextBox1_change()
Dim derl%, ligne%, x%, y%, ws As Worksheet, ws1 As Worksheet
    If Me.TextBox1 = "" Then
       If ListBox1.ListCount > 0 Then ListBox1.Clear
       Exit Sub
    End If

    Set ws = Sheets("Tab données")
    Set ws1 = Sheets("test")
    TextBox1 = Me.TextBox1.Value
    Application.ScreenUpdating = False 'accelere la macro
    derl = ws.Range("B" & Rows.Count).End(xlUp).Row

    With Me.ListBox1
         If .ListCount > 0 Then .Clear
         'k = 2
         For y = 2 To derl
           If ws.Cells(y, 7) >= teintes.TextBox1.Value - 2 And ws.Cells(y, 7) <= teintes.TextBox1.Value + 2 Then
              '  ws1.Cells(k, 9) = ws.Cells(y, 7)
               ' k = k + 1
              .AddItem ws.Cells(y, 7)
           End If
        Next
    End With
        Application.ScreenUpdating = True

End Sub

Re,

Tu as bien fait de préciser que tu as dû supprimer la listbox pour la refaire, parce qu'une Listbox ressemble à une textbox mais n'est pas une textbox.

Merci

Rechercher des sujets similaires à "listbox formulaire"