Chers amis bonjour,
C’est ma première participation dans ce forum que je viens de découvrir et qui me plait bien. J'aimerais que vous m'aidiez à résoudre un petit problème qui commence à me désespérer, étant donné que je suis novice en VBA et que mes connaissances en fonction Excel sont loin d'être affutées.
Mon objectif est simple à concevoir : aller chercher une information dans un tableau à trois entrées, donc sur trois conditions. Petites précisions :
1/ j'ai deux feuilles Excel 2010 : une base de données (environ 6 000 lignes), avec des informations du type DATE/VEHICULE/HEURE_PASSAGE et une feuille export (environ 400 lignes), avec des informations du type DATE/VEHICULE/HEURE_JOURNEE/TRAJET/COEFFICIENT. Je souhaite alimenter ma base de données à partir d'information de ma feuille export.
2/ dans ma base de données et mon export, les informations de DATE/VEHICULE peuvent être identiques sur plusieurs lignes alors que l'HEURE_PASSAGE et HEURE_JOURNEE/TRAJET/COEFFICIENT varient.
3/ je cherche une formule me permettant d’aller chercher dans ma "feuille export" les informations spécifiques TRAJET et COEFFICIENT, selon des critères déterminés et les introduire dans ma "base de données" aux lignes répondant aux critères.
Mes critères sont :
- si la DATE base de données = DATE export ;
- si le VEHICULE base de données = VEHICULE export ;
- si l'HEURE_PASSAGE < la plus petite des deux HEURE_JOURNEE correspondante à la DATE et au VEHICULE
*** Attention petite subtilité : il existe souvent 2 valeurs HEURE_JOURNEE pour une même DATE et un même VEHICULE. Or si l'HEURE_PASSAGE est < la plus petite des 2 HEURE_JOURNEE alors il faut lui attribuer un TRAJET (trajet A), sinon un autre TRAJET correspond (trajet B).
Pour finir, mes remarques : la fonction Recherchev ne me permet pas d'aller chercher une information répondant à de multiples critères et je n'ai pas de clé unique associant mes critères ... Comme je vous l'ai dit précédemment, pour une même DATE et un même VEHICULE, je peux avoir 2 TRAJETS d'où mon troisième critère.
Les fonctions matricielles, Index ou Equiv ou Bdlire, ne me permettent pas d'introduire toutes les occurrences, elles s'arrêtent aux premiers enregistrements trouvés.
Vous l'aurez compris, sans aide, ni petit coup de pouce, je risque de chercher encore longtemps... C'est pourquoi je m'adresse à vous, amis éclairés et amateurs de challenge pour m'orienter vers une solution...
Si besoin, je vous transmettrai mon fichier.
Partager