index-equiv ... avec plusieurs mêmes valeurs

blancolie

XLDnaute Impliqué
Bonjour,

dans ce fichier et dans l'onglet devis fanfelle ou chombart , j'ai un soucis de formule ou je ne sais pas quels formules utilisées (suis novice et je cherche à apprendre) :

- Avec @ ds mes formules, si l'élément recherché se situe à la troisième ligne de l'onglet zone de saisie alors dans l'onglet devis chombart, il sera à la troisième ligne (idem pour fanfelle), à la Première et deuxième ligne, il n'y a rien d'inscrit.

-Sans @, la solution recherché se situe bien en B3 ( la première ligne) mais si je tire la poignée de mon tableau pour rajoutée une ligne cela me recopie ma valeur recherché dans tout le tableau alors que dans l'onglet zone de saisie, l'information se touve qu'une fois.

Vous pouvez constater le problème dans le fichier ci-joint.

Ce que je veux et ce que je n'arrive pas à faire, c'est que tout qui est inscrit dans l'onglet zone de saisie soit bien reporté dans les onglets approprié par rapport aux fournisseurs de plantes et ne pas trouver les résultats à la troisième ligne parceque dans zone de saisie, elles sont entrées en troisième position.

selon la position de la plante dans la zone de saisie, elle doit se trouver à la première ligne ainsi de suite. et si je rajoute une ligne dans mon tableau et qu'il n 'y a rien a chercher, je veux rien voir apparaitre dans la nouvelle ligne

PS : il peut avoir plusieurs fois le même massif mais jamais la même plante.

j'espère avoir été clair.

Mon fichier fonctionne comme cela :

l'onglet zone de saisie me permet de sélectionner mes plantes enregistrées dans l'onglet BDD_TECHNIQUE, de choisir les massifs ou elles seront plantés, leurs quantités voulues.

Quand on choisit les plantes grâce à la liste déroulantes,, les informations suivantes sont renseignées : les plantes, les contenant, le fournisseur. nous devons juste renseigné la quantité et le massif comme destination.

Quand tout cela est rentré, les plantes de fanfelles seront dans l'onglet devis de fanfelle ; les plantes de chombart dans l'onglet devis chombart etc etc

Dans l'onglet fanfelle, les autres sont en cours de création, il y a un tableau qui classe les demandes de fleurs par massif et un autre qui synthétise et qui établit par la suite un devis.

Je sais qu'on peut faire cela par vba certains m'ont proposé des exemples qui sont super mais avant d'avoir des fichiers construit en vba, j'aimerais mieux comprendre excel donc je souhaite avant tout que ce fichier soit construit uniquement avec des formules

merci en tout cas.
 

Pièces jointes

  • Demande de Devis-4.xlsx
    47.7 KB · Affichages: 6
Dernière édition:

blancolie

XLDnaute Impliqué
voila dans ce fichier, regarder dans l'onglet devis Chombart.
Vous voyez, j'utilise la mauvaise formule mais en B3 j'ai
Lambinet - Jardinière (Hoche/Notre-Dame)
qui est égal dans la zone de saisie à B8 et vous remarquez que en en B9 nous avons la même chose.

Donc dans l'onglet devis Chombart, je devrais en B4 voir apparaitre la même chose c'est à dire Lambinet - Jardinière (Hoche/Notre-Dame).

Chose que je ne comprends pas, dans l'onglet devis fanfelle, cela marche tres bien apparemment

Pourquoi ?

merci pour votre aide
 

