cs_bobino75
Messages postés20Date d'inscriptionvendredi 3 octobre 2008StatutMembreDernière intervention14 août 2012
-
13 août 2012 à 17:33
cs_bobino75
Messages postés20Date d'inscriptionvendredi 3 octobre 2008StatutMembreDernière intervention14 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.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
cs_bobino75
Messages postés20Date d'inscriptionvendredi 3 octobre 2008StatutMembreDernière intervention14 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.
cs_bobino75
Messages postés20Date d'inscriptionvendredi 3 octobre 2008StatutMembreDernière intervention14 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.