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

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 :eek:

Un petit exemple en fichier Excel ci-joint !
 

Pièces jointes

  • Essai.xls
    43.5 KB · Affichages: 103
  • Essai.xls
    43.5 KB · Affichages: 109
  • Essai.xls
    43.5 KB · Affichages: 124

jeremy54000

XLDnaute Nouveau
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 ?
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • Récupérer valeur d'une checkbox liée à une cellule v1.xls
    41.5 KB · Affichages: 188
Dernière édition:

jeremy54000

XLDnaute Nouveau
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
 

jeremy54000

XLDnaute Nouveau
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 ?
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 323
Membres
103 516
dernier inscrit
René Rivoli Monin