RechercheV d'un bout de string dans un string

Bonjour tout le monde,

Je suis depuis un petit moment ce forum génial pour améliorer mes connaissances basiques des macros. Jusqu'à maintenant après 2h ou 3h de recherches, je finissais par trouver le code qui me convenait ... Sauf que là, je bute depuis plus longtemps !

Mon problème est le suivant

Sur une feuille data : J'ai une colonne avec +10000 entrées où il y a des chaines de caractères longs

Sur une feuille motscles : j'ai 2 colonnes avec +40entrées, la première contient des mots clès, la 2ème un code correspondant au mot clé

Puis enfin une colonne sensée recevoir le résultat case par case

Je veux chercher sur la colonne de ma feuille data SEQUENTIELLEMENT tous les mots clés de la 1ère colonne de la feuille motscles, dès qu'une correspondance est trouvée, la boucle s'arrête, renseigne une case destinée à recevoir un code, avec le code correspondant au mot clé trouvé, puis passe à l'entrée suivante de ma feuille data

J'ai d'abord fait le code suivant,

Sub macro_generation_segments()

derniere_ligne = Sheets("data").Range("K4").End(xlDown).Row
Derniere_ligne2 = Sheets("motscles").Range("A3").End(xlDown).Row

Dim Tab_motscles()
ReDim Tab_motscles(Derniere_ligne2 - 1, 1)

For j = 0 To Derniere_ligne2 - 1
Tab_motscles(j, 0) = Sheets("motscles").Range("A" & j + 2)
Tab_motscles(j, 1) = Sheets("motscles").Range("B" & j + 2)
Next

Dim Tab_data()
ReDim Tab_data(derniere_ligne - 1)

For i = 0 To derniere_ligne - 1
Tab_data(i) = Sheets("data").Range("K" & i + 4)
Next

For i = 0 To derniere_ligne
    For j = 0 To Derniere_ligne2
    If Tab_data(i) Like Tab_motscles(j, 0) Then Sheets("data").Range("AA" & i + 4) = Tab_motscles(j, 1)
    Next

Next
End Sub

mais excel ne voulait pas l'executer, erreur indice 9, ça a un rapport avec la définition des tableaux. Mais je ne suis pas arrivé à trouver ce qui clochait. Du coup je l'ai fait sur mesure pour le fichier que je traite, et là, j'ai aucun résultat qui s'affiche car les tests font que rien n'est trouvé. Je pense que ça a un rapport avec Like et la syntaxe globale

Sub macro_generation_segments()

For i = 4 To 13504
    For j = 3 To 45
    If Sheets("data").Range("K" & i).Value Like Sheets("motscles").Range("A" & j).Value Then
    Sheets("data").Range("AA" & i) = Sheets("motscles").Range("B" & j).Value
    End If
    Next

Next
End Sub

Merci de votre aide !

36fichier.xlsm (263.58 Ko)

Bonjour

Un fichier (macros comprises) en y inscrivant ce que tu as et ce que tu veux serait utile, bien plus que ton code

Désolé !

C'est édité (:

Bonjour

Je n'ai pas compris pourquoi tu notes la correspondance dans la feuil3

Laisses le temps à la macro

Merci beaucoup !

J'avais initialement mis sur feuil3 histoire de pas polluer ma feuille Data au cas où quelque chose tourne mal.

Je vais essayer de décoder un peu les instructions histoire que je maîtrise mieux la chose

Enfin, le temps de traitement est probablement trop long (je ne sais pas, j'ai pas de standard) je vais voir comment je pourrais optimiser !

En tout cas, merci infiniment ! Je reviens vers vous au cas où j'ai une interrogation (:

Rechercher des sujets similaires à "recherchev bout string"