Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

CheckBox & i -> quel est l'écriture exacte?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Excel-lent

XLDnaute Barbatruc
Bonjour le forum, les spécialistes du VBA,

Dans le même style que mon précédent post

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

Lieu de l'erreur à mon avis.

Merci d'avance pour vos réponses
 

Pièces jointes

Re : CheckBox & i -> quel est l'écriture exacte?

Bonjour,

Problème résolu entre temps.

La macro était juste mais au mauvaise endroit!

Il fallait la mettre dans :
Private Sub UserForm_Initialize()

et non pas :
Private Sub CommandButtonValidSaisie_Click()

Merci quand même à tous.
 
Re : CheckBox & i -> quel est l'écriture exacte?

Bonsoir Soenda,

Tout d'abord, un grand merci pour ta proposition.

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

Bonne soirée à tous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…