comparaison de colonnes par mots clefs
Dernière réponse : dans Programmation
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!!!!!
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!!!!!
Autres pages sur : comparaison colonnes mots clefs
Lassé par la pub ? Créez un compte
Il y a plein de raisons, trouves-en au moins une bonne parmi celles-ci :
Parce que c'est la règle :
Les règles du forum Programmation- A lire !
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.
Les règles du forum Programmation- A lire !
(ziva, comment il se la pète ce modo !)
je l'aime bien celle-là)N'hésite donc pas à choisir au moins une bonne réponse. Modifie alors ton post et tu ne tarderas pas à avoir une soluce.
Citation :
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!
Dim table As Variant
Dim row As Integer
Dim word As Integer
Dim found As Boolean
For row = 2 To 13000
table = Split(Cells(row, ColonneDesMofClef), " ")
found = False
For word = 0 To UBound(table)
found = found Or Not Cells(row, ColonneOuChercher).Find(table(word)) Is Nothing
Next
If found Then
' Faire quelque chose d'intéressant
Else
' Faire quelque chose d'intéressant
End If
Next
Tu dois bien sûr adapter un minimum ce code...
楽しみなさい!
Alors voila ce que j'ai fait :
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...
Merci beaucoup! Arigatoo gozaimasu! Thank you! Danke! Grazie!...bref tu m'auras compris lol
Sub test2()
Dim table As Variant
Dim row As Integer
Dim word As Integer
Dim found As Boolean
For row = 2 To 13000
table = Split(Cells(row, 2), " ")
found = False
For word = 0 To UBound(table)
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...
Merci beaucoup! Arigatoo gozaimasu! Thank you! Danke! Grazie!...bref tu m'auras compris lol
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 :
Sayonara
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 :
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
Next
If found Then
Cells(row, 4).Value = "OK"
Else
Cells(row, 4).Value = "PAS OK"
End If
Next
End Sub
Sayonara
Lassé par la pub ? Créez un compte
- Contenus similaires :
Balise [CODE]