Microsoft 365 Lookup (Recherche) me rapporte un mauvais résultat pour un seul client.

AlicePrince

XLDnaute Nouveau
Bonjour à tous,

Je rencontre à petit problème concernant l'exploitation de valeurs de TCD.
Malheureusement, je ne vais pas pouvoir partager de fichiers car les données sont confidentielles et il y en a trop pour que je puisse toutes les anonymiser.
Je vais donc essayée d'être la plus précise possible.

L'objectif ici est de calculer le taux de litige sur 12 mois.
Pour faire ça, j'ai 3 fichiers de départs : 1 fichier reprenant les litiges par client ; 1 fichier contenant le CA / mois sur l'année 2019 et 1 fichier contenant le CA / mois sur l'année 2020.
Ce sont de gros fichiers qui reprennent les données pour l'ensemble des clients pour toutes les agences du groupe à un niveau national.
Il y a donc beaucoup de données qui ne m'intéresse pas.

J'ai donc crée un 4ème fichier avec 3 onglets qui vont reprendre uniquement les données de l'agence où je suis située :
1er onglet : un TCD reprenant la somme des litiges / client
2ème onglet : un TCD reprenant le CA 2019 / client au mois
3ème onglet : un TCD reprenant le CA 2020 / client au mois

1607336744014.png

Exemple de la 1ère ligne des TCD pour les onglets 2 et 3.

J'ai tout d'abord crée une macro permettant à l'utilisateur de saisir une date.
Les TCD vont tous s'actualiser en fonction de cette date pour n'afficher que les données postérieures à cette date.
Exemple : on saisit la date 31/05/2019, les TCD afficherons les données à partir du 01/06/2019.

Ensuite, il m'a fallu récupérer les valeurs totales des tableaux CA / client.
Sachant que la taille de mon tableau évolue en fonction de la date, je peux donc très bien avoir 2 ou 8 colonnes.
J'ai donc placé en colonne A - qui sera cachée - la formule suivante pour récupérer la dernière valeur de la ligne :
VB:
=LOOKUP(9^9;5:5)
Cette formule est étirée pour l'ensemble des clients.

Pour avoir mon CA total, j'ai voulu faire une somme reprenant les valeurs contenues dans mes colonnes A des mes onglets 2 et 3 / client :
Code:
=((LOOKUP(B5;CA_Messagerie_2019!B:B;CA_Messagerie_2019!A:A))+(LOOKUP(B5;CA_Messagerie_2020!B:B;CA_Messagerie_2020!A:A)))
B5 étant ici la cellule comprenant le nom du client.

Je peux ensuite calculer mon taux de litige.

Tout fonctionne parfaitement bien, sauf pour un client du nom de "ZWIEBEL".
Mes LOOKUP me rapportent les valeurs CA de la ligne d'en-dessous qui est la ligne "Grand Total".
J'ai vérifié, Excel me fait ça uniquement pour ce client-là et je ne me l'explique pas.

1607336259802.png

Exemple : au lieu de me trouver "4", la formule me rapporte "4 594 006,09".

J'ai fait des tests pour vérifier qu'Excel considère bien que le "ZWIEBEL" de mon onglet 1 soit le même que les "ZWIEBEL" des onglets 2 et 3.
C'est bien le cas.
Du coup, je ne comprends pas d'où vient cette inexactitude.

Est-ce que quelqu'un aurait une idée ?

PS : pour les non-anglophones, la fonction "LOOKUP" correspond à "RECHERCHE".
 
Solution
Bonjour AlicePrince, Ralph45, le forum

Avec un exemple, effectivement RECHERCHE qui fonctionne bien sur des tableaux figés (les 3 premières feuilles) semble présenter certaines limites avec des TCD (feuille "TCD")..
En reprenant une formule avec INDEX, on semble aller chercher des résultats corrects mais c'est à tester avec vos besoins.

Xl-ment
zebanx

ralph45

XLDnaute Impliqué
Bonsoir @AlicePrince,

Effectivement sans fichier, autant faire une "RECHERCHE.BDC" *
La formule à l'air correct et si un seul client retourne un mauvais résultat, c'est louche !

Mais en regardant de plus près la formule, je vois que sont prises en compte toutes les lignes des feuilles ("CA_Messagerie_2019!B:B), etc.

C'est peut-être bête... mais n'y aurait-il pas des milliers, voire des millions de "ZWIEBEL" (alors là, pour le coup, le "full-anonyme"...) dans des cellules qu'on n'oserait croire qu'elles soient renseignées dans les tréfonds de vos feuilles & classeurs ?

Je dis cela, car c'est arrivé à une de mes collègues il y a quelques années, à force de faire des manipulations dans une état de fatigue et de stress inhabituel.

R@lph45

* "BouleDeCristal" ;)
 
Dernière édition:

zebanx

XLDnaute Accro
Bonjour AlicePrince, Ralph45, le forum

Avec un exemple, effectivement RECHERCHE qui fonctionne bien sur des tableaux figés (les 3 premières feuilles) semble présenter certaines limites avec des TCD (feuille "TCD")..
En reprenant une formule avec INDEX, on semble aller chercher des résultats corrects mais c'est à tester avec vos besoins.

Xl-ment
zebanx
 

Pièces jointes

  • recherche.xlsm
    22 KB · Affichages: 9

AlicePrince

XLDnaute Nouveau
Bonjour ralph45 et zebanx,

Tout d'abord, merci pour vos réponses.
J'ai pu transposer la solution apportée par zebanx à mon fichier et ça fonctionne parfaitement.

J'ai maintenant pour mission de retravailler les formules INDEX/EQUIV que j'arrive très bien à utiliser dans une configuration INDEX(A1;EQUIV(....);EQUIV(...)).
Mais dès qu'il n'y a qu'un seul EQUIV, je m'embrouille. 🤷‍♀️

Bonne soirée à vous !
 

Discussions similaires