Sub Macrosss()
Dim tat As String 'déclare la variable tat
Dim c As Range 'déclare la variable c
Dim pa As String 'déclare la variable pa
Dim dest As Range 'déclare la variable dest
tat = Range("B7").Value
With Sheets("310106").Range("A1:A" & Range("A65536").End(xlUp).Row) 'prend en compte toutes les cellules éditées de la colonne A (à adapter à ton cas
'définit la variable C
Set c = .Find(tat, , xlValues, xlWhole) 'recherche le mot (options: cellules / Mot entier)
If Not c Is Nothing Then 'condition : si le mot est trouvé
pa = c.Address 'définit la variable pa (première adresse du mot trouvé)
Do 'exécute
'définit la variable dest
Set dest = Sheets("310106 (2)").Range("E65536").End(xlUp).Offset(1, 0)
Application.Union(c.Offset(0, 3), c.Offset(0, 6)).Copy Destination:=dest 'copy le mot dans dest
Set c = .FindNext(c) 'redéfinit la variable c (prochaine occurence du mot)
Loop While Not c Is Nothing And c.Address <> pa 'boucle sur l'action tant que le mot est trouvé avec une adresse différente de pa
End If 'fin de la condition
End With 'fin de la prise en compte de la colonne A
End Sub