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

CTRLer l'affichage d'une UsF à l'initialisation

11 réponses
Avatar
PAN GOT
Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick

10 réponses

1 2
Avatar
isabelle
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :
Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick





Avatar
michdenis
Bonjour Isabelle,

La commande "End" réinitialise toutes les variables.
C'est un peu extrême pour empêcher un formulaire de
s'afficher.
Pourquoi ne pas mettre la condition avant l'affichage du formulaire :

If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if




"isabelle" a écrit dans le message de groupe de discussion :
#
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :
Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick





Avatar
isabelle
bonjour Denis,

ça ne fonctionne pas sur xl2002, j'ai également tester exit sub sans
succes,

isabelle

michdenis a écrit :
Bonjour Isabelle,

La commande "End" réinitialise toutes les variables.
C'est un peu extrême pour empêcher un formulaire de
s'afficher.
Pourquoi ne pas mettre la condition avant l'affichage du formulaire :

If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if




"isabelle" a écrit dans le message de groupe de discussion :
#
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :

Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick








Avatar
papou
Bonjour Isabelle ;-)
Il est peut-être utile de signaler que l'instruction "End" arrêtera toute
l'exécution du code ?
Donc si notre utilisateur veut afficher, un message d'alerte par exemple, il
faudra qu'il le positionne avant l'instruction End.
Private Sub UserForm_Initialize()
If MonControle = True Then
Msgbox "J'arrête de bosser !"
End
End If
End Sub

Cordialement
Pascal

"isabelle" a écrit dans le message de news:
%
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :
Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je
n'affiche rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick






Avatar
michdenis
Qu'est-ce qui ne fonctionne pas ?




"isabelle" a écrit dans le message de groupe de discussion :

bonjour Denis,

ça ne fonctionne pas sur xl2002, j'ai également tester exit sub sans
succes,

isabelle

michdenis a écrit :
Bonjour Isabelle,

La commande "End" réinitialise toutes les variables.
C'est un peu extrême pour empêcher un formulaire de
s'afficher.
Pourquoi ne pas mettre la condition avant l'affichage du formulaire :

If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if




"isabelle" a écrit dans le message de groupe de discussion :
#
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :

Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick








Avatar
isabelle
il y a un erreur d'exécution 400:
feuille déjà affichée; affichage modal impossible

isabelle

michdenis a écrit :
Qu'est-ce qui ne fonctionne pas ?




"isabelle" a écrit dans le message de groupe de discussion :

bonjour Denis,

ça ne fonctionne pas sur xl2002, j'ai également tester exit sub sans
succes,

isabelle

michdenis a écrit :

Bonjour Isabelle,

La commande "End" réinitialise toutes les variables.
C'est un peu extrême pour empêcher un formulaire de
s'afficher.
Pourquoi ne pas mettre la condition avant l'affichage du formulaire :

If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if




"isabelle" a écrit dans le message de groupe de discussion :
#
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :


Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick











Avatar
michdenis
Il doit y avoir une commande qui lance le formulaire et
si tu utilises ceci, pourquoi il y aurait une erreur 400 ?

'------------------------------
sub Test()
If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if
End Sub
'------------------------------


"isabelle" a écrit dans le message de groupe de discussion :

il y a un erreur d'exécution 400:
feuille déjà affichée; affichage modal impossible

isabelle

michdenis a écrit :
Qu'est-ce qui ne fonctionne pas ?




"isabelle" a écrit dans le message de groupe de discussion :

bonjour Denis,

ça ne fonctionne pas sur xl2002, j'ai également tester exit sub sans
succes,

isabelle

michdenis a écrit :

Bonjour Isabelle,

La commande "End" réinitialise toutes les variables.
C'est un peu extrême pour empêcher un formulaire de
s'afficher.
Pourquoi ne pas mettre la condition avant l'affichage du formulaire :

If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if




"isabelle" a écrit dans le message de groupe de discussion :
#
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :


Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick











Avatar
isabelle
de cette facon, oui, mais ce n'est pas à l'initialisation mais avant
celle ci,
le demandeur saura nous dire pourquoi il a insisté sur ce, dans sa demande,

isabelle

michdenis a écrit :
Il doit y avoir une commande qui lance le formulaire et
si tu utilises ceci, pourquoi il y aurait une erreur 400 ?

'------------------------------
sub Test()
If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if
End Sub
'------------------------------


"isabelle" a écrit dans le message de groupe de discussion :

il y a un erreur d'exécution 400:
feuille déjà affichée; affichage modal impossible

isabelle

michdenis a écrit :

Qu'est-ce qui ne fonctionne pas ?




"isabelle" a écrit dans le message de groupe de discussion :

bonjour Denis,

