Simplification code -> boucle ?

Bonjour,

Je voudrais simplifier ou condenser mon code, qui marche bien, mais est ce qu'il est possible de faire une boucle sur ce code :

If Demande1BC.Value <> "" Then

    demande = Demande1BC.Value

    Set celluletrouvee = Worksheets(SECTEUR).Columns(4).Find(demande, lookat:=xlWhole)

    If celluletrouvee Is Nothing Then
        MsgBox "La demande n°" & demande & " est introuvable."
    Else
        celluletrouvee.Offset(0, 7) = TextBox2_NumBC.Value
        celluletrouvee.Offset(0, 8) = DTPicker2.Value
        celluletrouvee.Offset(0, 10) = TextBox2_DelaisBC.Value
        celluletrouvee.Offset(0, 13) = TextBox2_TotalBC.Value
    End If
End If

If Demande2BC.Value <> "" Then

    demande = Demande2BC.Value

    Set celluletrouvee = Worksheets(SECTEUR).Columns(4).Find(demande, lookat:=xlWhole)

    If celluletrouvee Is Nothing Then
        MsgBox "La demande n°" & demande & " est introuvable."
    Else
        celluletrouvee.Offset(0, 7) = TextBox2_NumBC.Value
        celluletrouvee.Offset(0, 8) = DTPicker2.Value
        celluletrouvee.Offset(0, 10) = TextBox2_DelaisBC.Value
        celluletrouvee.Offset(0, 13) = TextBox2_TotalBC.Value
    End If
End If

DEMNADE1BC et DEMANDE2BC sont des textBox, en tout il en a 12, c'est répétitif du coup je souhaiterai mettre ça sous forme de boucle mais je sais pas faire... HELP !

Merci

Bonjour,

Une piste en utilisant la collection "Controls()" de l'UserForm :

Dim I As Integer

For I = 1 To 12

    If Me.Controls("Demande" & I & "BC").Value <> "" Then

        demande = Me.Controls("Demande" & I & "BC").Value

        Set celluletrouvee = Worksheets(SECTEUR).Columns(4).Find(demande, lookat:=xlWhole)

        If celluletrouvee Is Nothing Then
            MsgBox "La demande n°" & demande & " est introuvable."
        Else
            celluletrouvee.Offset(0, 7) = TextBox2_NumBC.Value
            celluletrouvee.Offset(0, 8) = DTPicker2.Value
            celluletrouvee.Offset(0, 10) = TextBox2_DelaisBC.Value
            celluletrouvee.Offset(0, 13) = TextBox2_TotalBC.Value
        End If

    End If

Next I

ça marche !!

La rapidité d'exécution n'a plus rien à voir

merci à toi.

Rechercher des sujets similaires à "simplification code boucle"