XL 2019 Comparer et remplacer des valeurs

Redux

XLDnaute Nouveau
Bonjour,

un fournisseur a décidé de changer toutes ses références, je me retrouve donc avec un fichier qui contient dans une colonne les anciennes références et dans une deuxième colonne les nouvelles références.

Je voudrais mettre à jour mon fichier csv personnel contenant certaines des anciennes références par les nouvelles.
Je me retrouve donc avec un fichier possédant 3 colonnes:

1. old_refrence -> anciennes références.
2. new_refrence -> les nouvelles références.
3. reference -> celle de mon fichier

Je voudrais comparer les colonnes old_reference et reference et quand elles correspondent que l'ancienne référence soit remplacer par la nouvelle dans la colonne reference.
Je vous joint un fichier avec un extrait.

En vous remerciant,

Redux.
 

Pièces jointes

  • test-ref.xlsx
    9.9 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Redux,
C'est possible de le faire sans VBA, voir PJ avec :
VB:
=INDEX(B:B;EQUIV(C2;A:A;0))
J'ai créé une colonne NewRefPerso avec la liste des nouvelles ref.
J'ai supposé que old_ref et ref n'était pas identique comme c'est le cas dans votre fichier. J'ai mélangé la liste ref pour être plus représentatif.
Evidemment en VBA c'est faisable, mais ne me semble pas apporter de plus value.
 

Pièces jointes

  • test-ref.xlsx
    10 KB · Affichages: 4

Redux

XLDnaute Nouveau
Bonjour @Phil69970 et @sylvanu ,

je vous remercie d'avoir pris le temps de m'apporter des réponses, effectivement comme tu le souligne @sylvanu , les références dans la colonne reference et old_reference ne sont pas dans le même ordre, donc mon fichier d'exemple est effectivement loin de la réalité et j'en suis désolé, la colonne reference contient aussi d'autres références de différents fournisseurs, qui elles doivent rester inchangé.

En gros quand on a une référence dans la colonne reference qui est présente dans la colonne old_reference il faut la remplacer par la valeur correspondante de la colonne new_reference.

Je sais pas si je suis assez clair, si ce n'est pas le cas n'hésitez pas a me le faire remarquer.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Redux, Phil,
Exact, j'ai considéré que toute ref a une nouvelle. En PJ c'est rectifié. Si une ref a une nouvelle je la prends sinon je garde l'ancienne. Avec :
VB:
=SI(INDEX(B:B;EQUIV(C2;A:A;0))=0;C2;INDEX(B:B;EQUIV(C2;A:A;0)))
 

Pièces jointes

  • test-ref (1).xlsx
    10.1 KB · Affichages: 2

Discussions similaires

Réponses
6
Affichages
285
Réponses
25
Affichages
603

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof