Condition donnée variable => affichage date butoir associée

Bonjour,

Je rencontre un souci avec mes formules (on appelle ça "enfoncer une porte ouverte) ^^'

Version Excel pour cette manip : Excel 2016

Objectif du tableau : quand le nom d'un fournisseur est saisi, je veux que la DATE BUTOIR REGLEMENT de la facture apparaisse en fonction de la date saisie dans la colonne DATE, dans le tableau de l'onglet "factures", en tenant compte de l'information présente dans la colonne ECHEANCE, qui dépend du FOURNISSEUR saisi.

Dans l'onglet "données fournisseurs", j'ai saisi les données que je souhaite voir reportées automatiquement dans le tableau de l'onglet "factures".

En d'autres termes, si le FOURNISSEUR saisi dans le tableau des factures est associé à un règlement à 30 jours fin de mois, l'information se reporte automatiquement dans la colonne ECHEANCE. Et à partir des données dans la colonne ECHEANCE, je cherche à obtenir la DATE BUTOIR REGLEMENT.

J'ai essayé d'utiliser la condition de report d'infos combinée à la condition "FIN.MOIS" pour qu'excel m'affiche la date butoir. Je pense que le fait d'avoir une condition qui dépende d'une autre ne fonctionne pas, ou que je l'ai mal rédigée.

J'ai essayé en utilisant les informations en format tableau de données, c'est-à-dire avec les identifiants type Suivi_Fact_Fournisseurs[VALEUR] (je ne sais pas si je suis claire ^^') mais ça ne fonctionne pas.

J'ai essayé en utilisant les coordonnées des cellules, ça ne fonctionne pas davantage.

J'ai essayé en "transformant" les informations texte des données [ECHEANCE] en valeur sur le tableau des factures, mais chou blanc également. Il ne veut pas m'afficher la DATE BUTOIR REGLEMENT, que je veux afficher en format jj:mm:aaaa.

Je veux bien un coup de main pour résoudre mon souci s'il vous plaît.

Merci d'avance,

NB. : je ne sais absolument pas utiliser VBA et si je peux m'en passer (je suis autodidacte sur Excel quand j'en ai besoin, et ça arrive une fois par an, et je galère pas mal rien qu'à chercher les bonnes formules) ça m'arrangerait :) et aussi parce que, si je dois utiliser VBA, je VEUX comprendre ce que je note, et le temps que j'y parvienne, on sera rendus à l'année prochaine... Mais je veux aussi comprendre les solutions qu'on m'apporte sinon pas d'intérêt :D

Bonjour,

A tester

=SIERREUR(INDEX(BDD_fournisseurs[Délai de paiement]; EQUIV([@FOURNISSEUR];BDD_fournisseurs[Fournisseur];0));"")

Cordialement

Bonjour,

Cette formule-là, je l'ai utilisée pour obtenir les informations dans la colonne [ECHEANCE], je les ai déjà.

Ce dont j'ai besoin, c'est que la colonne DATE BUTOIR REGLEMENT me renvoie une date en s'appuyant sur les données de la colonne [ECHEANCE] et les données de la colonne [DATE] au-début du tableau...

Merci tout de même.

Re,

Merci pour le tableau @Zebulon2 :)

Et du coup, comment ça fonctionne s'il te plaît ? Je comprends que si la première condition n'est pas remplie, il va chercher une autre valeur, en se basant sur le tableau de données de l'onglet "fournisseurs", mais j'ai besoin de comprendre la logique de la formule si je veux pouvoir la réutiliser dans un autre tableau.

A la lecture de la formule, j'en déduit que c'est le signe <> qui fait le boulot pour ainsi dire... Pardon pour mes questions de noob, mais j'aime bien comprendre quand on me donne une réponse toute prête :)

re,

Pas de problème,

=SI([@ECHEANCE]<>"A LA COMMANDE";FIN.MOIS([@DATE];INDEX(BDD_fournisseurs[Valeur];EQUIV([@FOURNISSEUR];BDD_fournisseurs[Fournisseur];0)));"")

si l'échéance est différent de "A la commande" on calcule la date butoir à l'aide de la fonction FIN.MOIS qui calcule la date en fonction du dernier jour du mois de la date de la colonne DATE additionnée du nombre de mois de la colonne Valeur de la BDD_FOURNISSEURS , sinon on fait rien.
Cordialement

Re,

Une version modifiée, la colonne valeur n'est pas obligatoire pour obtenir le nb de mois correspondant à chaque échéance.

Cordialement

Super, merci beaucoup pour les explications et le tableau alternatif :)

Pour moi, c'est plus clair et je peux reproduire la logique sur un autre tableau si besoin ^^

Topic résolu pour moi.

Re-bonjour,

Je réouvre le sujet, parce qu'au final, il me reste un souci.

Précision du contexte :

J'ai utilisé la deuxième proposition de formule envoyée par Zebulon2.

Sur mon tableau de données fournisseurs (le vrai), je n'ai pas toutes les informations concernant les délais de paiement. Donc ma colonne "Délai de Paiement" dans le tableau BDD_fournisseurs contient des cellules vides, car pas de données à mettre en face. Ce que je n'ai pas pensé à mentionner, mille excuses.

Dans ce cas très précis, la colonne ECHEANCE du tableau Suivi_Fact_Fournisseurs, sur l'onglet "Factures" renvoie la valeur 0.

De la manière dont les conditions sont rédigées, ma colonne DATE BUTOIR REGLEMENT renvoie une date à +3 mois, en considérant que c'est la dernière condition à prendre en compte, les autres étant éliminées.

Dans la cellule de colonne DATE BUTOIR REGLEMENT, j'ai donc essayé de rajouter une condition supplémentaire comme ceci, mais j'ai dû rater un épisode car ça ne fonctionne pas non plus :

=SI([@ECHEANCE]="A LA COMMANDE";"-";SI([@ECHEANCE]="0";[@DATE];SI([@ECHEANCE]="COMPTANT";[@DATE];FIN.MOIS([@DATE];INDEX(BDD_fournisseurs[Nb mois];EQUIV([@FOURNISSEUR];BDD_fournisseurs[Fournisseur]))))))

J'ai essayé en changeant le format du SI en NB.SI ou en SIERREUR, mais j'avoue l'avoir fait à la va-vite (c'est la fin de la journée ^^'), cela n'a pas fonctionné non plus.

Merci d'avance pour l'aide à venir :)

re,

Il ne faut pas mettre le 0 entre guillemets, c'est une valeur numérique.

=SI([@ECHEANCE]="A LA COMMANDE";"-";SI([@ECHEANCE]=0;[@DATE];SI([@ECHEANCE]="COMPTANT";[@DATE];FIN.MOIS([@DATE];INDEX(BDD_fournisseurs[Nb mois];EQUIV([@FOURNISSEUR];BDD_fournisseurs[Fournisseur]))))))

Cordialement

Merci beaucoup !

C'est ça de ne pas avoir appris excel par les bases, je manque de recul ^^'

Je clos le sujet.

...Et je vois Taz associé au pseudo Zébulon, et je pense à Margot en postillonnant sur mon clavier ^^' (noob et plus si jeune)

Pardon pardon pardon mais je m'arrache les cheveux depuis ce matin. Je ne comprends pas où est le souci. J'ai repris ta formule @Zebulon2, tout fonctionne, sauf : le délai à 30 JFDM (30 jours fin de mois) qui me renvoie délai + 3 mois au lieu d'un, alors que dans le tableau de données fournisseurs, tout est ok.

Dans mon mini-tableau de test où j'ai juste la formule FIN.MOIS pour tester, le délai 30 JFDM me renvoie un délai à 1 mois, mais inséré dans la formule de mon tableau définitif, ça merdoie.

Est-ce que je loupe une coquille dans mon tableau ? Est-ce que l'ordre et le nombre de fournisseurs joue pour faire foirer le tout, je ne sais pas.

Pour expliquer autrement, avec ma liste limitée de fournisseurs, ça fonctionne (c'est-à-dire sur le dernier tableau que tu m'as renvoyé @Zebulon2, quand les valeurs "nbre mois" sont récupérées directement du tableau fournisseurs (sauf que je tiens à ce que ma liste délais comporte les valeurs nbre de mois associées à côté, pour renvoyer avec la formule EQUIV dans le tableau fournisseur, car la personne qui utilisera le tableau au quotidien ne manipule pas les formules et je veux qu'elle puisse choisir ou saisir facilement, et verrouiller ce à quoi elle ne devra pas toucher)), mais dès que je rajoute tous les autres fournisseurs, avec les données qui vont bien, dans l'ordre où ils sont déjà classés chez nous, ça foire. :/

Je suis dépitée. Je renvoie le tableau qui servira au final. Les données ne sont pas à proprement parler confidentielles, ce sont juste des noms et des délais de paiement. Je le supprimerai peut-être quand j'aurai résolu ce problème de bout en bout.

Bonjour,

Il manquait le zéro à la fin de la fonction INDEX EQUIV

=SI([@ECHEANCE]="A LA COMMANDE";"-";SI([@ECHEANCE]=0;[@DATE];SI([@ECHEANCE]="COMPTANT";[@DATE];FIN.MOIS([@DATE];INDEX(BDD_fournisseurs[Nb mois];EQUIV([@FOURNISSEUR];BDD_fournisseurs[Fournisseur];0))))))

le fournisseur Metaly Cars n'est pas dans la liste des fournisseurs

Cordialement

Encore une fois merci pour ton aide :)

Je vais prendre le temps de renoter la formule à la main en la décomposant pour bien finir d'assimiler le mécanisme.

Cette fois, ça devrait être la bonne.

Rechercher des sujets similaires à "condition donnee variable affichage date butoir associee"