Pièces jointes

  • Demande de Devis-4.xlsx
    48.6 KB · Affichages: 13

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Blancolie,
Dans la feuille Chombard vous n'utilisez pas les mêmes formules puisque celle ci sont matricielles et pas dans Fanfelle.
Si vous supprimez l'aspect matriciel dans Chombard, vous retrouvez des résultats homogènes à Fanfelle.
Par contre, je vous laisse juge des résultats obtenus. ;)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je ne fais que constater. Dans Fanfelle B3 vous avez :
VB:
=SIERREUR(INDEX(T_ZoneSaisie[[#Cette ligne];[Massif/Secteur]];EQUIV("Fanfelle";T_ZoneSaisie[[#Cette ligne];[Fournisseurs]];0));"")
dans Chombard B3 vous avez :
Code:
{=SIERREUR(""&INDEX(T_ZoneSaisie[Massif/Secteur];PETITE.VALEUR(SI(ESTTEXTE(T_ZoneSaisie[Massif/Secteur])*(T_ZoneSaisie[Fournisseurs]="Chombart")*NON(NB.SI($B$2:$B2;T_ZoneSaisie[Massif/Secteur]));LIGNE(T_ZoneSaisie[Massif/Secteur])-2);1));"")}
Dans Chombard, j'ai validé par Entrée seulement et nom par Maj+Ctrl+Entrée et le résultat ressemble à celui de Fanfelle.
D'où ma remarque, comme les deux formules ont une structure différente, il me semble normal que les résultats soient différent, sans porter de jugement sur leur pertinence.
 

blancolie

XLDnaute Impliqué
Bonjour sylvanu, quand j'utilise la formule utilisé dans devis fanfelle sur devis chombart, cela me donne 4 fois le même résultat alors que dans zone de saisie pour le fournisseur Chombart, la valeur cherche est présent que 2 fois.

Je reviens sur la proposition de jHA qui marche très bien. utiliser seul petite valeur n'était pas suffisant. j'avais vu des astuces avec nb.Si .

Merci JHA
 

blancolie

XLDnaute Impliqué
bonsoir JHA,

je cherche à comprendre le début de la formule, surtout a ce niveau <NBVAL($B$2:$B2). NB.Si comte le nombre de fois de chombart, nbval , les cellules non vide comprenant du texte, c'est bien cela ? c'est à ce niveau la <NBVAL($B$2:$B2) , inférieur a 1 cellule c'est ca ? Pourquoi avoir rajouter ligne(1:1) à la fin ? cela représente quoi ?

merci
 
Dernière édition:

JHA

XLDnaute Barbatruc
Bonjour à tous,

Pour que la formule ne retourne que les données "Massif/Secteur" du fournisseur retenu, en début de formule, on compte en colonne "F" le nombre de fournisseur dans l'onglet "Zone de saisie".
VB:
NB.SI(T_ZoneSaisie[Fournisseurs];"Chombart")
Une fois compté, on compare cette valeur au nombre de données "Massif/Secteur" dans la colonne "B" de l'onglet "Devis ...."
Attention, NBVAL compte tout même si il y a une formule qui renvoie "".
On peut également utiliser "LIGNE(1:1)" au lieu de "NBVAL($B$2:$B2)", le but étant d'incrémenter le nombre en automatique lors de la recopie vers le bas.

Code:
NBVAL($B$2:$B2)
Comme tu peux le remarquer le signe "$" est très important, dans la plage "$B$2:$B2" (équivalent à 1) la cellule "$B$2" est figée et la seconde partie de la plage "$B2" va s'incrémenter au fur et à mesure de la recopie vers le bas "NBVAL($B$2:$B3)" (équivalent à 2).
Donc si le nombre de données fournisseur est inférieur au nombre de données "Massif/Secteur" alors on n'affiche plus rien.

Avec la fonction petite.valeur, il faut demander quel rang de donnée à renvoyer (1;2;3;etc...). afin d'avoir 1 sur la première ligne du tableau puis 2 sur la seconde en automatique, on utilise "LIGNE(1:1)" (équivalent à 1).
On peut également utiliser "NBVAL($B$2:$B2)" au lieu de "LIGNE(1:1)", le but étant d'incrémenter le rang de donnée en automatique lors de la recopie vers le bas.

JHA
 

blancolie

XLDnaute Impliqué
bonsoir JHA,

merci pour tes explications, donc quand on utlise petite valeur ou grande valeur, on m'associe avec ligne ou nbvall tout le temps ? c'est ce que je pensais. Par contre si on utilise uniquement index avec l'association d'equiv, nous ne sommes pas obligé d'utiliser la fonction ligne ou c'est fortement conseiller ?

NBVall compte même les formules ? y a t il une fonction pour lui faire croire la cellule est vide ?

merci
 
Dernière édition:

JHA

XLDnaute Barbatruc
Bonjour à tous,

Si tu as une formule qui renvoie "" du genre "=SI(A1>0;"";1)", nbcar(A1) renvoie 0 si le résultat est "".

tu peux donc utiliser une condition du type si(nbcar(A1)=0;condition 1; condition 2) ou

si(A1="";condition 1; condition 2)

JHA
 

blancolie

XLDnaute Impliqué
Bonsoir JHA,

je reviens sur ce post,

je rencontre un problème dans ce fichier :

- l'onglet devis fanfelle, Première ligne j' ai l'erreur #N/A si dans la première ligne de l'onglet zone de saisie le fournisseur est autre que fanfelle.

Je suppose que dans les autres onglets, on rencontre le même problème.

est il possible que si dans la zone de saisie la première ligne le fournisseur est autre que fanfelle, pour l'onglet devis fanfelle, la formule va chercher les autres lignes contenant fanfelle et que cela s'affiche dans la première ligne.

Regarde ds le fichier, j'ai mis en avant le problème.

merci d avance.
 

Pièces jointes

  • Demande de Devis-4-2.xlsx
    58.6 KB · Affichages: 6

Discussions similaires

Réponses
5
Affichages
377

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA