Boucle 2° critère

Bonjour

Dans le doc joint très simpliste, je parviens à modifier les couleurs et caption des labels (voir code initialize) via une boucle selon valeur trouvée en colonne B.

For ilbl = 0 To 5
        ValCherch = TextBox1 + ilbl
        Set RG = Sheets(1).Range("B2:B15")
        Set trouve = RG.Find(ValCherch, LookAt:=xlWhole)
        If Not trouve Is Nothing Then
                Me.Controls("Label" & ilbl + 1).Caption = ValCherch
                Me.Controls("Label" & ilbl + 1).BackColor = &H80FF80
        Else
            Me.Controls("Label" & ilbl + 1).Caption = ""
            Me.Controls("Label" & ilbl + 1).BackColor = &H8000000F
        End If
Next ilbl 

Mais je ne parviens pas à y intégrer une condition supplémentaire (si besoin) selon choix fait dans le combobox1 cad faire la même chose mais si colonne F = combo1

Merci d'avance

8boucle.xlsm (28.29 Ko)

Bonjour,

Sur Initialize() de l'UserForm, aucun choix n'a encore été fait donc comment veux-tu prendre en compte cela ?

Soit tu utilises une autre procédure événementielle comme Change() du ComboBox, soit tu définis une valeur par défaut pour le ComboBox dans Initialize() !

Il en est de même pour le TextBox quand tu fais :

If Me.TextBox1 <> "" Then

dans Initialize() tu n'entrera jamais dans la condition puisqu'elle sera toujours à faux, le TextBox étant vide !

Private Sub UserForm_Initialize()

    Dim RG As Range
    Dim Trouve As Range
    Dim alimCb
    Dim ilbl As Integer

    With Sheets(2)
        Set alimCb = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
    End With

    ComboBox1.List = alimCb.Value

    ComboBox1.ListIndex = 2 'défini le choix
    TextBox1.Text = 486 'valeur de départ

    If Me.TextBox1 <> "" Then

        For ilbl = 0 To 5

            ValCherch = TextBox1 + ilbl

            Set RG = Sheets(1).Range("B2:B15")
            Set Trouve = RG.Find(ValCherch, , xlValues, xlWhole)

            If Not Trouve Is Nothing Then

                If Trouve.Offset(0, 4).Value = ComboBox1.Text Then

                    Me.Controls("Label" & ilbl + 1).Caption = ValCherch
                    Me.Controls("Label" & ilbl + 1).BackColor = &H80FF80

                End If
            Else

                Me.Controls("Label" & ilbl + 1).Caption = ""
                Me.Controls("Label" & ilbl + 1).BackColor = &H8000000F

            End If

        Next ilbl

    End If

End Sub

Bonjour

Merci beaucoup pour toutes ces explications.

Quel gros béta je fais ...

Merci encore

Quel gros béta je fais ..

Il ne faut pas dire ça, ceci arrive à tout le monde et moi le premier, quand on a la tête dans le guidon...

Rechercher des sujets similaires à "boucle critere"