Remplacer lettres par noms dans une liste

Bonjour,

Voici mon problème :

Je dois envoyer à mon client une liste de personnes. Le problème est que du programme informatique, je ne peux sortir que les trigrammes de chacun.

Je possède la liste "trigrammes-noms" sur un fichier excel de tous ses employés. Mais vu qu'ils sont nombreux, j'aimerais pouvoir automatiquement ajouter à côté de chaque trigramme dans les tableaux le nom des personnes.

Je joints un exemple.

Merci d'avance à vous tous!

72exemples.xls (16.50 Ko)

Bonjour,

Ci-joint ton fichier avec la fonction RECHERCHE, je récupère le trigramme, je le recherche dans la colonne C et je trouve celui sur la même ligne en colonne B.

A+

100exemples.zip (5.08 Ko)

Merci pour ton aide, mais cela ne risque pas d'être trop long pour 500 noms?

Parce que quand je l'utilise, je n'ai que le premier nom qui s'affiche

Merci

Bonjour.

Une recherche peut se faire par la combinaison de "INDEX" et "EQUIV"

Pour obtenir ton trigramme avant le nom je te propose donc cette formule:

=E8&" - "&INDEX($B$8:$B$11;EQUIV(E8;$C$8:$C$11;0))

Pour voir le résultat, je te propose le fichier joint.

64exemples-1.zip (5.07 Ko)

Merci beaucoup. Mais comment puis-je faire pour répéter la fonction sur toute la liste sans devoir copier coller la fonction pour les 500 tableaux?

Aramirdar a écrit :

Merci pour ton aide, mais cela ne risque pas d'être trop long pour 500 noms?

Parce que quand je l'utilise, je n'ai que le premier nom qui s'affiche

Merci

Non ça ne sera pas trop long, dans mon exemple je n'ai pris que tes 4 trigrammes mais si tu as 500 noms tu agrandis la plage $B$1:$B$500 par exemple, idem pour la colonne C et Excel fera la recherche du trigramme parmis ces 500 noms.

A+

Merci beaucoup! Mais ca ne marche pas quand j'essaye de faire cela. J'ai 0 qui s'affiche.

Avec la solution de pass pass, je dois sélectionner tout les pnc avant car si je sélectionne toute la zone, les noms apparaissent mais les chiffres disparaissent...

Re.

As-tu possibilité d'avoir le même nombre de lignes entre chaque tableau.

Si oui, une formule par VBA fera l'affaire pour copier ta formule dans tous tes tableaux.

Par exemple, s'il y a 8 lignes entre chaque formule à copier, il suffit que tu mette ce code.

(Ici, je fait descendre les formules jusqu'à la ligne 5000 en créant un décalage de 8 lignes)

Sub Plaque1_Clic()
For i = 16 To 5000 Step 8
Range("K8:O8").Copy Range("K" & i, "O" & i)
Next i
End Sub

Est-ce possible? Si non, on peut mettre une autre sorte de code, mais qui prendra un peu plus de temps..

Bonjour,

Ci-joint ton tableau avec cette formule :

=SI(E8="TOTAL";"TOTAL";SI(E8="";"";SI(ESTNA(EQUIV(E8;$C$8:$C$13;0));E8;RECHERCHE(E8;$C$8:$C$13;$B$8:$B$13))))

A recopier le long de tes 500 tableaux (désolé j'avais compris 500 trigrammes, pas 500 tableaux et en plus les tableaux ne sont pas tous de taille identique).

Comme je l'ai indiqué dans le classeur les trig doivent être par ordre croissant sinon RECHERCHE va planter : #N/A ou pire le nom d'une autre personne.

Pour éviter ça il faut intervertir B et C et utiliser plutôt (pas le chien) une RECHERCHEV(E8;$B$8:$C$13;2;FAUX).

A+

59exemples.zip (7.60 Ko)

Merci à vous 2. Le fait de défusionner les cellules me facilite déjà la tâche!

Pass pass, je ne peux pas avoir toujours 8 cases entre. La longueur des tableaux est variable.

Dachevid, j'ai essayé ta solution mais j'ai de nouveau un N/A dans les cellules vides ou pleines entre 2 trigrammes si je sélectionne la colonne k.

J'utilise en ce moment la solution de pass pass, je défusionne les cellules et copie colle sa formule sur tout les PNC. Ca prend du temps, mais moins que tout réécrire à la main!

Bonjour,

Avec un tout petit peu de rigueur (ne pas mettre d'espace devant les trigrammes), ce que tu demandes est facilement faisable, du moins en VBA (code macro)

Cependant, il faut cette rigueur...

Et pas besoin de défusionner les cellules...

@ te relire

C'est étonnant cette histoire de #N/A avec les cellules vides car la formule contient la gestion des vides avec :

SI(E8="";""

Tu as dû voir que dans mon fichier tout marche ?

Il faut que tes trigrammes soient dans l'ordre alphabétique pour la RECHERCHE, sinon on a effectivement #N/A.

Tu peux renvoyer ton tableau avec les #N/A pour que je vois où se situe le problème, stp.

A+

Bonjour.

Je t'ai fait une macro qui cherche un texte contenant 3 lettres (N'importe lesquelles).

La formule de base est en K1. Il ne faut donc pas y toucher.

Voilou. Tu appuies sur le bouton "LANCER" et toutes tes formules sont au bon endroit.

La macro:

Sub Plaque1_Clic()
For i = 1 To 2000 'on va jusqu'à la ligne 2000
If Cells(i, 5) Like "???" Then 'On cherche un texte de 3 lettres
Range("K1:O1").Copy Range("K" & i, "O" & i)
End If
Next i
End Sub

En espérant que ça te soit utile

37trigramme.zip (15.14 Ko)

ça y est... J'y suis arrivé.

J'ai utilisé la formule de dachevid.

Pour avoir le trigramme + le nom, j'ai fusionner les 2 colonnes avec un tiret comme l'avait fait pass-pass.

Ca marche du tonerre!

merci à vous les gars!

Rechercher des sujets similaires à "remplacer lettres noms liste"