Cocher une checkbox si condition est remplie dans une case
Bonjour à tous,
Débutante sur Excel/VBA, je ne trouve pas la réponse à ma problématique (si elle existe).
Dans le cadre de mon travail, je dois mettre en place un classeur Excel disposant de deux feuilles : une contenant la base de données des produits, avec la référence produit qui est unique et les caractéristiques de chaque produit (selon les colonnes), l'autre contenant un modèle de fiche présentation produit dont la finalité est de récapituler de manière esthétique les informations remplies dans la base de données (le but est d'imprimer cette fiche).
Je souhaiterais mettre en place des cases qui sont cochées ou non selon les informations présentes dans la base de données. Par exemple, si mon produit A est vegan, alors la case vegan sera cochée.
Il faut savoir que dans la feuille excel à imprimer, le remplissage des informations dépend d'une liste déroulante semi-automatique pour les références produit, c'est-à-dire que lorsque l'utilisateur sélectionne le produit C par exemple, la feuille se remplie avec les informations relatives au produit C (obtenues via rechercheV et autres fonctions bien pratiques). C'est une volonté des utilisateurs d'avoir une case à cocher car c'est ceux à quoi ils ont l'habitude de fonctionner.
Je ne sais pas si j'ai correctement réussi à exposer mon problème. Vous trouverez mon fichier simplifié (car données confidentielles).
Dans l'attente d'une réponse,
Merci d'avance.
Bonjour
Je souhaiterais mettre en place des cases qui sont cochées ou non selon les informations présentes dans la base de données. Par exemple, si mon produit A est vegan, alors la case vegan sera cochée.
Evitez les objets genre cases à cocher ou autre sur votre feuille ainsi que les cellules fusionnées. C'est d'autant plus vrai si l'on fait appel à la programmation VBA
Voyez votre fichier avec les modifications suivantes :
- défusion des colonnes I et J. On ne laisse que la colonne I
- Suppression de la formule Decaler dans le gestionnnaire de Nom et dans la liste déroulante en I7
- Suppression de la case à cocher (objet sur votre feuille). On place une formule RechercheV dans I5 qui va renvoyer une info de case à cocher ou non. Pour se faire, on change la police de caractère que l'on passe en Wingdings 2
- Suppression de la macro qui ne sert plus en feuille Ordonnancement
Faites un test via la liste déroulante
Cordialement
Bonjour Dan,
Merci beaucoup pour votre réponse rapide et claire !
C'est exactement ce que je voulais et je n'avais absolument pas pensé au changement de police.
Je n'ai pas trop compris pour la liste déroulante mais ça simplifie les formules et ça fonctionne donc c'est parfait !
Passez une agréable après-midi.
Je n'ai pas trop compris pour la liste déroulante
Vous êtes en tableau structuré. Pour comprendre :
- Allez dans gestionnaire de nom et regardez le nom "fnom" qui est défini comme ceci --> =BaseDonnee[Nom du vin] au lieu de la formule Decaler.
- La formule utilisée pour votre liste déroulante en I7 de la feuille Ordonnancement est simplifiée et devient "=fnom"
Cela simplifie nettement plutôt que d'utiliser une formule genre =decaler(A11;;;nbval($A:$A)-1)
Crdlt
Edit : si vous voulez faire des cases à cocher via VBA : regardez ce lien--> https://forum.excel-pratique.com/excel/incrementer-des-cases-a-cocher-149727#p923626