Quand je fais cela, l'abréviation devient la phrase, mais ne revient pas dans la cellule target en bout de phrase.
J'ai essayé le code suivant, il fait ce que je voudrais, mais la macro coince et il faut faire esc pour pouvoir continuer toutes autres actions:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("H1:K18")) Is Nothing Then
If Target.Value Like "* ra *" Then
Target.Value = Replace(Target.Value, " ra ", " La réquisition administrative ")
ElseIf InStr(1, Target.Value, "ra", vbTextCompare) = 1 Then
Target.Value = Replace(Target.Value, "ra", " La réquisition administrative ")
ElseIf Target.Value Like "* ra" Then
Target.Value = Replace(Target.Value, " ra", " La réquisition administrative ")
End If
Select Case True
Case Target.Value Like "*SPH*"
Target.Value = Replace(Target.Value, "SPH", "essais ")
Case Target.Value Like "*EPI*"
Target.Value = Replace(Target.Value, "epi", "test")
End Select
'revient à la cellule
Run Target.Select
'l'appui sur la touche F2 permet d'entrer en édition et mets le curseur en fin de texte
SendKeys "{F2}"
End If
End Sub