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
A voir également:
Problème d'affichage d'un UF au démarrage d'un classeur excel
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 22 févr. 2013 à 09:29
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.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 22 févr. 2013 à 09:37
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)
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 22 févr. 2013 à 14:05
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.
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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 22 févr. 2013 à 15:40
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é.