Se connecter avec
S'enregistrer | Connectez-vous
Votre question

Macro ou formule pour trouver un mot et retourner un autre

Tags :
  • Microsoft Excel
  • Programmation
Dernière réponse : dans Programmation
Partagez
13 Décembre 2012 19:05:19

Bonjour, je souhaiterais effectuer dans une colonne contenant des descriptions (chaque cellule en contenant une) une recherche parmi une serie de mots clefs contenus dans une autre colonne (chaque cellule contenant un mot clef). De plus, chaque mot clef possède une abréviation qui est sur la même ligne que le mot, mais dans une autre colonne. Il faudrait donc que pour chaque ligne contenant une description la macro cherche si chacun des mots clefs est present.
Si un ou plusieurs mots clefs sont presents, il faudrait qu'il y ait marquer dans une quatrième colonne l'abréviation du ou des mots clef présent.
Merci beaucoup!!

Merci pour l'aide!
Je vais essayer d'expliquer mieux mon problème.
J'ai un document excel qui contient plus de 2000 descriptions et j'ai 30 mots clef que je dois retrouver dans les descriptions. Chaque mot clé a un code et c'est ce code que je dois obtenir comme réponse suite à la recherche du mot clef dans la description. Si il n'y a pas de mot clef dans la description alors l'espace est vide " ".
Exemple:

Mes descriptions sont dans la colonne A
A1: COURROIE SYNCHRO 30MM X 960MM X 8MM PAS
A2: ROULEMENT 12X37X12MM /BILLES/INOX
A3: COURROIE HEX. BB161
A4: O-RING KIT 122232/106248/106664/106107
A5: CONVOYEUR TABLE-TOP

Mes mots clef dans la colonne F et leurs codes dans la G
F1: ROULEMENT G1:BRG
F2: COURROIE G2: BLT
F3: O-RING G3: ORI

Ce que je veux obtenir c'est une 4e colonne (B) qui indique le code du mot clef présent dans la description. Dans l'exemple on aurait:

B1: BLT
B2: BRG
B3: BLT
B4: ORI
B5: " "

Donc pour chaque description on recherche tout les mots clefs et on renvoit le code du mot clef présent.

Autres pages sur : macro formule trouver mot retourner

13 Décembre 2012 19:35:08

Salut, je suis pas sure que je comprend la question mais voila p-e une piste:

dans la colonne tu fais ex:

A1=bleu B1=rouge a3=(=B1=A1) sa te donne true ou false: dans ce cas sa te donne false
A1=bleu A2=bleu a3=(=B2=A2) sa va te donner true sa devrais aider pour régler ton problème
m
0
l
a b L Programmation
17 Décembre 2012 11:19:46

Salut Kat_va,

Puisque tu poses la question dans programmation, je te propose de trouver une solution en VBA/Excel.
Ça te va ?

Je propose tout bêtement trois boucles imbriquées, sur tes descriptions, sur les mots de ces descriptions et sur tes codes.
La recherche de mots, c'est un peu chiant en VB, parce que les expressions régulières n'existent pas.
Spa grave. On va se débrouiller avec Split() et une boucle !

  1. Dim description As Range
  2. Dim word As Variant
  3. Dim key As Range
  4.  
  5. For Each description In Cells(1, 1).CurrentRegion
  6. For Each word In Split(description.Text)
  7. For Each key In Cells(1, 6).CurrentRegion
  8. If key.Text = word Then description.Offset(, 1).Value = key.Offset(, 1).Text
  9. Next
  10. Next
  11. Next


Des commentaires ?
m
0
l