Faire apparaitre une case à cocher si cellule non vide
Résolu/Fermé
Thmoney-team
Messages postés
13
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
5 novembre 2013
-
8 oct. 2013 à 18:08
swande Messages postés 7 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 11 février 2016 - 11 févr. 2016 à 20:09
swande Messages postés 7 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 11 février 2016 - 11 févr. 2016 à 20:09
A voir également:
- Faire apparaitre une case à cocher si cellule non vide
- Excel cellule couleur si condition texte - Guide
- Apparaitre hors ligne instagram - Guide
- Aller à la ligne dans une cellule excel - Guide
- Formate pour taxer client frigo vide ✓ - Forum Matériel & Système
- Comment supprimer une page vide sur word - Guide
15 réponses
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
Modifié par Mike-31 le 8/10/2013 à 18:33
Modifié par Mike-31 le 8/10/2013 à 18:33
Bonsoir,
tes case à cocher sont bien des cases de la barre formulaire, pas des activex CheckBox
et cela concerne combien de contrôles (de cases à cocher)
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
tes case à cocher sont bien des cases de la barre formulaire, pas des activex CheckBox
et cela concerne combien de contrôles (de cases à cocher)
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Thmoney-team
Messages postés
13
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
5 novembre 2013
8 oct. 2013 à 19:49
8 oct. 2013 à 19:49
Oui, se sont ceux dans l'onglet développeur sous l'option contrôle de formulaire. Pour ce qui est du nombre, je dirais une vingtaine.
Merci !
Merci !
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
Modifié par Mike-31 le 8/10/2013 à 23:01
Modifié par Mike-31 le 8/10/2013 à 23:01
Re,
il est possible d'écrire un code plus technique, mais certainement plus difficile à adapter. en supposant que ta colonne de saisie est le colonne B et que sur la ligne 3 tu crées une case à cocher nommée Case à cocher 3 (mais tu peux les renommer à ta guise
la ligne de code serait
If Target.Address(0, 0) = "B3" And Target <> "" Then Shapes("Case à cocher 3").Visible = True '
If Target.Address(0, 0) = "B3" And Target = "" Then Shapes("Case à cocher 3").Visible = False
si dessous un exemple pour gérer les cellules B3, B4, B5 et B6 pour des cases à cocher nommées Case à cocher 3, Case à cocher 4, Case à cocher 5 et Case à cocher 6
ce code est à placer dans les propriétés feuille (clic droit sur l'onglet de la feuille concernée/Visualiser le code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address(0, 0) = "B3" And Target <> "" Then Shapes("Case à cocher 3").Visible = True '
If Target.Address(0, 0) = "B3" And Target = "" Then Shapes("Case à cocher 3").Visible = False
If Target.Address(0, 0) = "B4" And Target <> "" Then Shapes("Case à cocher 4").Visible = True '
If Target.Address(0, 0) = "B4" And Target = "" Then Shapes("Case à cocher 4").Visible = False
If Target.Address(0, 0) = "B5" And Target <> "" Then Shapes("Case à cocher 5").Visible = True '
If Target.Address(0, 0) = "B5" And Target = "" Then Shapes("Case à cocher 5").Visible = False
If Target.Address(0, 0) = "B6" And Target <> "" Then Shapes("Case à cocher 6").Visible = True '
If Target.Address(0, 0) = "B6" And Target = "" Then Shapes("Case à cocher 6").Visible = False
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
il est possible d'écrire un code plus technique, mais certainement plus difficile à adapter. en supposant que ta colonne de saisie est le colonne B et que sur la ligne 3 tu crées une case à cocher nommée Case à cocher 3 (mais tu peux les renommer à ta guise
la ligne de code serait
If Target.Address(0, 0) = "B3" And Target <> "" Then Shapes("Case à cocher 3").Visible = True '
If Target.Address(0, 0) = "B3" And Target = "" Then Shapes("Case à cocher 3").Visible = False
si dessous un exemple pour gérer les cellules B3, B4, B5 et B6 pour des cases à cocher nommées Case à cocher 3, Case à cocher 4, Case à cocher 5 et Case à cocher 6
ce code est à placer dans les propriétés feuille (clic droit sur l'onglet de la feuille concernée/Visualiser le code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address(0, 0) = "B3" And Target <> "" Then Shapes("Case à cocher 3").Visible = True '
If Target.Address(0, 0) = "B3" And Target = "" Then Shapes("Case à cocher 3").Visible = False
If Target.Address(0, 0) = "B4" And Target <> "" Then Shapes("Case à cocher 4").Visible = True '
If Target.Address(0, 0) = "B4" And Target = "" Then Shapes("Case à cocher 4").Visible = False
If Target.Address(0, 0) = "B5" And Target <> "" Then Shapes("Case à cocher 5").Visible = True '
If Target.Address(0, 0) = "B5" And Target = "" Then Shapes("Case à cocher 5").Visible = False
If Target.Address(0, 0) = "B6" And Target <> "" Then Shapes("Case à cocher 6").Visible = True '
If Target.Address(0, 0) = "B6" And Target = "" Then Shapes("Case à cocher 6").Visible = False
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Thmoney-team
Messages postés
13
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
5 novembre 2013
9 oct. 2013 à 15:52
9 oct. 2013 à 15:52
Bonjour,
Merci pour cette réponse. Si je comprend bien, je dois coller les lignes que tu as écrites dans "Visualiser le code", fermer le visual basic et lorsque je vais écrire dans la cellule B3, B4, B5 ou B6 une case à cocher va appairaitre ?
Merci encore !
Merci pour cette réponse. Si je comprend bien, je dois coller les lignes que tu as écrites dans "Visualiser le code", fermer le visual basic et lorsque je vais écrire dans la cellule B3, B4, B5 ou B6 une case à cocher va appairaitre ?
Merci encore !
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
9 oct. 2013 à 16:02
9 oct. 2013 à 16:02
Re,
il faut commencer par créer tes cases à cocher et repérer leur noms ou les nommer ensuite tu colle ce code dans les propriétés de ta feuille et tu affectes dans le code une case à cocher à une référence de cellule
il faut commencer par créer tes cases à cocher et repérer leur noms ou les nommer ensuite tu colle ce code dans les propriétés de ta feuille et tu affectes dans le code une case à cocher à une référence de cellule
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Thmoney-team
Messages postés
13
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
5 novembre 2013
9 oct. 2013 à 18:15
9 oct. 2013 à 18:15
Lorsque je ferme la fenêtre du vba, les cases à cocher ne disparaisse. Es ce que je dois les effacer ou ma formule est mal écrite ?
Voici mon classeur : https://www.cjoint.com/?3JjsoZ5uZPI
Merci !
Voici mon classeur : https://www.cjoint.com/?3JjsoZ5uZPI
Merci !
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
9 oct. 2013 à 19:07
9 oct. 2013 à 19:07
Re,
plusieur erreur, pour commencer ta première case à cocher n'est pas Case à cocher 1, mais la Case à cocher 274, le nom de la case s'affiche dans la barre d'adresse en haut à gauche de ta feuille lorsque tu fais un clic droit sur la case.
ensuite tu utilise la syntaxe
Private Sub Worksheet_Activate()
ce qui ne va pas avec le code fait pour la syntaxe
Private Sub Worksheet_Change(ByVal Target As Range)
alors que veux tu faire, que la case s'affiche ou se masque lorsque tu interviens colonne F ou faut il faire une boucle pour contrôler chaque cellule de la colonne F et agir en conséquence lorsque tu actives la feuille ou lancer la procédure avec un bouton
plusieur erreur, pour commencer ta première case à cocher n'est pas Case à cocher 1, mais la Case à cocher 274, le nom de la case s'affiche dans la barre d'adresse en haut à gauche de ta feuille lorsque tu fais un clic droit sur la case.
ensuite tu utilise la syntaxe
Private Sub Worksheet_Activate()
ce qui ne va pas avec le code fait pour la syntaxe
Private Sub Worksheet_Change(ByVal Target As Range)
alors que veux tu faire, que la case s'affiche ou se masque lorsque tu interviens colonne F ou faut il faire une boucle pour contrôler chaque cellule de la colonne F et agir en conséquence lorsque tu actives la feuille ou lancer la procédure avec un bouton
Thmoney-team
Messages postés
13
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
5 novembre 2013
9 oct. 2013 à 19:46
9 oct. 2013 à 19:46
Wow, merci beaucoup ! Sa fonctionne parfaitement !
Bonne journee
Bonne journee
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
9 oct. 2013 à 19:51
9 oct. 2013 à 19:51
Re,
Si tes attentes sont satisfaites passe le statut de la discussion en résolu, ou confirme le moi que je le fasse pour toi
Si tes attentes sont satisfaites passe le statut de la discussion en résolu, ou confirme le moi que je le fasse pour toi
Bonjour,
J'ai sensiblement besoin de la même macro, mais j'ai une variante différente.
Je m'explique:
Cette macro fonctionne très bien en temps normal (cad que si j'entre manuellement dans la cellule cible B3 "1" la case à cocher apparaît et que si j'entre manuellement "0" dans la cellule B3, la case à cocher disparaît). Cependant, ma cellule B3 contient une formule "si" qui envoie comme réponse "1" ou "0" et pour une raison que j'ignore cette formule ne fait pas fonctionner la macro, malgré le fait que la formule renvoie le résultat 1 si vrai et 0 si faux.
Auriez-vous une autre solution à proposer?
Merci,
J'ai sensiblement besoin de la même macro, mais j'ai une variante différente.
Je m'explique:
Cette macro fonctionne très bien en temps normal (cad que si j'entre manuellement dans la cellule cible B3 "1" la case à cocher apparaît et que si j'entre manuellement "0" dans la cellule B3, la case à cocher disparaît). Cependant, ma cellule B3 contient une formule "si" qui envoie comme réponse "1" ou "0" et pour une raison que j'ignore cette formule ne fait pas fonctionner la macro, malgré le fait que la formule renvoie le résultat 1 si vrai et 0 si faux.
Auriez-vous une autre solution à proposer?
Merci,
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
10 févr. 2016 à 19:52
10 févr. 2016 à 19:52
Bonsoir,
certainement un problème de format, il faudrait avoir ta formule complète et encore mieux le fichier pour voir.
essaye de mettre à la fin de ta formule conditionnelle *1 (multiplier par 1)
certainement un problème de format, il faudrait avoir ta formule complète et encore mieux le fichier pour voir.
essaye de mettre à la fin de ta formule conditionnelle *1 (multiplier par 1)
swande
Messages postés
7
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
11 février 2016
10 févr. 2016 à 20:45
10 févr. 2016 à 20:45
voici un exemple de ce que j'essaie de faire
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
10 févr. 2016 à 20:50
10 févr. 2016 à 20:50
Re,
Oui mais à part que tu n'as pas joint ton fichier, clic sur ce lien, puis sur parcourir pour sélectionner ton fichier, sur créer le lien et coller dans une réponse le lien généré
https://www.cjoint.com/
Oui mais à part que tu n'as pas joint ton fichier, clic sur ce lien, puis sur parcourir pour sélectionner ton fichier, sur créer le lien et coller dans une réponse le lien généré
https://www.cjoint.com/
swande
Messages postés
7
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
11 février 2016
10 févr. 2016 à 20:53
10 févr. 2016 à 20:53
http://www.cjoint.com/c/FBkt0pIKg8f
Merci de ton aide, j'apprivoise le site.
Merci de ton aide, j'apprivoise le site.
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
10 févr. 2016 à 22:18
10 févr. 2016 à 22:18
Re,
Si je comprends bien ta demande, essaye avec ce code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address(0, 0) = "C3" And Target = 1 Then Shapes("Case à cocher 1").Visible = True '
If Target.Address(0, 0) = "C3" And Target <> 1 Then Shapes("Case à cocher 1").Visible = False
End Sub
si ce n'est pas ce que tu cherches, explique tes attentes
Si je comprends bien ta demande, essaye avec ce code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address(0, 0) = "C3" And Target = 1 Then Shapes("Case à cocher 1").Visible = True '
If Target.Address(0, 0) = "C3" And Target <> 1 Then Shapes("Case à cocher 1").Visible = False
End Sub
si ce n'est pas ce que tu cherches, explique tes attentes
swande
Messages postés
7
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
11 février 2016
10 févr. 2016 à 22:49
10 févr. 2016 à 22:49
Ce n'est pas tout à fait ça.
je remets un fichier avec exactement ce que j'aimerais et avec la bonne macro en fonction de la cellule D5. Je n'arrive pas à comprendre pourquoi la case à cocher n'apparaît pas étant donné que la cellule D5 <>""
https://www.cjoint.com/c/FBkvWeuakHf
je remets un fichier avec exactement ce que j'aimerais et avec la bonne macro en fonction de la cellule D5. Je n'arrive pas à comprendre pourquoi la case à cocher n'apparaît pas étant donné que la cellule D5 <>""
https://www.cjoint.com/c/FBkvWeuakHf
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
11 févr. 2016 à 08:11
11 févr. 2016 à 08:11
Re,
ton code ne peut fonctionner parce que l'action Worksheet_Change(ByVal Target As Range) qui se fait sur la cellule C3, C5 comme D5 n'est le résultat d'une formule, pas de l'action Change
ton code ne peut fonctionner parce que l'action Worksheet_Change(ByVal Target As Range) qui se fait sur la cellule C3, C5 comme D5 n'est le résultat d'une formule, pas de l'action Change
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
Modifié par Mike-31 le 11/02/2016 à 09:39
Modifié par Mike-31 le 11/02/2016 à 09:39
Re,
Supprime la formule en D5 inutile, remplace ton code par celui ci et teste
et si tu veux tester la cellule C3 ce qui est le plus logique parce que c'est cette cellule qui conditionne C5
Supprime la formule en D5 inutile, remplace ton code par celui ci et teste
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [C5] = "Amendement" Then Shapes("Case à cocher 1").Visible = True '
If [C5] <> "Amendement" Then Shapes("Case à cocher 1").Visible = False
End Sub
et si tu veux tester la cellule C3 ce qui est le plus logique parce que c'est cette cellule qui conditionne C5
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [C3] = 1 Then Shapes("Case à cocher 1").Visible = True '
If [C3] <> 1 Then Shapes("Case à cocher 1").Visible = False
End Sub
swande
Messages postés
7
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
11 février 2016
11 févr. 2016 à 15:31
11 févr. 2016 à 15:31
Fantastique! ça marche à merveille et merci pour le petit cours avec les évènements excel
swande
Messages postés
7
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
11 février 2016
11 févr. 2016 à 16:03
11 févr. 2016 à 16:03
Cependant la touche Ctrl Z ne fonctionne plus
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
11 févr. 2016 à 16:51
11 févr. 2016 à 16:51
RE,
ce n'as rien à voir avec le code, Ctrl et Z correspond à Annuler dernière action et Ctrl et Y correspond à rétablir dernière action
encore une fois le code VBA n'a rien à voir avec ce problème redémarre ton ordi voir
ce n'as rien à voir avec le code, Ctrl et Z correspond à Annuler dernière action et Ctrl et Y correspond à rétablir dernière action
encore une fois le code VBA n'a rien à voir avec ce problème redémarre ton ordi voir
swande
Messages postés
7
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
11 février 2016
11 févr. 2016 à 18:10
11 févr. 2016 à 18:10
https://www.cjoint.com/c/FBlrfbqh4Jf
Je crois que ça avoir avec le code, car lorsque j'enlève la macro mon Ctrl Z fonctionne.... Par exemple dans le fichier, si dans le cellule B8, je mets 10 000$ et que je veux calculer selon un montant de 15 000$ pour ensuite revenir au 10 000$ je ne peux pas le faire avec un Ctrl Z (même Ctrl Y ne fonctionne pas).
J'ai déjà redémarrer l'ordi et testé sur un fichier vierge le Ctrl Z et tout fonctionne. Donc, j'ai du mal à expliquer le pourquoi.
Je crois que ça avoir avec le code, car lorsque j'enlève la macro mon Ctrl Z fonctionne.... Par exemple dans le fichier, si dans le cellule B8, je mets 10 000$ et que je veux calculer selon un montant de 15 000$ pour ensuite revenir au 10 000$ je ne peux pas le faire avec un Ctrl Z (même Ctrl Y ne fonctionne pas).
J'ai déjà redémarrer l'ordi et testé sur un fichier vierge le Ctrl Z et tout fonctionne. Donc, j'ai du mal à expliquer le pourquoi.
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
11 févr. 2016 à 18:26
11 févr. 2016 à 18:26
Re,
Modifie le code comme cela voir
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C3]) Is Nothing Then
If [C5] <> "" Then Shapes("Case à cocher 1").Visible = True '
If [C5] = "" Then Shapes("Case à cocher 1").Visible = False
End If
End Sub
Modifie le code comme cela voir
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C3]) Is Nothing Then
If [C5] <> "" Then Shapes("Case à cocher 1").Visible = True '
If [C5] = "" Then Shapes("Case à cocher 1").Visible = False
End If
End Sub
swande
Messages postés
7
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
11 février 2016
11 févr. 2016 à 20:09
11 févr. 2016 à 20:09
Effectivement cela fonctionne! La seule chose est que je dois sélectionner la case avec mon curseur mais ce n'ai qu'un détail.
Mille fois merci!!!!
Mille fois merci!!!!