5 manières pour afficher une aide à la saisie dans une cellule
Bonjour à tous
Rien de révolutionnaire et non exhaustif.
Un simple récapitulatif si ce n'est un code permettant d'afficher un message furtif :
1- et 2- Un commentaire de cellule masqué ou non
3- Une MsgBox Classique
Particularités : Possibilité de contextualiser le message. Clic sur un bouton pour le faire disparaitre.
Inconvénient : C'est du VBA
4- Un Message "Furtif"
Particularités : Possibilité de contextualiser le message, paramétrage du temps d'affichage (en secondes) avant effacement du message
Inconvénient : C'est du VBA. Le temps d'affichage est au minimum de 3 secondes, même si on paramètre 1 seconde.
5- Créer une "Validation des données" pour la cellule à partir du Menu "Données"
Particularités : Comparable au commentaire mais plus discret. S'affiche au-dessous de la cellule et disparait au changement de cellule.
Le paramétrage se fait sur l'onglet "Message de Saisie" de la fenêtre "Validation des données"
Un exemple de codage en utilisant des cellules nommées pour exécuter le code correspondant à la cellule :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Address
Case Range("MSGBOX").Address
MsgBox "Cette cellule est particulière", vbInformation, "MsgBox"
Case Range("MSGFURTIF").Address
MsgBoxTemp "Cette cellule est particulière", 1, , "Message Furtif"
End Select
End Sub
Public Function MsgBoxTemp(Contenu As String, Duree As Integer, Optional Boutons, Optional Titre As String)
' https://excel-malin.com/codes-sources-vba/msgbox-qui-se-ferme-automatiquement/?utm_content=expand_article
' même utilisation des paramètres que MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])
' si pas d'action, la popup se ferme au bout du temps (secondes) paramétré
On Error GoTo MsgBoxTempErreur
MsgBoxTemp = CreateObject("WScript.Shell").Popup(Contenu, Duree, Titre, Boutons)
Exit Function
MsgBoxTempErreur:
MsgBoxTemp = CVErr(xlErrValue)
End Function
Capture d'écran