If / Valeur comprise dans un intervalle défini par TextBox

Fermé
partepaolo Messages postés 4 Date d'inscription lundi 30 novembre 2015 Statut Membre Dernière intervention 8 décembre 2015 - Modifié par partepaolo le 8/12/2015 à 09:36
f894009 Messages postés 17229 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 janvier 2025 - 8 déc. 2015 à 10:30
Bonjour,

Je tiens d'abord à préciser que j'ai lu plusieurs articles et que je ne trouve pas la solution à mon problème.
Je dispose de plusieurs données. Mon but est de réaliser un tri à partir d'un intervalle de recherche dont les bornes sont fixées par des TextBox et afficher les données qui matchent dans un ListBox.
Voici mon code :
Private Sub Provisoire_Click()

Dim LigneList As Integer
Dim i As Integer
Dim x As Integer

LigneList = Sheets(1).Range("C65536").End(xlUp).Row + 1
Me.ListBox1.Clear
i = 0
x = 0
While i < LigneList - 2

If TextBox11.Value < Range("J" & i + 2).Value < TextBox12.Value Then

Me.ListBox1.AddItem
Me.ListBox1.List(x, 0) = Sheets(1).Range("C" & i + 2)
Me.ListBox1.List(x, 1) = Sheets(1).Range("C" & i + 2).Row
x = x + 1
End If
i = i + 1
Wend
End Sub


En faisant du pas à pas détaillé, je ne vois pas mon erreur. Les TextBox prennent les valeurs que j'inscris, etc...

1 réponse

f894009 Messages postés 17229 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 janvier 2025 1 712
8 déc. 2015 à 10:30
Bonjour,

votre code modifie:
Private Sub Provisoire_Click()
    Dim LigneList As Integer
    Dim i As Integer
    Dim x As Integer

    LigneList = Sheets(1).Range("C65536").End(xlUp).Row + 1
    Me.ListBox1.Clear
    i = 2
    x = 0
    While i <= LigneList
        If Range("J" & i).Value > Val(TextBox1.Value) And Range("J" & i).Value < Val(TextBox2.Value) Then
            Me.ListBox1.AddItem
            Me.ListBox1.List(x, 0) = Sheets(1).Range("C" & i).Value
            Me.ListBox1.List(x, 1) = Sheets(1).Range("C" & i).Row
            x = x + 1
        End If
        i = i + 1
    Wend
End Sub


et un code un peu plus Excel:
Private Sub CommandButton1_Click()
    Dim LigneList As Integer, x As Integer
    Dim Plage As Range, cel As Range

    With Sheets(1)
        LigneList = .Range("C65536").End(xlUp).Row + 1
        Set Plage = .Range("J2:J" & LigneList)
        Me.ListBox1.Clear
        x = 0
        For Each cel In Plage
            If cel.Value > Val(TextBox1.Value) And cel.Value < Val(TextBox2.Value) Then
                Me.ListBox1.AddItem
                Me.ListBox1.List(x, 0) = .Range("C" & cel.Row).Value
                Me.ListBox1.List(x, 1) = cel.Row
                x = x + 1
            End If
            i = i + 1
        Next cel
    End With
End Sub
0