Salut tout le monde,
une solution OnTime, moins fluide, évidemment, mais qui libère VBA pour les autres tâches.
La demande est rencontrée puisque le texte s'affiche depuis le centre.
Public Sub ShowMSG()
'
Dim iLen%, sMsg$
'
With Worksheets("F1").lblMSG
If .ForeColor = RGB(10, 10, 10) Then _
sMsg = IIf(.Caption = " Hello, bienvenue ici!", "Voici les instructions à suivre!", " Hello, bienvenue ici!"): _
.ForeColor = IIf(sMsg = " Hello, bienvenue ici!", RGB(0, 0, 0), RGB(1, 1, 1)): _
.Caption = ""
sMsg = IIf(.ForeColor = RGB(0, 0, 0), " Hello, bienvenue ici!", "Voici les instructions à suivre!")
If .Caption = sMsg Then _
.ForeColor = RGB(10, 10, 10): _
Application.OnTime Now + IIf(sMsg = " Hello, bienvenue ici!", TimeValue("00:00:05"), TimeValue("00:00:10")), "ShowMSG": _
Exit Sub
iLen = Len(.Caption) + 2
.Caption = IIf(iLen = Len(sMsg), sMsg, Mid(sMsg, (Len(sMsg) / 2) - ((iLen - 2) / 2), iLen))
End With
Application.OnTime Now + TimeValue("00:00:01"), "ShowMSG"
'
End Sub
A+