Allez dernière tentative, en étudiant votre macro, vous voulez afficher un message si la case sélectionnée n'est pas vide, et que le message disparaisse de lui-même.
il serait bien que cette macro soit dans le module de la feuille pour qu'elle réagisse, soit à la sélection de la cellule, soit à la tentative de remplissage de cette cellule déjà remplie.
Les 2 macros qui suivent (c'est soit l'une, soit l'autre) sont à copier dans le module de la feuille en question.
si c'est pour le dernier cas (tentative de remplissage de cette cellule déjà remplie) , je ferai ceci:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Sortie
Application.EnableEvents = False
If Target <> "" Then
CreateObject("Wscript.shell").Popup "La case est déjà remplie", 3, "Message", vbExclamation
Application.Undo
End If
Sortie:
Application.EnableEvents = True
End Sub
si une valeur est saisie à la place d'une autre, le message apparaît, puis devrait disparaitre dans les 3 secondes et annuler la dernière saisie.
*******************************************************************************
Si par contre c'est lors de la sélection de la cellule,
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Sortie
Application.EnableEvents = False
If Target <> "" Then CreateObject("Wscript.shell").Popup "La case est déjà remplie", 3, "Message", vbExclamation
Sortie:
Application.EnableEvents = True
End Sub
*****************************************************************************
Faites les essais avec les 2 macros.
Cdlt