Mettre en couleur si vrai case à cocher ou objet

Bonjour le forum,

Joyeuse fête de fin d'année, et bonne année à tous.

Je cherche à mettre en forme un objet ou directement la case à cocher si celle-ci est vrai, est ce possible ?

Je sais faire pour une cellule mais pour la demande précédente je bloque.

Je joins un classeur en exemple.

Merci à vous

Cdlt

pompaero.

bonjour,

La case à cocher en elle -même n'est ps colorable seule le caption est modifiable ainsi que sa couleur.

A part ça tu peux essayer d'utiliser des objets personnalisés : des pseudos" case à cocher/images" que tu peux switcher à volonté... Je trouve ça un peu "capillo-tracté" mébon quand on aime...

A+.

Bonjour à tous

Pour colorer le fond comme sur ton exemple

Couleurs à adapter

Il faut associer cette macro (sans doute améliorable) à chaque checkbox

Sub CaseCliquer()

    With ActiveSheet.Shapes(Application.Caller)
        .Fill.Visible = msoTrue
        .Fill.Solid
        If Range(.ControlFormat.LinkedCell) = True Then
            .Fill.ForeColor.RGB = RGB(255, 0, 0)
        Else
            .Fill.ForeColor.RGB = RGB(0, 255, 0)
        End If
    End With
End Sub

Bonjour à tous,

on peut aussi utiliser les Checkbox ActiveX avec dans leur évènement click, le code (par exemple pour la checkbox1) :

Private Sub CheckBox1_Click()
CheckBox1.BackColor = IIf(CheckBox1, RGB(197, 224, 178), RGB(251, 228, 213))
End Sub

On peut utiliser les constantes de couleurs au lieu de la fonction RGB:

VbRed, VbGreen....

A+

Bonjour galopin01, 78chris, AlgoPlus

Merci de votre retour,

Je vais tester vos propositions.

AlgoPlus ta version m'as l'aire adapter, mais est-il possible de remplacer une couleur par du transparent ?

j'ai tenté avec BackStyle =0, mais çela bug.

Cdlt

pompaero

effectivement, jouer sur BackStyle ne fonctionne pas à 100%

on peut rester sur BackColor et lui affecter la couleur des cellules sur lesquelles la checkbox est placée . le rendu sera le même que l'utilisation de BackStyle =0

Bonjour,

Le soucis c'est qu'en arrière plan il y a une image et non les cellules, c'est pour cela que j'aimerai que les checkbox reviennent transparente.

CheckBox1.BackColor = IIf(CheckBox1, RGB(197, 224, 178), BackStyle =0)

et

CheckBox1.BackColor = IIf(CheckBox1, RGB(197, 224, 178), BackColor =0)

rien ne fonctionne.

Comment pourrions nous faire...

CheckBox1.BackColor = IIf(CheckBox1, RGB(197, 224, 178), BackStyle =0)

et

CheckBox1.BackColor = IIf(CheckBox1, RGB(197, 224, 178), BackColor =0)

Traduction:

BackColor de la checkbox1 est égal à :

  • couleur RGB(197, 224, 178) si Checkbox1 cochée
  • BackStyle =0 ou BackColor =0 si Checkbox1 non cochée. BackStyle =0 ou BackColor =0 est soit vrai soit faux

Ca ne peut donc fonctionner !! on ne peut pas attribuer la valeur vrai ou faux à CheckBox1.BackColor !!

Syntaxiquement le code suivant est correct (?), mais ne fonctionne pas

Private Sub CheckBox1_Click()
  CheckBox1.BackStyle = IIf(CheckBox1, 1, 0)
End Sub

Pas de solution donc

Bon... tampis alors, je vais voir pour tenter une autre solution.

Merci pour tout.

Passe de bonne fêtes de fin d'année.

Cdlt

pompaero

BOnjour

Qure ma proposition on peut jouer je pense (pas testé) sur

.Fill.Visible = msoTrue à passer à fmsofalse

Rechercher des sujets similaires à "mettre couleur vrai case cocher objet"