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

Récupérer valeur d'une checkbox liée à une cellule...

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 !

jeremy54000

XLDnaute Nouveau
Bonjour à tous,

Voilà, je patauge un peu car je réalise un programme où je dois valider plusieurs "checkbox" pour des critères précis... A l'aide d'une "userform", je valide petit-à-petit ces critères, mais il faut que la "userform" recharge à chaque fois qu'on la redémarre les valeurs de ces "checkbox" liées à mes cellules afin que tout ne se remette pas à zéro à chaque nouvelle validation.

J'ai essayé ce code, mais il ne semble pas marcher avec des cellules auxquelles les "checkbox" attribuent "vrai" / "faux" =

Private Sub UserForm_Initialize()
If Range("A1").Value = "VRAI" Then
CheckBox1.Value = True
Else
CheckBox1.Value = False
End If
End Sub


Pour tenter de "tricher un peu", j'ai repris le résultat de A1 pour faire une condition SI dans C1 =SI(A1=VRAI; "oui"; "-"), mais cela ne marche pas non plus...

Un petit coup de pouce serait gentil 😱

Un petit exemple en fichier Excel ci-joint !
 

Pièces jointes

Re : Récupérer valeur d'une checkbox liée à une cellule...

En fait, je crois avoir résolu le problème : il suffit d'affecter une cellule dans "ControlSource" (dans le menu propriétés sous VBA) de la checkbox... Mais comment se fait-il que le code que j'ai mentionné ne fonctionne ?
 
Re : Récupérer valeur d'une checkbox liée à une cellule...

Bonjour jeremy54000,

En fait la cellule A1 contient une valeur de type logique ou boolean qui vaut soit VRAI soit FAUX. Il faut donc comparer dans le code VBA la valeur de range("A1") non pas à "VRAI" qui est du texte mais à une valeur de type boolean TRUE ou FALSE (puisque VBA est en anglais). Le code ressemblerait à:

Private Sub UserForm_Initialize()
If Range("A1").Value = True Then
CheckBox1.Value = True
Else
CheckBox1.Value = False
End If
End Sub


On peut le réduire à une seule ligne:

Private Sub UserForm_Initialize()
CheckBox1= Range("A1")
End Sub
 

Pièces jointes

Dernière édition:
Re : Récupérer valeur d'une checkbox liée à une cellule...

Merci mapomme...

En fait, le code est très simple à utiliser...

Quand on cherche à faire plus compliqué... Aïe, aïe, aïe...

Comme j'ai plusieurs sheets, je suppose que je dois ajouter des petites choses comme :

Private Sub UserForm_Initialize()
CheckBox1= Sheet("Feuil2").Range("A1")
End Sub
 
Re : Récupérer valeur d'une checkbox liée à une cellule...

(re)Bonjour,

Effectivement, il vaut mieux préciser la feuille d'origine des données (j'avais supposé qu'il s'agissait de la feuille active)
 
Re : Récupérer valeur d'une checkbox liée à une cellule...

(re)Bonjour,

Effectivement, il vaut mieux préciser la feuille d'origine des données (j'avais supposé qu'il s'agissait de la feuille active)

Merci beaucoup 🙂 Par contre, il y a juste un petit détail maintenant qui me gêne quelque peu...
Lorsque je valide en me trouvant sur une autre sheet que celle où il faut valider les données, je finis par me retrouver sur cette sheet alors que je me trouvais sur une autre. Comment empêcher cela ?
 
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…