Désactiver Alerte marco [Résolu]
Dernière réponse : dans Programmation
Bonjour à tous,
Je viens de créer une toute petite macro dans un classeur excel qui permet de masquer automatiquement certains onglets. Comme ce classeur est à usage public (donc partagé), je souhaiterais que ces onglets restent masqués sans que personne ne puisse accéder à ces macros. Or lors de chaque ouverture, Excel affiche le message sécurité traditionnel relatif aux macros.
Comment pourrais-je m'y prendre pour éviter que ce message n'apparaissent.
On peut utiliser la ligne application.displayalerts je crois, mais ne connaissant franchement pas grand chose à la programmation, je ne sais pas trop comment m'y prendre.
Quelqu"un pourrait m'aiguiller, svp ?
Merci.
Je viens de créer une toute petite macro dans un classeur excel qui permet de masquer automatiquement certains onglets. Comme ce classeur est à usage public (donc partagé), je souhaiterais que ces onglets restent masqués sans que personne ne puisse accéder à ces macros. Or lors de chaque ouverture, Excel affiche le message sécurité traditionnel relatif aux macros.
Comment pourrais-je m'y prendre pour éviter que ce message n'apparaissent.
On peut utiliser la ligne application.displayalerts je crois, mais ne connaissant franchement pas grand chose à la programmation, je ne sais pas trop comment m'y prendre.
Quelqu"un pourrait m'aiguiller, svp ?
Merci.
Autres pages sur : desactiver alerte marco resolu
Lassé par la pub ? Créez un compte
Meilleure solution
Gestion_conventions a dit :
J'ai testé, mais c'est pas ce que je cherchais, même si ça semble fonctionner -> j'ai évidement toujours un message d'alerte. Potentiellement les utilisateurs peuvent donc activer la macro et afficher les onglets cachés.Merci quand même.
Si tu ne veut pas de message, met la macro dans ton classeur perso (perso.xls), seul toi pourra les exécuter.
Ce code répond à ça :
Citation :
Hélas pour afficher à nouveau les feuilles, il faut procéder une à une et ... j'en ai près de 20 ! Un peu fastidieux.
Par contre si tu veut garder ta méthode et cacher les feuilles à l'ouverture et désactiver les message permettant de ne pas exécuter les macros dans un classeur, à priori, je ne pense pas que ce soit possible pour des raison évidentes de sécurité. Sauf à signer tes macros et configurer tout les excel client à ne pas afficher de messages pour les macros signées.
zeb a dit :
Bonjour. Merci de lire le règlement, en particulier à la rubrique balise [code], et de modifier le précédent message en conséquence.Je voudrais bien Zeb, mais je suis bloqué par le proxy/firewall de ma boite (c'est une démarche professionnelle, et contacter mon service info. me prendrait beaucoup trop de temps
( lorsque je clique sur le lien (et je ne sais pas pourquoi !) donc pour l'instant je ne peux pas. Désolé.
Bonjour,
Pour masquer des feuilles, les macros ne sont pas utilses : Tu masque tes feuilles (Format -> Feuilles -> Masquer) et tu protège ton classeur par MDP
- Ne pas oublier de décocher la case Verrouillé (Onglet protection du format de cellules) pour toutes les cellules amenées à être modifiées.
Je suis sous office 2000 et ça marche
Pour masquer des feuilles, les macros ne sont pas utilses : Tu masque tes feuilles (Format -> Feuilles -> Masquer) et tu protège ton classeur par MDP
- Ne pas oublier de décocher la case Verrouillé (Onglet protection du format de cellules) pour toutes les cellules amenées à être modifiées.
Je suis sous office 2000 et ça marche
tantal_fr a dit :
Bonjour,Pour masquer des feuilles, les macros ne sont pas utilses : Tu masque tes feuilles (Format -> Feuilles -> Masquer) et tu protège ton classeur par MDP
- Ne pas oublier de décocher la case Verrouillé (Onglet protection du format de cellules) pour toutes les cellules amenées à être modifiées.
Je suis sous office 2000 et ça marche
Je n'y avais pas pensé.
Hélas pour afficher à nouveau les feuilles, il faut procéder une à une et ... j'en ai près de 20 ! Un peu fastidieux. Mais merci quand même de ton idée.
tantal_fr a dit :
Par contre là tu peut utiliser une macro pour les afficher toutes après déverrouillage. Tu peut même la garder dans ton classeur de macro perso, comme ça personne n'a de message.Merci de ta réponse Tantal.
Ca à l'air pas mal, mais je vois pas comment faire (n'oublie pas je suis débutant
). Tu pourrais m'expliquer, stp.Merci.
Voici vite-fait une petite macros qui affiche les feuilles masqués (ne fait rien si le classeur est vérrouillé :
Voila l'idée.
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 02/12/2009 par Yann
'
On Error Resume Next ' Diffère la gestion des erreurs.
'A désactiver pour débogage
For i = 1 To Sheets.Count
Sheets(i).Visible = True
Next i
End Sub
Voila l'idée.
tantal_fr a dit :
Voici vite-fait une petite macros qui affiche les feuilles masqués (ne fait rien si le classeur est vérrouillé :
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 02/12/2009 par Yann
'
On Error Resume Next ' Diffère la gestion des erreurs.
'A désactiver pour débogage
For i = 1 To Sheets.Count
Sheets(i).Visible = True
Next i
End Sub
Voila l'idée.
Merci. J'essaye et vous tiens tous au jus.
A+
@ Gestion_conventions :
Concernant le règlement, j'ai mis des raccourcis dans ma signature. Si le pare-feu de ta boîte les bloque, tu peux aussi lire le topic Quelques règles simples à respecter -- /!\ A lire avant de poster !, mis en haut de la liste des sujets de programmation. Tu y découvriras que le code doit être présenté entre les balises [code] et [/code]. C'est ce qu'a correctement fait Tantal. Clique sur le lien BB Code au dessus de ses messages pour "voir" comment il a fait.
![[:zeb:6] [:zeb:6]]()
Voilà, c'était le shérif qui vous parlait, maintenant (si le règlement est respecté) c'est le simple membre qui vous parle.
@ tantal_fr :
Rhoooo!!!! la pas belle gestion des erreurs ^^
Concernant le règlement, j'ai mis des raccourcis dans ma signature. Si le pare-feu de ta boîte les bloque, tu peux aussi lire le topic Quelques règles simples à respecter -- /!\ A lire avant de poster !, mis en haut de la liste des sujets de programmation. Tu y découvriras que le code doit être présenté entre les balises [code] et [/code]. C'est ce qu'a correctement fait Tantal. Clique sur le lien BB Code au dessus de ses messages pour "voir" comment il a fait.
![[:zeb:6] [:zeb:6]](http://m.bestofmedia.com/sfp/design/usr/fr/smilies/77/40/zeb:6.gif)
Voilà, c'était le shérif qui vous parlait, maintenant (si le règlement est respecté) c'est le simple membre qui vous parle.
@ tantal_fr :
Rhoooo!!!! la pas belle gestion des erreurs ^^
Tiens, c'est justement ce qui gêne Conv'.
Donc :
Eh, tantal, qu'en dis-tu ?
Donc :
If ActiveWorkbook.ProtectStructure Then MsgBox "Vous n'avez pas accès à cette fonctionnalité." & vbCrLf & _ "Administrateur, pour lever cette restriction, ôtez la protection de la feuille (menu: outils/protection)" Exit Sub End If Dim feuille As Sheet For Each feuille In ActiveWorkbook.Sheets feuille.Visible = True Next
Eh, tantal, qu'en dis-tu ?
zeb a dit :
Non, Gestion_conventions, si le classeur (et non pas la feuille) est protégé, les feuilles ne pourront pas être affichées.Exact Zeb, j'avais pas protégé le classeur comme il fallait.
Ca devrait pourvoir le faire en attendant de trouver comment utiliser la ligne Application.DisplayAlerts . Merci à tous et bonne soirée.
Merci à Tantal.
Question sécurité, je me disais également que ça n'était peut être pas possible de ... Pour le reste de ton message je teste.
Bonne soirée.
zeb a dit :
Tiens, c'est justement ce qui gêne Conv'.Donc :
If ActiveWorkbook.ProtectStructure Then
MsgBox "Vous n'avez pas accès à cette fonctionnalité." & vbCrLf & _
"Administrateur, pour lever cette restriction, ôtez la protection de la feuille (menu: outils/protection)"
Exit Sub
End If
Dim feuille As Sheet
For Each feuille In ActiveWorkbook.Sheets
feuille.Visible = True
Next
Eh, tantal, qu'en dis-tu ?
C'est plus élégant, en effet.
Oups, je relis le message de GestConv'... Ce n'est pas des onglets qu'il veut masquer, mais l'éditeur de macro et les messages d'avertissement sur les macros.
Pour éviter les messages d'avertissement, il faut signer ta macro. A voir notamment avec l'administrateur système.
Pour protéger le code de tes macros des yeux indiscrets, dans l'éditeur VB, ouvre le menu Outils/Propriétés de <nom de ton projet> (par défaut VBAProject). Verrouilles-y l'affichage, donne un MDP et voilà.
Pour éviter les messages d'avertissement, il faut signer ta macro. A voir notamment avec l'administrateur système.
Pour protéger le code de tes macros des yeux indiscrets, dans l'éditeur VB, ouvre le menu Outils/Propriétés de <nom de ton projet> (par défaut VBAProject). Verrouilles-y l'affichage, donne un MDP et voilà.
tantal_fr a dit :
Si tu ne veut pas de message, met la macro dans ton classeur perso (perso.xls), seul toi pourra les exécuter. Hello,
Ta solution était la bonne, Tantal_fr : la création d'un classeur PERSO.xls enregistrées à part avec les 2 macros (qui affichent donc et cachent les onglets ne devant pas être visibles). Ca fonction nickel : je n'ai plus le message d'avertissement "sécurité macro" (même en mettant le niveau sécurité au maximum !) et de surcroît, les macros n'apparaissent pas/plus dans l'éditeur pour les différents utilisateurs lorsque le fichier est mis à disposition aux en réseau !
Merci bcp de ton aide et de celle de Zeb également.
Bonne continuation.
Gest'_Conv'
Lassé par la pub ? Créez un compte
- Contenus similaires :