Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

msgbox en userform

9 réponses
Avatar
GIBI68
Bonjour,
J'ai créé un userform car la boite de dialogue "msgbox" apparaît au milieu
de l'écran et ça gène la lecture des infos affichées.
Seulement je suis débutant et je coince.
L'affichage de la userform "boite de dialogue" se fait évidemment à partir
d'une procédure et je ne suis pas capable selon que l'on clique sur le
bouton "oui" ou "non" de reprendre cette procédure (dont le code est dans un
autre userform) là où elle a été interrompue par l'affichage de la boite de
dialogue.
Les valeurs que je donne aux variables derrière le bouton "oui" ou "non"
sont toujours à zéro quand je reviens dans la procédure initiale.
Merci de m'avoir lu
bonne journée.

9 réponses

Avatar
Modeste
-----Message d'origine-----
la boite de dialogue "msgbox" apparaît au milieu
de l'écran et ça gène la lecture des infos affichées.

Seulement je suis débutant et je coince.


??????
développer un userform pour remplacer une msgbox !!!!
pour un débutant je comprends que tu coinces ;o))))

une msgbox se déplace par un simple "glisser" à l'aide de
la souris en se positionnant dans le bandeau supérieur de
cette msgbox !!!!

une usine à gaz ou un simple clic, c'est toi qui
décides !!!
;o)))
sinon il y a des exemples là :
excelabo.net
chez Frederic FS aussi
@+

Avatar
Rai
Bonjour,

Tu touches presqu'au but !
Il te manque à priori un seul détail.
Je veux parler de la portée des variables.

Par défaut, les variables ont une portée limitée au module qui les
initialise (Private).
Il faut demander à ce que ta variable qui sert à 'transporter' des infos
entre tes 2 modules deviennent Publiques (Public).

Pour cela, tu les déclare en dehors de toute procédure (partie 'Général'
du code de ta UF) :
Public MaVariable as Integer (pour un entier)

Bonne matinée

Rai

Bonjour,
J'ai créé un userform car la boite de dialogue "msgbox" apparaît au milieu
de l'écran et ça gène la lecture des infos affichées.
Seulement je suis débutant et je coince.
L'affichage de la userform "boite de dialogue" se fait évidemment à partir
d'une procédure et je ne suis pas capable selon que l'on clique sur le
bouton "oui" ou "non" de reprendre cette procédure (dont le code est dans un
autre userform) là où elle a été interrompue par l'affichage de la boite de
dialogue.
Les valeurs que je donne aux variables derrière le bouton "oui" ou "non"
sont toujours à zéro quand je reviens dans la procédure initiale.
Merci de m'avoir lu
bonne journée.




Avatar
GIBI68
Je vais essayer l'usine parceque une dizaine de lignes s'affiche plusieurs
fois et que à chaque fois il faut déplacer la mgsbox.
C'est pas surhumain de déplacer la boite j'en conviens mais des dizaines de
fois ça devient vite ennuyeux.
Je suis allé sur excelabo mais je ne suis pas capable de récupérer les codes
et de les comprendre.
Je ne sais pas où je vais évidemment si c'est une montagne on laisse tomber.
A+


"Modeste" a écrit dans le message de
news: 14ce01c50a90$e97c8f30$

-----Message d'origine-----
la boite de dialogue "msgbox" apparaît au milieu
de l'écran et ça gène la lecture des infos affichées.

Seulement je suis débutant et je coince.


??????
développer un userform pour remplacer une msgbox !!!!
pour un débutant je comprends que tu coinces ;o))))

une msgbox se déplace par un simple "glisser" à l'aide de
la souris en se positionnant dans le bandeau supérieur de
cette msgbox !!!!

une usine à gaz ou un simple clic, c'est toi qui
décides !!!
;o)))
sinon il y a des exemples là :
excelabo.net
chez Frederic FS aussi
@+

Avatar
GIBI68
Merci de m'aider
Dans le code du bouton "oui" je mets
ouival=1
boitedialogue.hide

au début du module du userform "boite de dialogue"
j'écris public ouival as integer
au début de l'autre module du userform
j'écris public ouival as integer
quand je reviens dans ma procédure initiale ouival est = 0
Je ne comprends pas où ça bug

"Rai" a écrit dans le message de news:

Bonjour,

Tu touches presqu'au but !
Il te manque à priori un seul détail.
Je veux parler de la portée des variables.

Par défaut, les variables ont une portée limitée au module qui les
initialise (Private).
Il faut demander à ce que ta variable qui sert à 'transporter' des infos
entre tes 2 modules deviennent Publiques (Public).

