Afficher un formulaire UserForm dans Excel [Résolu]

Messages postés
20
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
14 août 2012
- - Dernière réponse : cs_bobino75
Messages postés
20
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
14 août 2012
- 14 août 2012 à 15:07
Bonjour à tous,

J'ai une question de programmation en VBA sur Excel.

J'utilise un code pour cacher des onglets si l'usager n'accepte pas d'activer les macros.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Sheets("AlerteMacro").Visible = True
Sheets("Fiche").Visible = False
Sheets("Combo").Visible = False
ActiveWorkbook.Save
End Sub

Private Sub Workbook_Open()
Sheets("Fiche").Visible = True
Sheets("Combo").Visible = True
Sheets("AlerteMacro").Visible = False
End Sub


Ce code fonctionne correctement, mais mon problème vient par la suite.

Si l'usager accepte d'activer les macros, j'aimerais que mon formulaire VB, se trouvant dans form, s'affiche automatiquement. Avant d'utiliser le code si haut, j'utilisais form.show mais maintenant, ça ne fonctionnement plus.

Pouvez-vous m'aider SVP?

Merci!
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
62
3
Merci
Ok
Commence par renommer ta forme; ce nom est|ressemble un mot clé du langage et le problème peut venir de là.
Devant le .Show, ajoute un DoEvents; cela laissera le temps à la machine de masquer tes feuilles, au cas om le problème vient de ce coin là.

Y a t-il du code dans ta forme ?
Rappel : maForme.Show charge et affiche une UserForm et les lignes situées derrière ne s'exécuteront pas tout de suite (uniquement une fois que la forme aura été déchargée).
Par contre, le code situé dans la forme s'exécutera aussitôt après avoir chargé la forme.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
62
0
Merci
Salut

"j'utilisais form.show mais maintenant, ça ne fonctionnement plus"
Et pourquoi ?
Maintenant ... que quoi ?
Quel est ton problème avec cette commande ?
(en supposant que ta UserForm s'appelle "form" (pas judicieux)

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 la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
20
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
14 août 2012
0
Merci
Bonjour,

Oui, oui, mon UserForm s'appelle form. ;-)

Quand j'ajoute form.show dans le Private Sub Workbook_Open(), j'ai le message "L'indice n'appartient pas à la sélection". Quand je dis que maintenant, ça ne fonctionne pas, c'est que je n'avais que la ligne form.show dans mon Workbook_Open() mais que maintenant, avec le code pour cacher des onglets et d'afficher un onglet si les macros ne sont pas activées, ça ne fonctionne pas et j'ai ce message.

Merci pour votre aide.
Commenter la réponse de cs_bobino75
Messages postés
20
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
14 août 2012
0
Merci
Merci Jack.

J'ai fais quelques modifications et ça fonctionne. Je crois que le fait d'avoir changer le nom du Form a beaucoup aidé. Le DoEvents ne semble pas faire la différence.

Mais bon, ça fonctionne comme je voulais.

Merci beaucoup Jack, c'est très apprécié.
Commenter la réponse de cs_bobino75