Afficher un formulaire UserForm dans Excel

Résolu
cs_bobino75
Messages postés
20
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
14 août 2012
- 13 août 2012 à 17:33
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!

4 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
14 août 2012 à 00:32
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.
3
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
13 août 2012 à 17:43
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)
0
cs_bobino75
Messages postés
20
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
14 août 2012

13 août 2012 à 19:48
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.
0
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
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é.
0