Créer un message Pop Up
Bonjour,
J'aimerai créer un code qui permet d'envoyer un message pop up sur ma feuille de travail excel lorsque les cellules d'une colonne donnée (ici B) sont remplies.
Le message pop up serait quelque chose comme "Merci de remplir les cellules de la colonne C et D"
Voici mon code pour le moment :
Sub Test()
Dim TargetColumn
Dim TargetText
If TargetColumn = Worksheets("Feuil1").Range("$B$:$B$") Then
If TargetText <> vbNullString Then
MsgBox "Ceci est un message"
End If
End If
End SubMerci beaucoup pour votre retour
Bonjour, il vaudrait mieux un fichier exemple que l'on puisse voir le besoin.
Dans votre code vous testez la colonne B entière. je doute que votre fichier utilise toutes les lignes possibles d'excel ?
et dans ce cas puisqu'il y aura des vides aucun message.
Bonjour Uwu,
En mettant ceci dans la feuille en question
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("B:B"), Target) Is Nothing Then
If Target.value <>"" then
MsgBoxTimer "Merci de remplir les cellules de la colonne C et D...", vbInformation, "ATTENTION !", 2, True
End If
End If
End SubEt cette fonction dans un module
' Fonction de Laurent_ott
Function MsgBoxTimer(Message As String, Boutons As VbMsgBoxStyle, Titre As String, _
DuréeAffichage As Byte, Optional BloqueAction As Boolean = False) As VbMsgBoxResult
'-------------------------------------------------------------------------------
' Affiche une boite de message comme MsgBox, mais avec une durée d'affichage maximale
' qui peut être déterminée.
'-------------------------------------------------------------------------------
' Message : Message à afficher comme pour la fonction MsgBox.
' Boutons : Les mêmes boutons que pour la fonction MsgBox.
' Titre : Le titre de la boite comme pour la fonction MsgBox.
' Durée : Durée en seconde d'affichage de la boite. Sauf si un choix est fait par l'utilisateur.
' BloqueAction : Si True alors bloque le clavier et la souris (mais ça marche pas).
' Retourne : -1 si pas de choix, ou une constante VbMsgBoxResult comme pour MsgBox.
'-------------------------------------------------------------------------------
Dim InfoBox As Object
Set InfoBox = CreateObject("WScript.Shell")
MsgBoxTimer = InfoBox.PopUp(Message, DuréeAffichage, Titre, Boutons)
End FunctionA tester
Merci beaucoup ! Je débute mais je comprends bien les fonctionnements et la logique