Activation obligatoire des macros à l'ouverture d'un fichier

moustic54

XLDnaute Occasionnel
Bonjour à tous

Deux petits soucis concernant l'utilisation de macros sous Excel 2003

1. Suivant le niveau de sécurité des macros, un fichier peut être ouvert sans que celles-ci soient activées rendant toute utilisation des boutons (ou commandes vba) existants inopérante.
Est il possible de vérifier à l'ouverture d'un fichier, ce fameux niveau de sécurité et dans le cas où celui-ci serait trop élevé intervenir pour passer outre ou avertir l'utilisateur par un "gros pavé"?

2. Ma 2ème question porte sur la protection de feuilles.
Est il possible d'automatiser cette procédure et l'affecter à 1 bouton, actif dès l'ouverture d'Excel ?
curseur (ou cellule active) en F14
Outils /protection / protéger la feuille
Sélectionner les cellules actives = validé
Mot de passe = toto
Confirmation du mot de passe

Je ne souhaite pas écrire cette macro pour chaque fichier bien que n'ayant qu'une feuille dans chaque classeur, simplement j'ai quelques 800 fichiers à protéger de la sorte (toujours les mêmes que ceux déjà évoqués dans un précédant fil). Autant de fois à reproduire cette procédure.

Je vous remercie d'avance
 

dn35

XLDnaute Occasionnel
Re : Activation obligatoire des macros à l'ouverture d'un fichier

Bonjour,
C'est sous 2000 mais concernant le deuxième point j'ai moi même été confrontée à ce problème dans Ce lien n'existe plus Vois si ça peux t'aider.

Bonne journée
 

moustic54

XLDnaute Occasionnel
Re : Activation obligatoire des macros à l'ouverture d'un fichier

Bonjour mromain, dn35

mromain, super !!!
Je t'assure que ce genre de fichier va être gardé soigneusement sur mon micro et que je vais le mettre en pratique de suite.

Dn35, j'ai lu le fil que tu m'as indiqué. Je sais protéger des feuilles d'un classeur mais cela signifie que je sois obligé de le faire pour chaque classeur c'est-à-dire ouvrir chaque fichier, copier la macro et cela pour quelques 800 fichiers.
Moi ce que je cherchais à avoir c'est une macro dans le menu même d'Excel qui fasse le même office c'est-à-dire protéger la feuille sans être obligé d'ouvrir tous ces fichiers pour copier la macro.
Enfin, je ne sais pas si je suis très clair dans mes explications et ma recherche.

Merci à tous les deux pour vos orientations et bonne journée
 
Dernière édition:

Julie-F

XLDnaute Occasionnel
Re : Activation obligatoire des macros à l'ouverture d'un fichier

Bonjour moustic54, mromain et dn35

Pour ton 2eme pb, moustic54, si j'ai bien compris ta demande, il va falloir que tu écrives ta macro (Alt + F11) et que tu l'enregistres dans VBAProject (fichier personnel du genre perso.xls) de façon à ce que ta macro puisse être activée sur l'ensemble des classeurs que tu vas oublir.
Une fois que tu l'as fait, il ne te reste plus qu'à affecter la macro à un nouveau bouton placé dans l'une de tes barres d'outils gràce à la commande : Affichage / barre d'outils / personnaliser et macros....

La commande pourrait être :
PHP:
Sub moustic()
    Range("F14").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.Protect Password:="TOTO"
    ActiveWorkbook.Save
    ActiveWorkbook.Close
End Sub

J'espère t'avoir un peu aidé.
 

mromain

XLDnaute Barbatruc
Re : Activation obligatoire des macros à l'ouverture d'un fichier

(...) sans être obligé d'ouvrir tous ces fichiers pour copier la macro (...)


re bonjour,


je t'ai fait un exemple d'une macro qui va écrire une macro dans plusieurs classeurs Excel, si ça peut résoudre ton problème...


a+
 

Pièces jointes

  • Test.zip
    27.5 KB · Affichages: 75
  • Test.zip
    27.5 KB · Affichages: 63
  • Test.zip
    27.5 KB · Affichages: 60

moustic54

XLDnaute Occasionnel
Re : Activation obligatoire des macros à l'ouverture d'un fichier

Bonsoir Julie-F, mromain et dn35

Julie, j'ai suivi le processus que tu as donné, modifié la macro pour le password et çà a l'air de fonctionner. Vraiment cool.
Mromain, je repris le fichier que tu as gentillement joint mais lorsque je lance la macro, j'ai un message d'erreur 1004 l'accès par programme au projet visual basic n'est pas fiable.
Et lorsque je lance le débogage il s'arrête sur cette ligne
wbk.VBProject.VBComponents("Feuil1").CodeModule.AddFromFile (ThisWorkbook.Path & "\macro_a_copier.txt")
Je ne suis pas calé question code vba mais merci quand même pour ton aide.
Je vais continuer selon les indications de Julie puisque çà marche du tonnerre.
Un grand merci à vous tous pour votre aide.
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 171
Membres
103 152
dernier inscrit
Karibu