Affecter à une cellule une valeur contenue dans un tableau selon valeur autre cellule

Dhaulagiri

XLDnaute Nouveau
Bonjour,

J'importe dans une feuille Excel des fichiers texte issus d'un logiciel métier. Leur structure est toujours la même. Mon objectif est de puiser dans ces données pour créer d'autres table destinées à un autre logiciel métier.

Parmi ces tables sources, une décrit des lignes de bus. Dans une colonne, j'ai des numéros de ligne (F10 pour la ligne F10, T22 pour la ligne T22, 734-1 ou 734-2 pour les lignes 734-1 et 734-2, qui sont des variantes dans un même secteur géographique). Dans l'application métier source, ce numéro est l'identifiant unique

Dans la table de destination, j'ai récupéré ce numéro dans un champ descriptif particulier mais il me faut un autre identifiant, car l'application accepte les codes numériques uniquement.

Je voudrais donc intégrer tous mes numéros de ligne dans un tableau et leur affecter un numéro unique (1, 2, 3, etc.). L'idée est de comparer, à chaque fois que je vais importer une mise à jour de mes données sources, les numéros des lignes avec celles contenues dans mon tableau "en dur":
> si la chaîne est la même, alors j'affecte à ma ligne dans la table de destination le code numérique correspondant à cette ligne dans le tableau
> si la chaine n'existe pas, alors j'ajoute un nombre "bidon" du style "0000" dans la table de destination qui me permettra de savoir que je dois ajouter une nouvelle entrée dans mon tableau comparatif. Je n'ose pas demander que cela soit automatique mais j'avoue que ça serait génial!

Exemple: CODE_LIGNE dans TABLE_SOURCE = 22
Si, dans mon tableau comparatif, j'ai un CODE_LIGNE = 22 associé à un ID_UNIQUE = 12, alors j'affecte la valeur 12 à ID_LIGNE dans TABLE_DESTINATION.
S'il n'existe pas, j'inscris "0000" en dur dans ID_LIGNE de TABLE_DESTINATION ou, mieux, je crée un nouvel ID_UNIQUE dans le tableau comparatif et je l'affecte ensuite à la ligne qui va bien dans TABLE_DESTINATION

J'espère avoir été clair. Merci pour votre aide!
 

Dhaulagiri

XLDnaute Nouveau
Re : Affecter à une cellule une valeur contenue dans un tableau selon valeur autre ce

Bonjour,

J'ai trouvé une solution partielle. En fait, je voulais faire sans le savoir l'équivalent d'un RECHERCHEV. Désolé, je viens seulement de m'en rendre compte. Du coup, j'ai utilisé la fonction Application.VLookup (ne pas mettre WorksheetFunction sinon ça ne fonctionne pas, comme signalé sur certains posts)

Reste le bonus: si la valeur cherchée n'existe pas, l'ajouter dans le tableau comparatif et lui affecter un numéro unique (le numéro qui suit immédiatement le dernier utilisé ;o)

Quelqu'un saurait-il faire ça? Merci!
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote