Problème d'affichage d'un UF au démarrage d'un classeur excel [Résolu]

Signaler
-
 fabiendag -
Bonjour a tous,

j'ai un problème au démarrage d'un classeur excel. J'ai une macro qui affiche la fenêtre en plein écran et ensuite affiche un formulaire. Le problème est que le formulaire n'apparait que lorsque je clique dans ma feuille de calcul ou dans le classeur d'ailleurs je sais pas. Je ne sais pas pourquoi.
J'ai essayé de démarrer en enlevant le plein écran mais ca ne change rien. J'ai cherché sur plusieurs forums, mais je n'ai rien trouvé qui corresponde à mon problème.
Si quelqu'un a une idée, je suis preneur parce que la je sèche.
Merci d'avance


Fabien

14 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bonjour,
Impossible de te répondre sans voir ton code de démarrage (et en particulier celui qui affiche le userform) !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut

Mettons-nous d'accord sur les termes :
"une macro qui affiche la fenêtre en plein écran"
la fenêtre : Feuille Excel ?
"et ensuite affiche un formulaire"
Formulaire : UserForm ?

Quelle est ta méthode d'appel de ta UserForm ?
Normalement, un Show donne le focus à la UF et il n'y a plus que le code de la UF qui s'exécute (avec .Show classique = vbModal).
Donne des détails sur ta méthode d'appel de la UF

Y a-t il du code dans les évènements du genre Activate ou Initialize de ta UF ?
Tu peux tenter de donner le focus à une TextBox par exemple :
maTextBox.SetFocus

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
Bonjour et merci pour ta réponse,

je suis nouveau ici et je ne sais pas comment je peux joindre un fichier à mon message. Si tu pouvais me dire ca que je t'envoie mon code...
merci d'avance.
Fabien
alors pardon si je suis un peu flou dans mes propos,
C'est bien le classeur qui s'affiche en plein écran au démarrage.
puis le userform est affiché par un userform.show à l'ouverture du classeur. J'ai rajouté un vbmodal pour tester aussi, mais ca ne change rien.
oui il y a du code dans UF.initialize qui permet de masquer la barre de titre de l'UF.
je vais essayer en donnant le focus à un objet de mon UF et je vous tiens au courant.

Fabien
Petite question bête au sujet du focus. Si je le met après l'userform.show, il ne va pas s'éxécuter...

Fabien
Alors j'ai mis le setfocus d'un controle dans l'initialize du UF et ca marche...

merci beaucoup à vous 2 pour votre aide.

Je comprend quand même pas pourquoi j'ai eu un soucis sur cet affichage, mais bon là ca marche... tant mieux


Fabien
Problème Résolu


Fabien
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
La méthode .Show toute seule sous-entend vbModal, c'est à dire que le code de la procédure restera figé tant que la forme appelée est visible (*).
L'usage de .Show vbModeless n'est pas conseillée sous Excel.
Dans ce cas de figure, le code qui suit le .Show sera exécuté immédiatement sans attendre la disparation à l'écran (*) de la forme.

(*) J'ai bien dit "disparation à l'écran", c'est à dire qu'un .Hide suffit, pas forcement un Unload.
Justement, j'avais mis userform.show vbmodal
et il fallait que je clique dans ma feuille de calcul pour faire apparaitre le formulaire.
c'est ca que je trouve bizarre... mais bon maintenant ca marche... je cherche pas plus loin pour l'instant on verra quand j'aurais un peu plus de temps.

Fabien
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Ton bout de code n'était probablement pas dans Private Sub Workbook_Open() du module ThisWorkbook

Sinon nul besoin de cliquer la feuille...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
en fait dans workbook_open j'appelais une procédure qui faisait plein de truc et affichait ensuite le formulaire... donc indirectement oui le bout de code était dans workbook_open


Fabien
comment je fais pour joindre un fichier ici ?


Fabien
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Tu stockes le fichier sur un serveur internet et tu colles le lien (icone chaine) dans le message.
Ne propose pas ton fichier Excel : personne ne le chargera, par sécurité.
ok merci, je verrais ca lundi
merci encore de ton aide :)


Fabien