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 !!
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 SubPour 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 SubMerci 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