Faire apparaitre une case à cocher si une autre case est cochée

Bonjour,

Je m'excuse si la question a déjà été posée sur ce forum, si tel est le cas je ne l'ai pas trouvée.

Je voudrais que ma Case à cocher n°2 soit invisible, et qu'elle n'apparaisse seulement que si la Case à cocher n°1 est cochée, et qu'elle disparaisse si on la décoche.

Pour résumer, si Case à cocher 1 = VRAI, faire apparaitre Case à cocher n°2, si Case à cocher 1 = FAUX, masquer Case à cocher n°2

Je débute en VBA et macro, j'essaie de comprendre au mieux... mais j'ai du mal pour faire ça. J'ai essayé de faire une macro pour qu'elle apparaisse si on clique sur la Case n°1, mais elle se place n'importe où, et elle ne disparait pas si on décoche la Case n°1.

Merci beaucoup !!

31classeur1.xlsx (12.71 Ko)

Bonjour

Je m'excuse si la question a déjà été posée sur ce forum, si tel est le cas je ne l'ai pas trouvée.

Il y a pas mal de sujet traités là dessus si vous faites une recherche sur le mot Cocher ou Case à cocher

Je débute en VBA et macro, j'essaie de comprendre au mieux... mais j'ai du mal pour faire ça. J'ai essayé de faire une macro pour qu'elle apparaisse si on clique sur la Case n°1, mais elle se place n'importe où, et elle ne disparait pas si on décoche la Case n°1.

A priori si vous voulez utiliser VBA évitez les objets.
On peut très bien mettre une case à cocher par click dans une cellule en utilisant la police Wingdings
Si la case à cocher 1 est cochée, la case à cocher 2 doit être cochée ou pas ?
Le mieux serait de comprendre l'utilisation finale entre chacune des cases à cocher


Edit : voici un exemple se rapprochant de ce que vous voulez.

- Dans votre Feuil1, supprimez tous les objets de case à cocher que vous avez placé en colonne A et D
- Une fois fait, faites un click droite sur l'onglet "Feuil1"
- choisissez l'option "visualiser le code"
- coller le code ci-dessous dans la fenêtre

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("A:A")) Is Nothing Then
    With Target
        If .Value = "R" Then
            .Font.Name = "Wingdings 2"
            .Font.Size = 12
            .Value = "£"
            .Offset(0, 1).Value = vbNullString
        ElseIf .Value = "£" Then
            .Value = "R"
            With .Offset(0, 1)
                .Value = "£"
                .Font.Name = "Wingdings 2"
                .Font.Size = 12
            End With
        End If
    End With
End If
End Sub

Pour l'utilisation, cliquez dans les cellules de la colonne A. Cela va cocher ou décocher en colonne A et faire apparaitre ou non une case à cocher en colonne B

Crdlt

Bonjour,

Merci beaucoup pour votre réponse rapide !

Ce n'était pas tout à fait ça que je recherchais, mais à force d'essayer j'ai fini par réussir ce que je voulais faire. Une fois qu'on a compris ça parait très simple.

Je le précise ici pour les prochains qui se poseront la même question :

Sub Macro1()

    valeur_case1 = Range("D1").Value

    If valeur_case1 = "Faux" Then
        'Masque les cases à cocher
        Feuil1.Shapes("Check Box 2").Visible = False
        Feuil1.Shapes("Check Box 3").Visible = False

    Else
        'fait apparaitre les cases à cocher
        Feuil1.Shapes("Check Box 2").Visible = True
        Feuil1.Shapes("Check Box 3").Visible = True

    End If

End Sub

Merci pour votre aide.

Re

Ok si vous avez trouvé une solution mais de base mettre des objets sur des feuilles ... j'évite ...
Avec VBA on a toujours un souci à un moment ou un autre.
Raison pour laquelle je vous ai proposé cette solution sans mettre des objets

Crdlt

Rechercher des sujets similaires à "apparaitre case cocher cochee"