Lier une Checkbox avec une cellule sur VBA

drannok -  
Pyvoudelet Messages postés 179 Statut Membre -
Bonjour à tous,

ma question va surement paraitre evidente pour la plupart d'entre vous mais... étant novice sur VBA je me lance !

Voila mon problème :
J'ai créé une boite de dialogue via un userform sur VBA.
Dans ce userform j'ai posé 2 questions et inséré deux checkbox (Si elle sont cochées c'est que la réponse à la question correspondante est "oui")
J'aimerais lier chacune de ces Checkbox à une cellule (admettons A1 pour la Checkbox 1 et A2 pour la CHeckbox 2). Ainsi, l'utilisateur pourra revenir sur la boite de dialogue plus tard mais ces précédentes réponses resteront cochées...

Quelqu'un a t il une solution à mon problème ??
J'ai trouvé la fonction linkedcell mais je ne sais pas l'utiliser... please !

3 réponses

gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

Pour que cela fonctionne, il te faut mettre un peu de code dans ton userform, ceci par exemple :

Private Sub UserForm_Initialize()
If Range("A1").Value = "oui" Then
    CheckBox1.Value = True
Else
    CheckBox1.Value = False
End If
If Range("A2").Value = "oui" Then
    CheckBox2.Value = True
Else
    CheckBox2.Value = False
End If
End Sub
Private Sub CheckBox1_Click()
If CheckBox1.Value Then
    Range("A1").Value = "oui"
Else
    Range("A1").Value = "non"
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value Then
    Range("A2").Value = "oui"
Else
    Range("A2").Value = "non"
End If
End Sub

Quand tu lances ton formulaire, les chekbox prennent la valeur des cellules et quand tu coches et/ décoches tes cellules sont mises à jour.
3
drannok
 
Merci beaucoup !
Je n'avais pas du tout pensé a cette solution !
Je ne pourrais malheureusement essayer que lundi au boulot ... (enfin je vais pas me plaindre c'est le weekend !)

Par contre je me demande :
Quand tu mets :
Private Sub UserForm_Initialize()
Je tape ça où ? dans le code du userform ? c'est possible ça ? (si je clique sur la checkbox je tape dans le code de la checkbox, mais je ne sais plus si je peux en faire de même pour la userform ?)
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
Re

Tout ceci est effectivement dans le code du userform qui comprend le code associé à chaque objet composant du userform. Tu vas aussi avoir ton code pour les boutons (valider ou quitter par exemple).

Tu peux donc copier et coller le total pour voir comment cela fonctionne, si tu as les mêmes noms bien sûr.
0
drannok
 
Merci !
0
Pyvoudelet Messages postés 179 Statut Membre 12
 
Click droit sur ta checkbox, "Format de controle" onglet "Controle" et rentre la cellule que tu veux liée 'cette checkbox.

Ainsi dans cette cellule s'affichera la valeur "Vrai" ou "Faux" en fonction que si la case est cochée ou pas!

Tu pourras te reservir de cette valeur dans n importe qu elle formule. Si tu veux pas que la valeur apparaisse, ecrit la en blanc sur fond rempli en blanc !!

et voila! un peu plus simple qu une macro. mais je sais pas si ca te convient!
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour,

Tu as oublié ceci : J'ai créé une boite de dialogue via un userform sur VBA. et ta fonction ne s'applique pas aux checkbox dans un userform.
0
Pyvoudelet Messages postés 179 Statut Membre 12
 
effectivement! dsl pour l intrusion
0