Boucle checkBox

Bonjour à tous,

J'ai deux petits problèmes

1) Je cherche à réduire ce gros pavé inutile au moyen d'une boucle, mais mes tentatives restent vaines.

Quelqu'un pourrait-il venir à mon secours ?

Le code qui suit correspond à la partie "jours travaillés" (l'image se trouve un peu plus bas)

avec checkbox1->7 = Lundi->Dimanche

et TextBox7 = Nombre d'heures/jours

If CheckBox1.Value = True Then
Range("M15") = TextBox7
Else
Range("M15") = ""
End If
If CheckBox2.Value = True Then
Range("N15") = TextBox7
Else
Range("N15") = ""
End If
If CheckBox3.Value = True Then
Range("O15") = TextBox7
Else
Range("O15") = ""
End If
If CheckBox4.Value = True Then
Range("P15") = TextBox7
Else
Range("P15") = ""
End If
If CheckBox5.Value = True Then
Range("Q15") = TextBox7
Else
Range("Q15") = ""
End If
If CheckBox6.Value = True Then
Range("R15") = TextBox7
Else
Range("R15") = ""
End If
If CheckBox7.Value = True Then
Range("S15") = TextBox7
Else
Range("S15") = ""
End If

2 ) Vous pourrez aussi constater que les parties jours fériés / jours fériés travaillé sont sous forme de ListBox (au lieu des chexbox), je trouve cela plus "classe", mais là aussi c'est un échec pour moi.

D'où ma deuxième demande : Si quelqu'un sait faire avec les listbox, je lui serait éternellement reconnaissant s'il pouvais m'aider...

Cordialement.

Funka

bonjour,

Ici on n'aime pas les images : Pour tester c'est pas top !

Essaie :

Dim i%
    For i = 1 To 7
    If Me.Controls("CheckBox" & i).Value = True Then Exit For
    Next i
    If i < 8 Then Cells(15, i + 12) = TextBox7 Else Range("S15") = ""

A+

Bonjour galopin01 et merci pour ta réponse !

Malheureusement en insérant ton code, cela n'inscrit la valeur du textbox7 que dans la cellule M15.

Je joins mon fichier, mais il y a plusieurs choses à savoir :

-Le nom des onglets prend la valeur de la semaine enregistrée ( toujours entrer une valeur non présente)

  • Il n'y a que le Userform1 de fonctionnel
  • Fonctionne sur le Userform1 (le reste n'étant pas encore traité) que :
-Année

-Semaine

-Du lundi

-Au dimanche

Horaire par défaut/Jours fériés/jours fériés travaillé/horaires avancé et la page "absence" du userform1 ne fonctionnent pas (car pas encore traités)

67test2.xlsm (44.11 Ko)

Sorry j'ai regardé un peu distraitement

Essaie :

Dim i%
    For i = 1 To 7
    Cells(15, i + 12) = IIf(Me.Controls("CheckBox" & i).Value = True, TextBox7, "")
    Next i

A+

Génial ça marche !

Merci, beaucoup !!!

PS : Je ne met pas tout de suite en résolu, si quelqu'un a une idée pour la question 2

Rechercher des sujets similaires à "boucle checkbox"