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.

14test-tab-couleur.xlsm (245.78 Ko)

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
10test-tab-couleur.xlsm (246.23 Ko)

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"