Pour cela, tu les déclare en dehors de toute procédure (partie 'Général'
du code de ta UF) :
Public MaVariable as Integer (pour un entier)

Bonne matinée

Rai

Bonjour,
J'ai créé un userform car la boite de dialogue "msgbox" apparaît au
milieu


de l'écran et ça gène la lecture des infos affichées.
Seulement je suis débutant et je coince.
L'affichage de la userform "boite de dialogue" se fait évidemment à
partir


d'une procédure et je ne suis pas capable selon que l'on clique sur le
bouton "oui" ou "non" de reprendre cette procédure (dont le code est
dans un


autre userform) là où elle a été interrompue par l'affichage de la boite
de


dialogue.
Les valeurs que je donne aux variables derrière le bouton "oui" ou "non"
sont toujours à zéro quand je reviens dans la procédure initiale.
Merci de m'avoir lu
bonne journée.






Avatar
Michel Gaboly
Bonjour,

Une variable publique a pour fonction d'être accessible à partir de tout
module.

Il ne faut donc la déclarer qu'une fois. Par ailleurs, une variable
publique doit être déclarée dans un module standard. Elle est sans effet
si tu la déclares dans le module d'un UserForm, d'une feuille, dans le
module ThisWorkbook ou tout autre module de classe.

Supprime donc tes 2 déclarations, qui sont dans des modules de UserForm,
et réécris

Public ouival as Integer

en haut d'un module standard, en dessous de l'éventuel "Option Explicit".
Avatar
Modeste
Bonsour®
quoique tu fasses, de toutes façons (msgbox ou userform)
une partie de l'écran est forcément occultée, il te
faudra donc necessairement (par algorithme ???) décider
de la position la moins pénalisante ...

----->Je suis allé sur excelabo mais je ne suis pas
capable de récupérer les codes

il n'y a qu'a télécharger les exemples :
http://www.excelabo.net/xl/compteclic.php?nom=mp-msgbox

-----> et de les comprendre.
-----> Je ne sais pas où je vais évidemment si c'est une
montagne on laisse tomber.

nul besoin d'étre alpiniste, mais de toutes façons de
bonnes chaussures de marche sont recommandées !!!! ;o)))
http://nossphil.perso.cegetel.net/mesliens_excel.html#CVB

pour atteindre les sommets :
http://www.excelabo.net/xl/compteclic.php?nom=mp-
usformtransparent

;o))
bon courage
@+
Avatar
GIBI68
Je vais passer pour le blaireau de service mais tant pis :
Qu'est-ce qu'un module standard ??
Merci encore


"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Une variable publique a pour fonction d'être accessible à partir de tout
module.

Il ne faut donc la déclarer qu'une fois. Par ailleurs, une variable
publique doit être déclarée dans un module standard. Elle est sans effet
si tu la déclares dans le module d'un UserForm, d'une feuille, dans le
module ThisWorkbook ou tout autre module de classe.

Supprime donc tes 2 déclarations, qui sont dans des modules de UserForm,
et réécris

Public ouival as Integer

en haut d'un module standard, en dessous de l'éventuel "Option Explicit".


Avatar
GIBI68
STOP annule question précédente j'ai trouve le module standard et ça marche
Merci beaucoup pour tout
Je m'endormirai moins bête
bonne journée


"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Une variable publique a pour fonction d'être accessible à partir de tout
module.

Il ne faut donc la déclarer qu'une fois. Par ailleurs, une variable
publique doit être déclarée dans un module standard. Elle est sans effet
si tu la déclares dans le module d'un UserForm, d'une feuille, dans le
module ThisWorkbook ou tout autre module de classe.

Supprime donc tes 2 déclarations, qui sont dans des modules de UserForm,
et réécris

Public ouival as Integer

en haut d'un module standard, en dessous de l'éventuel "Option Explicit".


Avatar
Michel Gaboly
Bonne journée à toi aussi ;-))

STOP annule question précédente j'ai trouve le module standard et ça marche
Merci beaucoup pour tout
Je m'endormirai moins bête
bonne journée


"Michel Gaboly" a écrit dans le message de news:


Bonjour,

Une variable publique a pour fonction d'être accessible à partir de tout
module.

Il ne faut donc la déclarer qu'une fois. Par ailleurs, une variable
publique doit être déclarée dans un module standard. Elle est sans effet
si tu la déclares dans le module d'un UserForm, d'une feuille, dans le
module ThisWorkbook ou tout autre module de classe.

Supprime donc tes 2 déclarations, qui sont dans des modules de UserForm,
et réécris

Public ouival as Integer

en haut d'un module standard, en dessous de l'éventuel "Option Explicit".







--
Cordialement,

Michel Gaboly
www.gaboly.com