Ne pas faire apparaitre un message d'alerte à l'ouverture d'un userform
2 réponses
Denys
Bonjour,
Lorsque l'usager utilise un userform, s'il choisit de cliquer sur un checkb=
ox, un message apparait disant que la valeur a =E9t=E9 captur=E9e. Comme =
=E0 l'ouverture du userform, celui-ci reprend les valeurs entr=E9es sur la =
feuille, alors le message apparait si la cellule n'est pas vide
=20
Private Sub UserForm_Initialize()
If ActiveCell.Offset(, 11).Value <> "" Then CheckBox1 =3D True
Comment faire pour que ce message n'apparaisse pas, mais seulement lorsqu'o=
n initialise le userform....
J'ai essay=E9
Private Sub UserForm_Initialize()
Application.DisplayAlerts =3D False
etc...
Mais =E7a ne fonctione pas....si il y a une valeur dans la cellule, le chec=
kbox devient "true" et le message apparait....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
Si tu veux réinitialer dans ton code, la valeur des contrôles comme à son ouverture, au lieu d'appeler la procédure : Private Sub UserForm_Initialize() qui contiendrait ce message
Tu crées une procédure particulière qui fait la même chose que la procédure Private Sub Valeur_A_Neuf() mais sans le message.
==================== Une autre alternative est d'utiliser une variable de type booléen dans le haut du formulaire : Dim Message As Boolean
Dans ta procédure Private Sub UserForm_Initialize() comme ceci :
Comme ceci ton message apparaît seulement à l'ouverture du formulaire. '--------------------------------- Private Sub UserForm_Initialize()
'ton code
If Message = False Then MsgBox "Bonjour" Message = True End If
Si tu veux réinitialer dans ton code, la valeur des contrôles
comme à son ouverture, au lieu d'appeler la procédure :
Private Sub UserForm_Initialize() qui contiendrait ce message
Tu crées une procédure particulière qui fait la même chose que
la procédure Private Sub Valeur_A_Neuf() mais sans le message.
====================
Une autre alternative est d'utiliser une variable de type booléen
dans le haut du formulaire :
Dim Message As Boolean
Dans ta procédure Private Sub UserForm_Initialize() comme ceci :
Comme ceci ton message apparaît seulement à l'ouverture du formulaire.
'---------------------------------
Private Sub UserForm_Initialize()
'ton code
If Message = False Then
MsgBox "Bonjour"
Message = True
End If
Si tu veux réinitialer dans ton code, la valeur des contrôles comme à son ouverture, au lieu d'appeler la procédure : Private Sub UserForm_Initialize() qui contiendrait ce message
Tu crées une procédure particulière qui fait la même chose que la procédure Private Sub Valeur_A_Neuf() mais sans le message.
==================== Une autre alternative est d'utiliser une variable de type booléen dans le haut du formulaire : Dim Message As Boolean
Dans ta procédure Private Sub UserForm_Initialize() comme ceci :
Comme ceci ton message apparaît seulement à l'ouverture du formulaire. '--------------------------------- Private Sub UserForm_Initialize()
'ton code
If Message = False Then MsgBox "Bonjour" Message = True End If