Bonjour,
J'ai un tableau de donnée composée d'au moins 3 colonnes et de plusieurs milliers de lignes et un moteur de recherche par mot clé.
lorsque je recherche un mot clé, le moteur va chercher dans 3 colonnes spécifiques si il trouve le mot. Si il le trouve au moins une fois sur un ligne, il prend la ligne et la recopie sur une autre feuille de manière à obtenir le tableau des résultats.
J'aimerais bien mettre dans le tableau de résultat toutes les occurences du mot clé en bleu et en gras. Pour cela j'ai développé un module qui me fait ça sur un cellule et je l'applique à toutes les cellules des 3 colonnes du tableau de résultat.
Le problème c'est que c'est lent, si quelqu'un pense pouvoir optimiser mon algo ou alors la manière de concevoir la résolution du problème (par exemple traiter les colonnes dans leur ensemble et non pas faire cellule par cellule etc...) j'en serais ravi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub toto(i, j, keyword) Dim debut As Integer With Sheets("Feuil1") debut = InStr(1, .Cells(i, j).Value, keyword) While debut > 0 With .Cells(i, j).Characters(Start:=InStr(debut, .Cells(i, j).Value, keyword), Length:=Len(keyword)).Font .Color = -4165632 .Bold = True End With debut = InStr(debut + Len(keyword), .Cells(i, j).Value, keyword) Wend End With End Sub
Partager