Bonjour,
je souhaiterais effectuer dans UNE colonne contenant une serie de phrases (chaque cellule en contenant UNE) une recherche parmi une serie de mots clefs contenus dans une autre colonne (chaque cellule contenant un mot clef). Ainsi, il faudrait que pour chaque ligne contenant une phrase 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 troisieme colonne OK sinon PAS OK lol Merci beaucoup!!!!!
Parce que respecter ces règles, c'est la façon de montrer du respect envers les personnes qui voudront bien te lire et te répondre.
Parce qu'il est beaucoup plus facile de lire du code formatté dans une police à caractères fixes, correctement indenté, avec des couleurs contextuelles (ok, c'est pas terrible en VB)
Parce que je te le demande (ziva, comment il se la pète ce modo !)
Parce que c'est plus joli ( je l'aime bien celle-là)
Parce qu'il est d'usage ici de ne pas donner de solutions aux personnes qui ne font pas un minimum d'effort en regard du temps pris par ceux qui répondront. La preuve, je pense que je suis en mesure de te répondre, mais je ne prendrais ce temps que quand j'en aurais fini avec la modération.
N'hésite donc pas à choisir au moins une bonne réponse. Modifie alors ton post et tu ne tarderas pas à avoir une soluce.
Il faut que tu fasses deux boucles imbriqués, l'une parcourant les ligne de 2 à 13000 et une autre parcourant les mots-clef....
Je l'avais saisi mais je ne vois pas comment faire...a la base je suis specialise dans l'administration de systemes serveurs pas dans la programmation...donc je pense saisir plus ou moins la logique en rapport avec ma requete mais il me manque les outils pour le faire. Bref, j'arrive pas a m'exprimer Si tu pouvais me mettre un peu plus sur la voix (du graal lol), comment je pourrais imbriquer ca...
Je te remercie!
found = found Or Not Cells(row, 1).Find(table(word)) Is Nothing
Next
If found Then
Cells(row, 4).Value = "OK"
Else
Cells(row, 4).Value = "PAS OK"
End If
Next
End Sub
Le petit souci c'est que si je comprends bien ce que tu as ecrit comme code, c'est qu'il faut que tous les mots clefs soient presents dans chaque cellule et soient separes par un espace...et la ca marche.
Le petit souci est que j'ai 1 mot clef par cellule...voila en fait a quoi devrait ressembler mon tableau apres execution de la macro :
A B C 1 Acer driver Dell OK 2 Screen saver Acer PAS OK 3 dell Sony OK 4 yekeke enfant des bois* Creative PAS OK
* cherche pas je viens de l'inventer lol
Donc en A les phrases, en B les mots clefs et en C si c'est bon ou pas...
A moins que tu connaisses une macro vite fait qui puisse prendre tous ces mots clefs et les aligner dans une cellule en les separant par un espace...
Super!!! Ca marche! Tu me diras evidemment Merci beaucoup!!!
Si je peux faire quelque chose pour toi...t'envoyer des photos du japon ou je ne sais trop quoi ce sera avec plaisir
Pour info je mets le code :
Code :
Sub test3()
Dim row As Integer
Dim word As Integer
Dim found As Boolean
Dim i As Integer
For row = 1 To 10
found = False
For i = 1 To 10
found = found Or Not Cells(row, 1).Find(Cells(i, 2)) Is Nothing