Deux choses:
1- Solution trouve "DIA1" dans la dernière ligne, il ne vérifie pas le dernier mot. Si vous insistez sur le dernier mot est:
Sub Lastword()
Dim rng As Range, wrd As String
Set rng = ActiveDocument.Paragraphs.Last.Range
wrd = StrReverse(Trim(Left(StrReverse(rng), InStr(1, StrReverse(rng), " ", vbTextCompare))))
MsgBox wrd
End Sub
2- F9-F12 sont réservés afin que votre plus proche option est F8. Vous pouvez également affecter une macro à F9 en suivant these steps, comme suggéré par @Ibo.
Solution:
1-Bind F8 à votre macro
Sub Bind()
Application.CustomizationContext = ThisDocument.AttachedTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyF8), KeyCategory:=wdKeyCategoryMacro, Command:="Runme"
End Sub
2- "Rechercher et remplacer" macro:
Sub Runme()
Dim rng As Range
Set rng = ActiveDocument.Paragraphs.Last.Range
rng.Find.Execute FindText:="DIA1", ReplaceWith:="hello", Replace:=wdReplaceAll
End Sub
3-Si vous avez besoin de délier F8 :
Sub Unbind()
CustomizationContext = NormalTemplate
FindKey(BuildKeyCode(wdKeyF8)).Clear
End Sub
Voulez-vous dire quand F9 est pressé, il devrait chercher le dernier mot tapé? – Ibo