(vba) msg si macro non activée

Le
j-pascal
Bonjour,

Si un utilisateur lance une application sans avoir activé les macros, il
faut pouvoir lui indiquer que l'appli n'est pas "utilisable".

J'avais pensé afficher un msg d'information dans une feuille (affichée par
défaut) si les macros ne sont pas activées, et a contrario, masquer cette
feuille et afficher la ou les feuille(s) "utilisables"

Ceci serait ma méthode, mais je suis sûr que vous en avez une bien meilleure
!

Si ce n'est pas un secret : laquelle ?

Merci ?


--
Cordialement @+
JP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4231491
Bonjour.
Je ne sais pas s'il y en a d'autres.
Il faut que tes feuilles soient "veryhidden" afin que l'utilisateur ne
puisse pas les afficher:
Sheets(1).Visible = xlVeryHidden
D'autre part, tu dois les masquer avant la fermeture du classeur et cela
t'oblige à enregistrer avant de fermer, que l'utilisateur soit d'accord ou
non.
Cordialement.
Daniel
"j-pascal" ez%
Bonjour,

Si un utilisateur lance une application sans avoir activé les macros, il
faut pouvoir lui indiquer que l'appli n'est pas "utilisable".

J'avais pensé afficher un msg d'information dans une feuille (affichée par
défaut) si les macros ne sont pas activées, et a contrario, masquer cette
feuille et afficher la ou les feuille(s) "utilisables"...

Ceci serait ma méthode, mais je suis sûr que vous en avez une bien
meilleure !

Si ce n'est pas un secret : laquelle ?

Merci ?


--
Cordialement @+
JP


olivier descamps
Le #4231291
C'est effectivement la méthode que j'emploie.
Dans la partie thisworkbook, tu intéresses les deux macros ci-dessous

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets(1).Visible = xlSheetVisible
Sheets(2).Visible = xlVeryHidden
Sheets(3).Visible = xlVeryHidden
Sheets(4).Visible = xlVeryHidden

End Sub

Private Sub Workbook_Open()
Sheets(2).Visible = xlSheetVisible
Sheets(3).Visible = xlSheetVisible
Sheets(4).Visible = xlSheetVisible
Sheets(1).Visible = xlVeryHidden
End Sub

Sur la feuille 1 tu mets ton message d'alerte et tes données en feuilles
2, 3 et 4 sont protégées.

En résumé, quand tu fermes ton classeur, il vérouille et cache les
feuilles 2, 3 et 4 et ne laisse que la feuille 1 active.
A l'ouverture si tu refuses d'activiter les macros, tu ne verras que ton
message d'alerte de la feuille 1. Si tu les autorise, ton message
d'alerte et caché et tes données sont accessibles.

A+

Olivier

Bonjour.
Je ne sais pas s'il y en a d'autres.
Il faut que tes feuilles soient "veryhidden" afin que l'utilisateur ne
puisse pas les afficher:
Sheets(1).Visible = xlVeryHidden
D'autre part, tu dois les masquer avant la fermeture du classeur et cela
t'oblige à enregistrer avant de fermer, que l'utilisateur soit d'accord ou
non.
Cordialement.
Daniel
"j-pascal" ez%

Bonjour,

Si un utilisateur lance une application sans avoir activé les macros, il
faut pouvoir lui indiquer que l'appli n'est pas "utilisable".

J'avais pensé afficher un msg d'information dans une feuille (affichée par
défaut) si les macros ne sont pas activées, et a contrario, masquer cette
feuille et afficher la ou les feuille(s) "utilisables"...

Ceci serait ma méthode, mais je suis sûr que vous en avez une bien
meilleure !

Si ce n'est pas un secret : laquelle ?

Merci ?


--
Cordialement @+
JP








j-pascal
Le #4228301
Bonsoir Olivier,

Un très grand merci pour cette procédure que j'ai pu mettre à profit sans
difficulté.
Là encore, je sens la macro qui va m'accompagner longtemps ... longtemps ;-)

Cordialement,

JP


"olivier descamps" 45eb0ab5$0$3482$
C'est effectivement la méthode que j'emploie.
Dans la partie thisworkbook, tu intéresses les deux macros ci-dessous

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets(1).Visible = xlSheetVisible
Sheets(2).Visible = xlVeryHidden
Sheets(3).Visible = xlVeryHidden
Sheets(4).Visible = xlVeryHidden

End Sub

Private Sub Workbook_Open()
Sheets(2).Visible = xlSheetVisible
Sheets(3).Visible = xlSheetVisible
Sheets(4).Visible = xlSheetVisible
Sheets(1).Visible = xlVeryHidden
End Sub

Sur la feuille 1 tu mets ton message d'alerte et tes données en feuilles
2, 3 et 4 sont protégées.

En résumé, quand tu fermes ton classeur, il vérouille et cache les
feuilles 2, 3 et 4 et ne laisse que la feuille 1 active.
A l'ouverture si tu refuses d'activiter les macros, tu ne verras que ton
message d'alerte de la feuille 1. Si tu les autorise, ton message d'alerte
et caché et tes données sont accessibles.

A+

Olivier

Bonjour.
Je ne sais pas s'il y en a d'autres.
Il faut que tes feuilles soient "veryhidden" afin que l'utilisateur ne
puisse pas les afficher:
Sheets(1).Visible = xlVeryHidden
D'autre part, tu dois les masquer avant la fermeture du classeur et cela
t'oblige à enregistrer avant de fermer, que l'utilisateur soit d'accord
ou non.
Cordialement.
Daniel
"j-pascal" ez%

Bonjour,

Si un utilisateur lance une application sans avoir activé les macros, il
faut pouvoir lui indiquer que l'appli n'est pas "utilisable".

J'avais pensé afficher un msg d'information dans une feuille (affichée
par défaut) si les macros ne sont pas activées, et a contrario, masquer
cette feuille et afficher la ou les feuille(s) "utilisables"...

Ceci serait ma méthode, mais je suis sûr que vous en avez une bien
meilleure !

Si ce n'est pas un secret : laquelle ?

Merci ?


--
Cordialement @+
JP









j-pascal
Le #4228291
Merci ;-)

JP

"Daniel"
Bonjour.
Je ne sais pas s'il y en a d'autres.
Il faut que tes feuilles soient "veryhidden" afin que l'utilisateur ne
puisse pas les afficher:
Sheets(1).Visible = xlVeryHidden
D'autre part, tu dois les masquer avant la fermeture du classeur et cela
t'oblige à enregistrer avant de fermer, que l'utilisateur soit d'accord ou
non.
Cordialement.
Daniel
"j-pascal" ez%
Bonjour,

Si un utilisateur lance une application sans avoir activé les macros, il
faut pouvoir lui indiquer que l'appli n'est pas "utilisable".

J'avais pensé afficher un msg d'information dans une feuille (affichée
par défaut) si les macros ne sont pas activées, et a contrario, masquer
cette feuille et afficher la ou les feuille(s) "utilisables"...

Ceci serait ma méthode, mais je suis sûr que vous en avez une bien
meilleure !

Si ce n'est pas un secret : laquelle ?

Merci ?


--
Cordialement @+
JP






Publicité
Poster une réponse
Anonyme