ça ne fonctionne pas sur xl2002, j'ai également tester exit sub sans
succes,

isabelle

michdenis a écrit :


Bonjour Isabelle,

La commande "End" réinitialise toutes les variables.
C'est un peu extrême pour empêcher un formulaire de
s'afficher.
Pourquoi ne pas mettre la condition avant l'affichage du formulaire :

If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if




"isabelle" a écrit dans le message de groupe de discussion :
#
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :



Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick














Avatar
michdenis
Si on met à commande à l'initialisation du formulaire,
comme ce dernier n'existe pas encore, il est difficile de
l'interpeler pour lui dire de se fermer !



"isabelle" a écrit dans le message de groupe de discussion :

de cette facon, oui, mais ce n'est pas à l'initialisation mais avant
celle ci,
le demandeur saura nous dire pourquoi il a insisté sur ce, dans sa demande,

isabelle

michdenis a écrit :
Il doit y avoir une commande qui lance le formulaire et
si tu utilises ceci, pourquoi il y aurait une erreur 400 ?

'------------------------------
sub Test()
If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if
End Sub
'------------------------------


"isabelle" a écrit dans le message de groupe de discussion :

il y a un erreur d'exécution 400:
feuille déjà affichée; affichage modal impossible

isabelle

michdenis a écrit :

Qu'est-ce qui ne fonctionne pas ?




"isabelle" a écrit dans le message de groupe de discussion :

bonjour Denis,

ça ne fonctionne pas sur xl2002, j'ai également tester exit sub sans
succes,

isabelle

michdenis a écrit :


Bonjour Isabelle,

La commande "End" réinitialise toutes les variables.
C'est un peu extrême pour empêcher un formulaire de
s'afficher.
Pourquoi ne pas mettre la condition avant l'affichage du formulaire :

If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if




"isabelle" a écrit dans le message de groupe de discussion :
#
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :



Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick














Avatar
PAN GOT
Bonjour,
pour etre precis, j'ai un bouton de commande sur ma feuille qui me permet de
lancer ce formulaire.
C'est donc à l'initialisation de la feuille que je fait une boucle de ctrl
et c'est seulement apres cette boucle que je recupere des info que je place
dans une lisbox pour le choix de l'utilisateur. si il 'y a pas de choix
possible parce qu'il n'y en a 1, je voulais lancer le traitement directement
sans le formulaire.
J'ai essayé 'exit sub' mais ça ne marche pas. Le formulaire s'affiche quand
même. J'ai bypasser le probleme en utilisant une multipage ce qui me permet
de mettre un message "Traitement terminé" avec un bouton OK ou ma listbox.
Mais je ne trouve pas çà terrible.
Je vais essayer les deux solutions.
Merci et bonne soirée


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

Si on met à commande à l'initialisation du formulaire,
comme ce dernier n'existe pas encore, il est difficile de
l'interpeler pour lui dire de se fermer !



"isabelle" a écrit dans le message de groupe de discussion :

de cette facon, oui, mais ce n'est pas à l'initialisation mais avant
celle ci,
le demandeur saura nous dire pourquoi il a insisté sur ce, dans sa
demande,

isabelle

michdenis a écrit :
Il doit y avoir une commande qui lance le formulaire et
si tu utilises ceci, pourquoi il y aurait une erreur 400 ?

'------------------------------
sub Test()
If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if
End Sub
'------------------------------


"isabelle" a écrit dans le message de groupe de discussion :

il y a un erreur d'exécution 400:
feuille déjà affichée; affichage modal impossible

isabelle

michdenis a écrit :

Qu'est-ce qui ne fonctionne pas ?




"isabelle" a écrit dans le message de groupe de discussion :

bonjour Denis,

ça ne fonctionne pas sur xl2002, j'ai également tester exit sub sans
succes,

isabelle

michdenis a écrit :


Bonjour Isabelle,

La commande "End" réinitialise toutes les variables.
C'est un peu extrême pour empêcher un formulaire de
s'afficher.
Pourquoi ne pas mettre la condition avant l'affichage du formulaire :

If Sheets("Feuil1").Range("A1") <> 1 then
Userform1.Show 0
end if




"isabelle" a écrit dans le message de groupe de discussion :
#
bonjour Pan,

par exemple :

Private Sub UserForm_Initialize()
If Sheets("Feuil1").Range("A1") = 1 Then End
End Sub

isabelle

PAN GOT a écrit :



Bonjour,
Ma question peut paraître bizarre mais je voudrait afficher ou non une
UserForm en fonction d'un contrôle que j'effectue lors de son
initialisation. Si une condition n'est pas remplis, je sors et je
n'affiche
rien.
Quelqu'un aurait une idée sur ça?
Merci d'avance.
Patrick
















1 2