Rapprochement entre deux listes

Shinpi

XLDnaute Nouveau
Bonjour,

Voici mon problème : je suis traducteur et j'ai besoin de créer un glossaire à partir de deux listes de termes tous identifiés par un numéro (= identifiant). Les termes anglais sont classés par ordre croissant en fonction de leur numéro (tous les numéros se suivent : 1, 2, 3, 4, 5, etc.). Les termes français sont aussi classés de la même manière, mais il n'y en a pas autant qu'en anglais (et donc les numéros ne se suivent pas (1, 3, 5, 6, 9, 12, etc.) car tous les termes anglais n'ont pas été traduits ou intégrés au glossaire.

Dans le fichier Excel d'exemple ci-joint, vous avez donc une liste de 10 termes en anglais, dont seulement 6 ont un équivalent en français :

1 dog
2 mouse
3 cat
4 bird
5 horse
6 pig
7 lion
8 tiger
9 donkey
10 whale

1 chien
3 chat
4 oiseau
5 cheval
9 âne
10 baleine

Comment faire pour trier tout cela et ne faire apparaître que les termes anglais ayant un équivalent en français (sachant que dans la réalité, j'ai plusieurs milliers de termes) ? Voici ce qu'il me faudrait :

1 dog
3 cat
4 bird
5 horse
9 donkey
10 whale

1 chien
3 chat
4 oiseau
5 cheval
9 âne
10 baleine

(Notez que les numéros et les termes sont volontairement dans des colonnes différentes, car pour exploiter ce glossaire, j'aurai besoin par la suite de supprimer tous les identifiants pour n'avoir qu'une colonne avec tous les termes anglais et une autre avec tous les termes français.)

J'ai l'impression que ça ne devrait pas être si compliqué que ça, mais je ne trouve pas…

Merci d'avance pour votre aide !

AL
 

Pièces jointes

  • Rapprochement entre deux listes.xls
    17.5 KB · Affichages: 62

Softmama

XLDnaute Accro
Re : Rapprochement entre deux listes

Bonjour,

Ceci peut t'aider :
VB:
Sub test()
Dim l As Long, t As Long
l = Range("A65536").End(xlUp).Row
Application.ScreenUpdating = False
For t = l To 1 Step -1
    If IsError(Evaluate("match(" & Range("A1").Offset(t - 1, 0) & ",D1:D" & l & ", 0)")) Then [A1].Offset(t - 1, 0).Resize(, 2).Delete shift:=xlUp
Next t
Application.ScreenUpdating = True
End Sub

cf. fichier joint
 

Pièces jointes

  • Rapprochement entre deux listes2.xls
    33.5 KB · Affichages: 70

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 087 965
Membres
103 688
dernier inscrit
Amadou