J'aurais maintenant besoin du contraire mais n'arrive pas à l'adapter!
Si l'utilisateur a saisie dans la cellule [A1] -> "1", lorsqu'on cliquera sur le bouton "saisie", dans l'Userform apparaissant :
--> la CheckBoxSem1 devra être coché
--> sinon la CheckBoxSem1 devra être décoché
Voici mon code actuel (inspiré de la solution de la dernière fois), mais cela ne fonctionne pas
Code:
Private Sub CommandButtonValidSaisie_Click()
For i = 1 To 9
If Range("A" & i) = 1 Then
[COLOR="Red"][U]Controls("CheckBoxSem" & i).Value[/U][/COLOR] = True
Else
[COLOR="Red"][U]Controls("CheckBoxSem" & i).Value[/U][/COLOR] = False
Next i
Unload SaisieHoraires
End Sub
Je disais sur un autre fil que je ne comprenais pas ceci.
Code:
For i = 1 To 9
Controls("CheckBoxSem" & i).Value = [COLOR="Red"][B]([/B][/COLOR]Range("A" & i) [COLOR="Red"][B]= 1)[/B][/COLOR]
next i
Mais c'est bon, j'ai compris la subtilité. Ton code est vraiment sympa et très concis.
Pour ceux qui lirait ce post, intéressé par la solution mais ne la comprennant pas, voici plus de détail :
Quasiment le même code en légèrement plus détaillé :
Code:
For i = 1 To 9
Controls("CheckBoxSem" & i).Value = IIf(Range("A" & i) = 1, [COLOR="Red"][B]1[/B][/COLOR], [COLOR="Blue"][B]0[/B][/COLOR])
next i
La même chose en un peu plus clair :
Code:
For i = 1 To 9
Controls("CheckBoxSem" & i).Value = IIf(Range("A" & i) = 1, [COLOR="Red"][B]"TRUE"[/B][/COLOR], [COLOR="Blue"][B]"FALSE"[/B][/COLOR])
next i
Toujours la même chose en beaucoup plus clair mais plus long :
Code:
For i = 1 To 9
If Range("A" & i) = 1 Then
Controls("CheckBoxSem" & i).Value = [COLOR="Red"][B]True[/B][/COLOR]
Else
Controls("CheckBoxSem" & i).Value = [COLOR="Blue"][B]False[/B][/COLOR]
next i
Pour information :
IIF est la contraction de IF - THEN - ELSE - END IF