Bloquer les cliques souris que sur ma userform

[Résolu]
Signaler
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006
-
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006
-
bonjour
lorsque je lance une userbox ou popup, msgbox, je veux que lón puisse cliquer sur que sur celle-ci mais pas sur ma feuille en arriere plan, je nárrive pas a trouver la commande pour avoir cette réaction:
dans un meme temps bloque le clavier alpha ou le debloquer, mais je ný connais rien

SVP aidez moi

17 réponses

Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006

la reponse pour utiliser une userform et un timer est a ládresse suivante:
http://www.vbfrance.com/infomsg_COMMENT-FAIRE-DISPARAITRE-MSGBOX-BOUT-SECONDES_745464.aspx#9
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
pour bloquer les form, il faut ouvrir en fait la fenetre fille en mode modal (ou non modal je sais plus trop), donc regarde en mettant ce paramètre à True ou a False


pour le second problème il suffit de tester la saisie des caractère au fur et à mesure qu'il soit saisie, je t'invite à faire quelques recherche sur ce site, il n'y a déjà suffisement d'élément de réponse dans les sections forum ou code








 
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006

OK pas de probleme pour les usreforms, mais pour mes msgbox ou popup, je fait comment?
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
ben ils sont par défaut bloquant ceux la (je crois même qu'ils sont uniquement bloquant)
Messages postés
102
Date d'inscription
vendredi 29 mars 2002
Statut
Membre
Dernière intervention
14 février 2013

pour les msgbox, il est possible de bloquer soit l'appli courante, soit le système complet ... va voir dans l'aide msgbox/buttons

vbApplicationModal, 0, Boîte de dialogue modale. L'utilisateur doit répondre au message affiché dans la zone de message avant de pouvoir continuer de travailler dans l'application en cours., ----
vbSystemModal, 4096, Modal système. Toutes les applications sont interrompues jusqu'à ce que l'utilisateur réponde au message affiché dans la zone de message.
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006

je tape
Sub Zonedetexte70_QuandClic()
Dim Sh As Object
Set AT = CreateObject("wscript.shell")
AT.popup "Attention cette valeur mofifie le flambage", 2, "ATTENTION", 48
Set AT = Nothing
vbApplicationModal = False
UserForm8.Show


End Sub

un jolie message dérreur me dit que affectation a une constante non autorisé
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006

pardon pour les jolies fautes dans le message d´avant
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
vbApplicationModal = False
 vbApplicationModal est une constante et par définition tu ne dois pas changer ca valeur
pour ce qui concerne la popup a priori il n'y a pas de constante fourni pour faire en sorte que celle ci soit modale, tu peux toujours créer une nouvelle boite de dialogue qui reprend le concept du popup et qui rajoute le concept de modalité d'une form
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006

ma fenetre popup, se ferme au bout de 2 secondes, alors comment fait tu ac une msgbox...., j´ai trouver cette commande sur internet, mais je n´ai pas réussi a l´adapter a une msgbox.
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006

ou userform
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
en y mettant un timer et au bout de 2sec tu fais un unload me :)
Messages postés
102
Date d'inscription
vendredi 29 mars 2002
Statut
Membre
Dernière intervention
14 février 2013

pour les constantes, il faut ajouter toutes les contraintes que tu veux, par exemple un msgbox informationel avec juste un bouton OK et modal au niveau systeme va s'écrire

MsgBox "prompt", vbInformation + vbOKOnly + vbApplicationModal, "title"
Messages postés
228
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
4 janvier 2008
1
Salut ,

'*********************************
'VOICI TON CODE
Sub Zonedetexte70_QuandClic()
Dim Sh As Object
   Set AT = CreateObject("wscript.shell")
   'le 2 signifie que ta popup va s'afficher 2 secondes
   '"ATTENTION" est le titre de ta popup
   '48 sigifie qu'il y aura seulement le bouton "OK"
   AT.popup "Attention cette valeur mofifie le flambage", 2, "ATTENTION", 48
   Set AT = Nothing
   vbApplicationModal = False   'cette ligne n'est pas possible d'où ton erreur
   UserForm8.Show
End Sub

'CE QUE JE TE PROPOSE
'plutôt que d'utiliser un objet wscript.shell utilise une message box standard :
Sub Zonedetexte70_QuandClic()
   MsgBox "Attention cette valeur modifie le flambage", vbApplicationModal, "ATTENTION"
   UserForm8.Show vbmodal
End sub
'*********************************
++

Deluka.
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006

merci de vous pencher sur mon probleme
pour le bouton OK,vbapplicationmodal cést bon mais je n´arrive pas avec le timer, jái láide VBA que en allemand et je ne le comprend pas, je suis novice dans la matiere.
peut tu méxpliquer plus en detaille la fonction timer, dons mon cas
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006

je veux que l´on puisse appuyer sur ok ou que ca disparaisse au bout deux secondes, cette formule magique, c´est ce que j´avais avant le popup.
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
ben si la réponse de franky suffit pas besoin de timer, sinon il faut déclarer un objet timer et lui fixer un intervalle de 2000 ms au bout de ce temps l'objet va déclencher un évènement Tick. il suffit ensuite de faire un unload de la forme dans la fonction qui gère cet évènement.


par contre tu parles de VBA, là je sais pas si ca marche. pour la doc tu peux toujours la trouver en ligne. un petite google : site:msdn.microsoft.com Timer








 
Messages postés
22
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
31 mai 2006

desolé je nárrive pas a y faire marcher