Je suis entrain de réaliser un tableur pour réaliser des documents simplifiés. Les documents en question sont des fiches de données et de sécurité de produits chimiques mais les FDS sont difficiles à la lecture donc je souhaite les simplifier.
J'ai un soucis dans la gestion des doublons de mes pictogrammes de produits chimiques. En effet j'ai réussi à gérer leur affichage (dans l'onglet "FDS_simplifiée") en fonction du contenu de la cellule de référence mais je n'arrive pas à faire en sorte que le pictogramme ne s'affiche qu'une fois.
Tout d'abord JHA merci pour ta proposition. J'ai regardé le fichier mais en changeant de produit dans l'onglet "FDS_simplifiée" notamment avec le produit C la gestion des images ne fonctionne pas. En effet le produit C n'a aucun pictogramme or sur l'onglet "FDS_simplifiée" il en apparaît 5.
C'est une formule matricielle, il faut la valider avec les 3 touches Ctrl+Maj+Entrée si on ne dispose pas de la version 2021 et 365.
Donc pour toi, inutile de valider avec les 3 touches.
C'est une formule matricielle, il faut la valider avec les 3 touches Ctrl+Maj+Entrée si on ne dispose pas de la version 2021 et 365.
Donc pour toi, inutile de valider avec les 3 touches.
Avec la version 2019, je n'ai pas de pictogramme pour les produits A, B et D.
Pour info j'ai fait un "suppr" sur toutes les cellules vides de l'onglet "Feuil2" de le plage "B10:H18" afin de m'assurer qu'il n'y ai rien dans ces cellules.
As-tu regardé les formules en colonne "V", elles donnent des "0" sur ces produits?
Avec la version 2019, je n'ai pas de pictogramme pour les produits A, B et D.
Pour info j'ai fait un "suppr" sur toutes les cellules vides de l'onglet "Feuil2" de le plage "B10:H18" afin de m'assurer qu'il n'y ai rien dans ces cellules.
As-tu regardé les formules en colonne "V", elles donnent des "0" sur ces produits?
Bonjour JHA et encore bravo pour cette magnifique formule.
J'ai supprimé mon message précédent car j'ai constaté qu'il était inutile mais je l'avais écrit dans un premier temps après avoir connu un phénomène bizarre.
Je m'explique :
Lorsque tu as posté ta deuxième formule (corrective), je n'ai pas re-téléchargé le fichier que tu avais joint, mais j'ai simplement corrigé la formule dans le dossier original et là ... 5 pictos ! ... d'où ma proposition de modification, qui, au passage, fonctionne aussi mais complique inutilement.
Après avoir posté, j'ai quand même téléchargé ton deuxième fichier ... qui marche nickel.
Je n'ai pas cherché à comprendre davantage, j'ai supprimé mon post.
Encore respect pour cette belle formule !
Je tiens à vous remercier pour la solution proposée, c'est parfait. Juste pour ma culture personnelle, pouvez-vous m'expliquer la construction de la formule pour que je puisse si besoin n'en inspirer pour de prochains travaux?
Donc on utilise la fonction "index" pour retourner les datas de la plage "Feuil2!$A$10:$A$18" suivant les données des colonnes "Feuil2!$B$10:$H$18".
On commence par rechercher la colonne de recherche avec la fonction "DECALER" suivant le critère en "FDS_simplifée!$J$1"
DECALER(Feuil2!$A$9;1;EQUIV(FDS_simplifée!$J$1;Feuil2!$B$1:$H$1;0);9)
Ref Feuil2!$A$9
ligne on descent d'une ligne "1"
colonne EQUIV(FDS_simplifée!$J$1;Feuil2!$B$1:$H$1;0) on recherche le critère sur la plage "Feuil2!$B$1:$H$1"
Hauteur cette plage à 9 lignes. Exemple pour le produit "C" cela renvoie "{0;0;"Corrosif";0;"Environnement";0;0;0;0}"
Cette formule décaler est complété par la fonction texte() cela renvoie:
"{FAUX;FAUX;VRAI;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX}"
maintenant la plage est définie, on peut désormais rechercher la première valeur "VRAI" puis en donner la position avec petite.valeur.
PETITE.VALEUR({FAUX;FAUX;3;FAUX;5;FAUX;FAUX;FAUX;FAUX};1)) soit la 3ème ligne.
ca qui revient à INDEX(Feuil2!$A$10:$A$18;3)
si il n'y a plus de "vrai", la fonction "si" retournera "0"
Pas simple d'expliquer cette formule matricielle mais j'espère que cela te t'aidera.
Donc on utilise la fonction "index" pour retourner les datas de la plage "Feuil2!$A$10:$A$18" suivant les données des colonnes "Feuil2!$B$10:$H$18".
On commence par rechercher la colonne de recherche avec la fonction "DECALER" suivant le critère en "FDS_simplifée!$J$1"
DECALER(Feuil2!$A$9;1;EQUIV(FDS_simplifée!$J$1;Feuil2!$B$1:$H$1;0);9)
Ref Feuil2!$A$9
ligne on descent d'une ligne "1"
colonne EQUIV(FDS_simplifée!$J$1;Feuil2!$B$1:$H$1;0) on recherche le critère sur la plage "Feuil2!$B$1:$H$1"
Hauteur cette plage à 9 lignes. Exemple pour le produit "C" cela renvoie "{0;0;"Corrosif";0;"Environnement";0;0;0;0}"
Cette formule décaler est complété par la fonction texte() cela renvoie:
"{FAUX;FAUX;VRAI;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX}"
maintenant la plage est définie, on peut désormais rechercher la première valeur "VRAI" puis en donner la position avec petite.valeur.
PETITE.VALEUR({FAUX;FAUX;3;FAUX;5;FAUX;FAUX;FAUX;FAUX};1)) soit la 3ème ligne.
ca qui revient à INDEX(Feuil2!$A$10:$A$18;3)
si il n'y a plus de "vrai", la fonction "si" retournera "0"
Pas simple d'expliquer cette formule matricielle mais j'espère que cela te t'aidera.