Bonjour Freewor, Tulipe, bonjour le forum,
Une proposition VBA. j'ai supprimé la fusion des cellules (pas vraiment amie de VBA) et rajouté un onglet contenant les résultats (en ligne). Il te faudra compléter, dans le code, le tableau des mots clé TM et le tableau des résultats TR (en mettant l'adresse de la cellule du résultat).
Tape dans une cellule de la colonne A un texte contenant un mot clé...
Le code :
Option Base 1
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TM() As Variant 'déclare la variable TM (Tableau des mots)
Dim TR() As Variant 'déclare la variable TR (Tableau des Résultats)
If Target.Column <> 1 Then Exit Sub 'si le changement a lieu ailleurs que dans la colonne 1 (=A), sort de la procédure
If Target.Value = "" Then Target.Offset(0, 1).Value = "": Exit Sub 'si la cellule est effacée, efface la cellule de la colonne B et sort de la procédure
TM = Array("vmc", "porte") 'définit le tableau des mots (ici tu diot rentrer la liste des mots clé)
TR = Array("A6", "A1") 'définit le tableau des résultats (ici la liste des adresse respectives des résultats)
For I = 1 To UBound(TM) 'boucle sur tous les mots clé
If InStr(1, Target.Value, TM(I), vbTextCompare) <> 0 Then 'si la cellule édité contient un mot clé
'renvoie dans la cellule de la colonne B le texte de la cellule dont l'adresse correspond à l'index I du tableau TR
Target.Offset(0, 1).Value = Worksheets("Feuil2").Range(TR(I)).Value
Target.Offset(0, 1).WrapText = True 'renvoie à la ligne dans la cellule colonne B
Exit For 'sort de la boucle
End If 'fin de la condition
Next I 'prochain mot clé de la boucle
End Sub