XL 2013 interraction avec checkbox

Jacques25

XLDnaute Occasionnel
Bonjour à tous,

J'essaye dans une macro de tester la valeur d'une checkbox (contrôle activeX) présente dans une feuille pour déclencher une action mais je ne trouve pas la syntaxe à utiliser. Vous trouverez le code ci-dessous avec les essais de syntaxe réalisés. Je vous joins un fichier très simple avec le résumé de mes besoins.

Sub Macro1()
With Range("F10").Interior
.Color = 65535
End With
'If CheckBox1.Value = 1 Then
'If CheckBox1.Value = True Then
If Sheets("feuil1").CheckBox1.Value = 1 Then
'If Sheets("feuil1").Shapes.CheckBox1.Value = 1 Then
'If Sheets("feuil1").CheckBox1.Value = True Then
'If Sheets("feuil1").Shapes.CheckBox1.Value = True Then
With Range("F11").Interior
.Color = 64048
End With
[F12] = [A1]
[F13] = [A2]
[F14] = [A3]
[F15] = [A4]
Else
With Range("F11").Interior
.Color = 255
End With

End If
End Sub

Petite question subsidiaire si j'arrive à faire fonctionner la première partie :

Je souhaiterai dans une autre feuille (feuil2 par exemple) cocher une case à cocher (contrôle de formulaire ou ctrl activeX) si la case que j'utilise est cochée (pas dans le fichier)

Merci de votre aide
Bonne journée à tous.

Jack
 

Pièces jointes

  • Essai checkbox.xlsm
    26.8 KB · Affichages: 22

Jacques25

XLDnaute Occasionnel
Bonjour Lone Wolf,

Merci de ton aide et pour ton code. Ca ne fonctionne pas comme je souhaiterai, dans la pratique je souhaite cocher ou non la case, lancer ma macro (qui fait bcp d'autres choses) et si la case est cochée une action se fait et si elle n'est pas cochée l'action ne se fait pas. Le déclencheur ne peut pas être l'action sur la case à cocher ;-)

Pour répondre à ta question, (pas dans le fichier) ==> c'est juste que je n'avais pas mis l'autre case à cocher dans le fichier et que le code n'était pas écrit.

Merci
à plus

Jack
 

Jacques25

XLDnaute Occasionnel
Re,

Je viens de retester :
- quand je coche la checkbox F11 passe au vert et A1 à A4 sont copiés en F12
- quand j'appui sur "lancer la macro" F10 passe au jaune, F11 passe au rouge et la case se décoche

Ce que je souhaite :
- quand je coche la checkbox rien ne se passe
- quand j'appui sur "lancer la macro" F10 passe au jaune et :
- si case cochée F11 passe au vert et copie A1 à A4 en F12
- si case non cochée F11 passe au rouge

Si tu n'as pas le même je ne vois pas d'où ça vient.

Concernant la validation de la 2ème case à cocher, quand je coche la checkbox 1 la checkbox 2 est activée mais pas cochée et quand je décoche la 1 la 2ème est désactivée (grisée). J'ai essayer de changer obj.enabled par obj.value mais ça ne fait pas ce que je souhaite.

Merci
@ plus

Jack
 

Lone-wolf

XLDnaute Barbatruc
Re

Ce n'est pas ce qui est écrit dans le fichier. Tu n'as pas écrit : si case non cochée F11 passe au rouge, et moi je ne suis pas censé le deviner.

Un autre essai. À l'ouverture du classeur la checkbox1 est cochée.
 

Pièces jointes

  • Essai checkbox.xlsm
    34.5 KB · Affichages: 25
Dernière édition:

Jacques25

XLDnaute Occasionnel
Re,

Après quelques essais et reprise de ton code et bien du mal j'ai réussi à faire ce qu'il me fallait. Ca donne qqchose de très simple, j'ai du faire des erreurs de saisie ce matin. Voici le résultat :

Sub macro3()
Range("F10").Interior.Color = vbYellow
If Sheets("feuil1").CheckBox1.Value = True Then
Range("F11").Interior.Color = vbGreen
Range("a1:a4").Copy Range("F12")
Else
Range("F11").Interior.Color = vbRed
End If

End Sub

Merci de ton aide et du temps passé.
Bonne fin d'après midi à tous.

Jack
 

Statistiques des forums

Discussions
315 093
Messages
2 116 138
Membres
112 669
dernier inscrit
Guigui2502