Simplification code -> boucle ?
l
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 IfDEMNADE1BC 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
T
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 Il
ça marche !!
La rapidité d'exécution n'a plus rien à voir
merci à toi.