jeromeN95
XLDnaute Impliqué
Bonjour,
je viens vers vous afin de comprendre la dynamique des boucles aux travers d'un besoin.
J'ai un Userform Horaire où l'utilisateur renseigner jusqu'a 4 combo * 5
CAD / Lundi L1 L2 L3 L4
Mardi M1 M2 M3 M4
...
Vendredi V1 V2 V3 V4
J'ai donc fait ce code :
Private Sub CmbValider_Click()
Dim Str_H As String
If Me.L1 <> "" Then
Str_H = "Lundi: " & Me.L1 & "h à " & Me.L2 & "h et " & Me.L3 & "h à " & Me.L4 & "h" & " / "
End If
If Me.M1 <> "" Then
Str_H = (Str_H & "Mardi: " & Me.M1 & "h à " & Me.M2 & "h et " & Me.M3 & "h à " & Me.M4 & "h" & " / ")
End If
If Me.Me1 <> "" Then
Str_H = (Str_H & "Mercredi: " & Me.Me1 & "h à " & Me.Me2 & "h et " & Me.Me3 & "h à " & Me.Me4 & "h" & " / ")
End If
If Me.J1 <> "" Then
Str_H = (Str_H & "Jeudi: " & Me.J1 & "h à " & Me.J2 & "h et " & Me.J3 & "h à " & Me.J4 & "h" & " / ")
End If
If Me.V1 <> "" Then
Str_H = (Str_H & "Vendredi: " & Me.V1 & "h à " & Me.V2 & "h et " & Me.V3 & "h à " & Me.V4 & "h")
End If
ActiveSheet.Range("$E$1:$H$1") = Str_H
Unload Me
End Sub
Mais si l'utilisateur ne renseigne pas au moin la premiere combo, les heures ne s'affichent pas.
Je souhaiterai donc faire une boucle pour :
reduire ce code et etre sur d'avoir les renseignement.
Peut etre avec For Each c In Me.Controls
Str_H = "Lundi: " & Me.L1 & "h à " & Me.L2 & "h et " & Me.L3 & "h à " & Me.L4 & "h" & " / "
Next
mais je n'en suis pas sur.
Pourriez vous m'aider SVP?
je viens vers vous afin de comprendre la dynamique des boucles aux travers d'un besoin.
J'ai un Userform Horaire où l'utilisateur renseigner jusqu'a 4 combo * 5
CAD / Lundi L1 L2 L3 L4
Mardi M1 M2 M3 M4
...
Vendredi V1 V2 V3 V4
J'ai donc fait ce code :
Private Sub CmbValider_Click()
Dim Str_H As String
If Me.L1 <> "" Then
Str_H = "Lundi: " & Me.L1 & "h à " & Me.L2 & "h et " & Me.L3 & "h à " & Me.L4 & "h" & " / "
End If
If Me.M1 <> "" Then
Str_H = (Str_H & "Mardi: " & Me.M1 & "h à " & Me.M2 & "h et " & Me.M3 & "h à " & Me.M4 & "h" & " / ")
End If
If Me.Me1 <> "" Then
Str_H = (Str_H & "Mercredi: " & Me.Me1 & "h à " & Me.Me2 & "h et " & Me.Me3 & "h à " & Me.Me4 & "h" & " / ")
End If
If Me.J1 <> "" Then
Str_H = (Str_H & "Jeudi: " & Me.J1 & "h à " & Me.J2 & "h et " & Me.J3 & "h à " & Me.J4 & "h" & " / ")
End If
If Me.V1 <> "" Then
Str_H = (Str_H & "Vendredi: " & Me.V1 & "h à " & Me.V2 & "h et " & Me.V3 & "h à " & Me.V4 & "h")
End If
ActiveSheet.Range("$E$1:$H$1") = Str_H
Unload Me
End Sub
Mais si l'utilisateur ne renseigne pas au moin la premiere combo, les heures ne s'affichent pas.
Je souhaiterai donc faire une boucle pour :
reduire ce code et etre sur d'avoir les renseignement.
Peut etre avec For Each c In Me.Controls
Str_H = "Lundi: " & Me.L1 & "h à " & Me.L2 & "h et " & Me.L3 & "h à " & Me.L4 & "h" & " / "
Next
mais je n'en suis pas sur.
Pourriez vous m'aider SVP?