Diplayalerts+masquer/afficher, VBA excel
françois
-
françois -
françois -
Bonjour,
Objet : excel VBA diplayalertes
Bonjour
J’ai fait une fiche pour mon boulot.
Pour forcer l’utilisateur à activer les macros, la fiche s’affiche à l’ouverture du classeur (workbook open) et se masque à la fermeture (beforclose). L’utilisateur ne voit la fiche qu’en activant les macros.
J’ai modifier dans (before close) le mode d’enregistrement du fichier pour qu’ils ne puissent pas l’écraser. Pour ne pas être « parasiter » par les messages d’alertes, j’ai utiliser « Displayalertes ».
Mais du fait que des feuilles s’affichent et se masquent, displayalerts ne joue plus son rôle. (J’ai vérifier en manuel, c’est bien afficher et masquer qui pose problem)
Est-ce que quelqu’un à une idée ?
Merci d’avance.
Objet : excel VBA diplayalertes
Bonjour
J’ai fait une fiche pour mon boulot.
Pour forcer l’utilisateur à activer les macros, la fiche s’affiche à l’ouverture du classeur (workbook open) et se masque à la fermeture (beforclose). L’utilisateur ne voit la fiche qu’en activant les macros.
J’ai modifier dans (before close) le mode d’enregistrement du fichier pour qu’ils ne puissent pas l’écraser. Pour ne pas être « parasiter » par les messages d’alertes, j’ai utiliser « Displayalertes ».
Mais du fait que des feuilles s’affichent et se masquent, displayalerts ne joue plus son rôle. (J’ai vérifier en manuel, c’est bien afficher et masquer qui pose problem)
Est-ce que quelqu’un à une idée ?
Merci d’avance.
A voir également:
- Vba application.displayalerts
- Excel compter cellule couleur sans vba - Guide
- Find vba - Astuces et Solutions
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
8 réponses
Merci
Pour "securité macro moyenne" et certificat c'est ce que j'ai fait, mais ca ne suffit pas, pour la prmière fois j'ai besoins qu'il ne puissent pas acceder à la fiche, et puis comme c'est pas forcément le m^me opérateur qui bosse dessus...
pour application.screenupdating=false, j'ai essayé, mais ca ne marche pas, ou alors je n'ai pas compris.
voilà ce que j'ai mis dans this workbook, si qq'un voit le problème?
merci
Private Sub Workbook_Open()
Application.DisplayAlerts = False
Sheets("Feuil1").Visible = True
Sheets("feuil2").Visible = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
a = MsgBox("Voulez-vous enregistrer avant de quitter?", vbYesNo + vbDefaultButton2)
If a = vbNo Then 'debut de bloc
End If
If a = vbYes Then 'debut de bloc
Application.Dialogs(xlDialogSaveAs).Show
End If
Sheets("feuil2").Visible = True
Sheets("feuil1").Visible = False
Application.DisplayAlerts = True
End Sub
Pour "securité macro moyenne" et certificat c'est ce que j'ai fait, mais ca ne suffit pas, pour la prmière fois j'ai besoins qu'il ne puissent pas acceder à la fiche, et puis comme c'est pas forcément le m^me opérateur qui bosse dessus...
pour application.screenupdating=false, j'ai essayé, mais ca ne marche pas, ou alors je n'ai pas compris.
voilà ce que j'ai mis dans this workbook, si qq'un voit le problème?
merci
Private Sub Workbook_Open()
Application.DisplayAlerts = False
Sheets("Feuil1").Visible = True
Sheets("feuil2").Visible = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
a = MsgBox("Voulez-vous enregistrer avant de quitter?", vbYesNo + vbDefaultButton2)
If a = vbNo Then 'debut de bloc
End If
If a = vbYes Then 'debut de bloc
Application.Dialogs(xlDialogSaveAs).Show
End If
Sheets("feuil2").Visible = True
Sheets("feuil1").Visible = False
Application.DisplayAlerts = True
End Sub
Salut,
Pour forcer l'utilisateur à activer les macros??? Pourquoi pas directement dans les options excel :
Outils/options/ onglet sécurité / sécurité des macros niveau faible il me semble.
Pour forcer l'utilisateur à activer les macros??? Pourquoi pas directement dans les options excel :
Outils/options/ onglet sécurité / sécurité des macros niveau faible il me semble.
merci de répondre
Par que c'est une fiche que j'envoi à un certains nombre de clients, et que je ne peux pas leur demander de mettre leur macro en niveaux de sécurité faible.
Si apres ils ont un pbs de virus, je crois que j'aurais des problèmes,
Par que c'est une fiche que j'envoi à un certains nombre de clients, et que je ne peux pas leur demander de mettre leur macro en niveaux de sécurité faible.
Si apres ils ont un pbs de virus, je crois que j'aurais des problèmes,
bonjour
Mais du fait que des feuilles s’affichent et se masquent
si tu veux éviter et si j'ai bien compris
application.screenupdating=false
pour forcer en macro (tu peux mettre en niveau moyen) tu as la possibilité de signature électronique qui demandera à la première utilisation si on peut te faire confiance. autre avantage: si le client modifie ta macro, le certificat n'est + valable
D'autre part, il est d'usage de signaler lors de la livraison au client qu'il est prudent de scanner contre les virus tout nouveau fichier
ca te couvre vis à vis du client
Mais du fait que des feuilles s’affichent et se masquent
si tu veux éviter et si j'ai bien compris
application.screenupdating=false
pour forcer en macro (tu peux mettre en niveau moyen) tu as la possibilité de signature électronique qui demandera à la première utilisation si on peut te faire confiance. autre avantage: si le client modifie ta macro, le certificat n'est + valable
D'autre part, il est d'usage de signaler lors de la livraison au client qu'il est prudent de scanner contre les virus tout nouveau fichier
ca te couvre vis à vis du client
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui, mais
tu ne veux pas de niveau de sécurité bas
tu ne veux pas de niveau de sécurité moyen
tu ne veux pas de certificats...
Alors n'emploie pas de macros.
tu ne veux pas de niveau de sécurité bas
tu ne veux pas de niveau de sécurité moyen
tu ne veux pas de certificats...
Alors n'emploie pas de macros.
Sisi
Pardon j’ai pas bien expliqué
J’ai bien fait un certificat. Quand le gars ouvre ma fiche sans activer les macros il tombe sur une fiche « aide » qui luis explique qu’il doit activer les macros, accepter mon certificat, et mettre le niveau de secu en moyen.
C’est l’interet d’une partie de la macro.
Une fois les macros activées elles masquent la fiche « aide » et font apparaître la vrai fiche.
Le probleme c’est que ce masquage de la fiche "aide "au début de ma macro bloque la fonction application.displayalerts=false, (enfin je crois)
Est-ce que tu vois ce que je veux dire ?
Merci
Pardon j’ai pas bien expliqué
J’ai bien fait un certificat. Quand le gars ouvre ma fiche sans activer les macros il tombe sur une fiche « aide » qui luis explique qu’il doit activer les macros, accepter mon certificat, et mettre le niveau de secu en moyen.
C’est l’interet d’une partie de la macro.
Une fois les macros activées elles masquent la fiche « aide » et font apparaître la vrai fiche.
Le probleme c’est que ce masquage de la fiche "aide "au début de ma macro bloque la fonction application.displayalerts=false, (enfin je crois)
Est-ce que tu vois ce que je veux dire ?
Merci
Fait des efforts pour expliquer: on a que ce tu as écrit pour essayer de t'aider
D'ailleurs, en te disant: la personne doit pouvoir comprendre sans aucune ambiguïté quel mon problème, tu trouveras très souvent la solution (expérience personnelle).
application.displayalerts=false, est très dangereux à utiliser et démontre souvent que l'auteur connait mal VBA car excluant toute alerte ou erreur de programmation...si quelqu'un connait un peu VBA chez ton client, adieu les marchés (comme l'emploi de select-selection et/ou de copy-paste. au passage).
à la rigueur emploie le à la fin juste avant de sauvegarder
D'ailleurs, en te disant: la personne doit pouvoir comprendre sans aucune ambiguïté quel mon problème, tu trouveras très souvent la solution (expérience personnelle).
application.displayalerts=false, est très dangereux à utiliser et démontre souvent que l'auteur connait mal VBA car excluant toute alerte ou erreur de programmation...si quelqu'un connait un peu VBA chez ton client, adieu les marchés (comme l'emploi de select-selection et/ou de copy-paste. au passage).
à la rigueur emploie le à la fin juste avant de sauvegarder
If a = vbYes Then 'debut de bloc
Sheets("feuil2").Visible = xlsheetvisible
Sheets("feuil1").Visible = xlsheethidden
Application.DisplayAlerts =False
Application.Dialogs(xlDialogSaveAs).Show
Application.DisplayAlerts = True
End If
end sub
Merci michel
C’est vrai c’est la première fois que j’utilise un forum, la prochaine fois je ferrai un truc un peu plus carré.
Je comprends pas pquoi mais display alerte ne fonctionne toujours pas !
Tant pis si tu dis que ca peux poser des pbs je vais essayer de trouver autre chose
En tout cas merci beaucoup pour ton aide
Cordialement
Francois
C’est vrai c’est la première fois que j’utilise un forum, la prochaine fois je ferrai un truc un peu plus carré.
Je comprends pas pquoi mais display alerte ne fonctionne toujours pas !
Tant pis si tu dis que ca peux poser des pbs je vais essayer de trouver autre chose
En tout cas merci beaucoup pour ton aide
Cordialement
Francois