thibaultanguy
Messages postés45Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention16 novembre 2012
-
27 oct. 2010 à 19:52
thibaultanguy
Messages postés45Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention16 novembre 2012
-
29 oct. 2010 à 08:40
Bonjour à tous,
Sous excel, je selectionne une cellule. Dans cette cellule, je dois y placer deux infos différente (ex:une cellule donne la valeur 1/2 congé, l'autre la valeur 1/2 RTT) parmis plusieurs choix d'absence. J'ai donc créé un userform avec plusieurs case à cocher. Chacune doit insérer dans la seule cellule sélectionnée sa propre valeur. Ma question est la suivante : Quel est le code le mieux approprié de manière à ce que lorsque deux choix sont fait(case cochée), et deux seulement la cellule soit incrémentée et qu'un troisième choix ou plus soit verrouillé sur l'userform?
Merci d'avance
eric
nyko283
Messages postés27Date d'inscriptionsamedi 21 novembre 2009StatutMembreDernière intervention16 février 20111 28 oct. 2010 à 17:35
Bonjour,
Je te conseillerais te faire une procedure dans un module puis que tu fasse appel a cette procédure à chaque fois qu'une valeur de checkbox est modifiée.
dans ta procédure tu commence par:
- une boucle qui parcourt toutes les checkbox avec un compteur que tu incrémentes à chaque fois que la valeur de la checkbox est a "True"
- une fois la boucle terminée si ton compteur est inferier à 2 alors :
- Boucle sur tous les checkbox pour passer la proprièté Visible à "True"
sinon
- boucle sur toutes les checkbox si valeur a "True" alors proprièté Visible a "True" sinon a "False"
Nicolas
Développeur en herbes
mais l'herbe pousse tranquilement
thibaultanguy
Messages postés45Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention16 novembre 2012 28 oct. 2010 à 19:41
Merci Nyko d'avoir pris la peine de me répondre !
Je suis sûr que ton idée est la bonne soluce. Simplement, je suis un développeur en herbe, et de là, à mettre ce code en place, j'en suis à des années lumières....
Mais c'est vraiment sympa de t'être intéressé à ma demande.
Merci Nyko
nyko283
Messages postés27Date d'inscriptionsamedi 21 novembre 2009StatutMembreDernière intervention16 février 20111 28 oct. 2010 à 20:20
Bonjour Eric,
POur la boucle je te propose ceci :
Sub limiteReponse()
Dim Ctrl As Control
Dim I As Integer
I = 0
For Each Ctrl In UserForm1.Controls
If TypeName(Ctrl) = "CheckBox" Then
If Ctrl.Value = True Then
I = I + 1
End If
End If
Next Ctrl
If I >= 2 Then ' code si 2 checkbox est cocher passer toutes les
'checkbox dont la valeur est à False en Visible=False
Else ' I<2 alors' code si moins de 2 checkbox cocher
'Passer toutes les Checkbox en visible=True
End If
Set Ctrl = Nothing
End Sub
la tu n'a plus Qu'a t'inspirer de la boucle pour modifier la valeur des checkbox
Nicolas
Développeur en herbes
mais l'herbe pousse tranquilement
thibaultanguy
Messages postés45Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention16 novembre 2012 29 oct. 2010 à 08:40
Merci Nyko d'avoir fait le travail pour moi, surtout que j'en aurais été incapable. Je vais de ce pas adapter cette boucle et voir comment tout cela se comporte. Je ne manquerai pas de t'informer. Encore merci pour ton aide précieuse.
A+