MsgBox qui s'ouvre qu'à la 1ère utilisation

Fermé
super nood Messages postés 3 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 août 2009 - 24 août 2009 à 10:08
super nood Messages postés 3 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 août 2009 - 24 août 2009 à 13:19
Bonjour,

Je suis débutante en code VBA et ai trouvé tous les codes qui m'intéresse sur ce site donc voila ma question:

Je voudrais créer une MsgBox qui ne s'ouvrira qu'un seule fois. Un peu comme losqu'on reçoit un message et qu'on peut cocher une case: "ne plus afficher ce message"

Moi ce serait pour rentrer le nom du manager du projet, et lorsque sont nom sera enregistré, il sera le seul à pouvoir voir certainnes données..


Merci pour votre aide!

7 réponses

Utilisateur anonyme
24 août 2009 à 10:15
Tu peux chercher sur la MSDN la fonction msgbox et voir si elle gère elle même le "ne plus afficher ce message" sinon tu crées une form qui sert de msgbox (non redimensionnable sans le bouton agrandir et réduire) avec une checkbox qui permet de la masquer au prochain demarrage et tu ecris ds un ficher texte ou autre qui te sert de fichier de configuration du programme qu'il ne faut plus ouvrir la msgbox. A chaque demarrage tu lis le fichier texte et tu fais un test du parametre contenj dans le fichier texte.

En espérant avoir été clair et utile :)
0
super nood Messages postés 3 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 août 2009
24 août 2009 à 10:20
Merci!
je vais essayer
0
Utilisateur anonyme
24 août 2009 à 10:22
Pense à poster le code que tu auras écrit pour que les gens dans le même cas de figure puisse créer une msgbox qui s'ouvre une seule fois ;)
0
Bonjour,

Une solution consiste à créer une table avec un champ par exemple nombre avec pour valeur 1.
Lorsque tu lances ton application tu test ta valeur de ton champ , si elle est strictement supérieur à 0 tu ouvres ton MsgBox et tu mets la valeur à 0.
Lorsque tu relanceras ton application, ta valeur sera à 0 donc le MsgBox ne s'ouvrira pas.
J'espère avoir été assez clair sur mon explication.

Cordialement greg.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
24 août 2009 à 12:53
Pourrais tu donner un exemple de création de champ et de table?
0
http://www.ybet.be/access/2-table_access.htm

Ce lien explique comment créer une table avec ces différents champs sous access !

Dans le cas présent, on peut même utilisé un booléen comme valeur pour tester si le programme à déjà été ouvert.

exemple:

Créer une table nommée par exemple : "parametre".
Créer un champ nommé "firstOpen" de type booléen.
Mettre false comme valeur dans le champ.

Ensuite dans ton programme quand tu le lances, tu test si ta valeur est fausse, si celle-ci est fausse tu ouvres ton MsgBox et tu mets la valeur à true, comme ça à la prochaine ouverture ton MsgBox ne se lancera pas.

L'algorithme est du genre:

Si valeurDeMonChamp = false
Appeler MsgBox
valeurDeMonChamp = true
Fin Si

Après à toi de l'adapter à ton code, ça fait un bout de temps que j'ai plus fait de VBA donc je n'ai plus la syntaxe en tête mais avec la théorie, tu n'as plus qu'à l'adapter à ton code.
0
super nood Messages postés 3 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 août 2009
24 août 2009 à 13:19
Comme je suis pas vraiment une ouf avec les formules,
pour l'instant j'ai fait un UserForm qui ne se met en marche que "si" une case est vide:


Ds le WorkBook:


Sheets("Tableau de suivit").Visible = True
Sheets("Tableau de suivit").Select
If Cells(8, 3).Value = "" Then
UserForm2.Show
Else
UserForm2.Hide
End If


Mon userForm:


Private Sub CommandButton1_Click()

Manager = TextBox1.Text
Sheets("Tableau de suivit").Visible = True
Sheets("Tableau de suivit").Select
Range("C8").Select
ActiveCell.FormulaR1C1 = Manager


End Sub



N'ayez pas de crise cardiaque, je suis pas très forte et je pense que mon code n'est pas très bien construit, mais pour l'instant ç marche
JE pense que je ferait une macro qui réinitialisera tout pour pouvoir rentrer le nom d'un nouveau manager...

Merci pour vos réponse!

0