XL pour MAC fiche technique et allergenes

finpier34

XLDnaute Nouveau
Bonjour a tous,
je reviens vers vous pour un probleme que je n'arrive pas a résoudre.
je vous laisse le fichier pour plus de clartée.
je souhaiterai pouvoir afficher en bas de page de la fiche technique si il y a un allergene dans le produits indiquer colones B a partir de la cellule 18, en fonction du tableau prealablement rempli sur la feuille mercuriale.
petit detail qui a sont importance, si deux allergenes de meme nature sont dans la FT, il sera indiqué qu'une seul fois bien sûr.
merci de prendre un moment pour mon probleme et vous souhaite une excellente journée
Gilles
 

Pièces jointes

  • ft essai .xlsx
    58.3 KB · Affichages: 117

vgendron

XLDnaute Barbatruc
Hello
un essai en PJ avec fonction personnalisée..
attention aux espaces qui apparaissent dans tes textes.. j'en ai supprimé.. mais peut etre pas tous
"Farine" est différent de "Farine "
 

Pièces jointes

  • ft essai .xlsm
    60.2 KB · Affichages: 41

finpier34

XLDnaute Nouveau
salut,
je ne comprend pas!! les allergenes ne changent pas en fonction des aliments indiqués dans la colonne de B18 a B52 et en fonction du tableau des allergenes de la feuille nommé mercuriale..
meme si il n'a rien indiqué, des allergènes sont inscris dans le tableau.
merci de prendre du temps pour moi
gilles
 

finpier34

XLDnaute Nouveau
quand j'ai recu le fichier il n'avait rien dans le fichier et je l'ai dit sur ma réponse, donc j'ai continué a travailler dans mon sens.
je travail sur excel avec un MAC, peut être y a t'il une influence quand je l'ouvre !!!
je te remercie de l'interet que tu portes a mon probleme et je suis a l'ecoute d'une solution, je tiens compte de l'aide que tu me m'apportes mais là je n'avais aucune solution..
renvoi moi le fichier et je te tiens au courant.
je n'aurais pas travaillé jusqu'a une heure hier soir si j'avais eu une solution....
 

vgendron

XLDnaute Barbatruc
Comme je te l'ai dit... il y a des espaces partout en fin de texte dans la plupart des cellules..
donc..je les ai tous supprimés ==> faudra prende l'habitude de ne pas en mettre partout sous peine d'avoir toujours le problème.. surtout qu'ils ne sont pas visibles.. mais.. emm.... bien le monde..

et plusieurs autres choses

1) Feuille Mercuriale
il ne sert strictement à rien de créer une TABLE excel avec 200 lignes vides !
l'intérêt d'une table c'est justement de n'avoir QUE des données.. et lorsqu'on en ajoute. la Table s'ajuste automatiquement
autre intérêt.. on peut utiliser les noms d'entete pour les formules
==> La table que j'ai renomée "Tablo" ne fait plus que 93 lignes

2) Feuille FT
en colonne B, tu avais tapé "Filet de Lotte".. sauf que dans la feuile Mercuriale.. c'est "Filet de Lotte " (avec un espace)
==> forcément.. les recherches ne fonctionnent pas. ou alors.. par chance.. selon que la recherche est approximative ou exacte...
==> pour alimenter la colonne B: on utilise une liste de validation qui va chercher les produits directement dans la feuille Mercuriale

idem pour les Allergènes en bas de feuille
quand tu cherches "gluten". alors que l'allèrgène en feuille "mercuriale" s'appelle "CERALES GLUTEN". ca va pas marcher non plus..
==> liste de validation

dans les formules des colonnes DEFGH de la feuille "FT" on utilise les nom d'entete du Tablo..

la fonction personnalisée:
Son code est dans un module standard vba
pour l'utiliser. suffit d'écrire son nom dans une cellule (exactement comme une formule classique Excel: genre "=somme(...)"
 

Pièces jointes

  • ft essai .xlsm
    38.8 KB · Affichages: 49

finpier34

XLDnaute Nouveau
SUPER !!!
le fichier que je viens de recevoir n'a rien a voir avec celui d'hier, je viens d'apprendre beaucoup de chose et le fait de chercher depuis hier m'aide à comprendre mes erreurs.
Tes explications précises me sont précieuses afin de poursuivre mes connaissances d'excel qui sont à des années lumiere de ce que vous proposez sur ce site mais je m'améliore avec des personnes comme toi.
Merci beaucoup pour ton aide et d'avoir eu la patience de reprendre tes explications.
je continu mon fichier et je me permettrai de revenir vers toi si je rencontre d'autres problèmes.
Gilles
 

finpier34

XLDnaute Nouveau
juste une derniere question,
pourquoi quand je crée une deuxieme fiche technique sur le meme fichier, cela change les allergenes de tous les autres?
ne pourrait on pas avoir les allergenes individuel par fiche technique ??
merci d'avance
 

Pièces jointes

  • essai 8.xlsm
    50.4 KB · Affichages: 37

vgendron

XLDnaute Barbatruc
alors ca.. c'est une subtilité des fonctions personalisées (et application.volatile) que je ne maitrise pas.. et qui n'est pas systématique...
enfin. je crois pas.. du coup.. pour contourner;
place ce code dans chaque nouvelle feuille

VB:
Private Sub Worksheet_Activate()
Application.Calculate
End Sub
 

vgendron

XLDnaute Barbatruc
bon.. j'ai la réponse
Ca tient dans la définition de Application.volatile que voici:

Marque comme volatile une fonction définie par l’utilisateur. Une fonction volatile doit être recalculée chaque fois qu’un calcul se produit dans des cellules de la feuille de calcul. Une fonction non volatile est recalculée uniquement lorsque les variables d’entrée changent. Cette méthode n’a aucun effet si elle n’est pas située dans une fonction définie par l’utilisateur servant à calculer une cellule de feuille de calcul.

si je la met en volatile.. le calcul se fait sur la feuille active
mais changer de feuille ne constitue pas un "Calcul"==> donc j'ai l'affichage que j'avais sur la feuille précédente..
il faudrait double cliquer (interprété comme un changemnet) dans une des cellules de la nouvelle feuille active pour que le calcul se refasse

si je la met en NON volatile, le calcul se fait lorsque les variables d'ENTREE changent..
la zone des produits en colonne B n 'est PAS une variable d'entrée===> le calcul ne se refait pas

==> enlever le volatile
==> et mettre la zone de produit en variable d'entrée

==> ce qui donne la PJ
 

Pièces jointes

  • ft essai .xlsm
    45 KB · Affichages: 31

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @finpier34 , @vgendron :),

Un essai avec une formule matricielle en C58 à copier sur les autres cellules :
VB:
=SI(SOMME(SIERREUR(EQUIV($B$18:$B$52;SI(DECALER(Tableau1[PRODUITS];0;5+EQUIV(C57;Tableau1[[#En-têtes];[CEREALES GLUTEN]:[MOLLUSQUES]];0))="O";Tableau1[PRODUITS];"");0);"xxxxx"))>0;"OUI";"-")
 

Pièces jointes

  • finpier34- ft essai- v1.xlsx
    64.4 KB · Affichages: 71
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 083
Messages
2 116 046
Membres
112 642
dernier inscrit
mounamana