OVH Cloud OVH Cloud

Sécurité des macros en VBA

5 réponses
Avatar
JM
Bonjour.

Je n'ai pas trouvé comment on peut, en VBA, forcer le mode "Sécurité basse",
c'est à dire obliger Excel à exécuter les macros...

Si quelqu'un veut m'aider ?

Merci beaucoup.

5 réponses

Avatar
papou
Bonjour
Pas de salut par VBA puisque exécuter un code VBA dans Excel pour autoriser
les macros ne fonctionnera que si les macros sont autorisées !
Si tu as envie de bidouiller la solution est ailleurs dans la base de
registre.

Cordialement
Pascal

"JM" a écrit dans le message de news:
%23exOug$
Bonjour.

Je n'ai pas trouvé comment on peut, en VBA, forcer le mode "Sécurité
basse",
c'est à dire obliger Excel à exécuter les macros...

Si quelqu'un veut m'aider ?

Merci beaucoup.




Avatar
JM
Merci Pascal.


"papou" <cestpasbon@çanonplus> a écrit dans le message de
news:O8%23uC4$
Bonjour
Pas de salut par VBA puisque exécuter un code VBA dans Excel pour
autoriser

les macros ne fonctionnera que si les macros sont autorisées !
Si tu as envie de bidouiller la solution est ailleurs dans la base de
registre.

Cordialement
Pascal

"JM" a écrit dans le message de news:
%23exOug$
Bonjour.

Je n'ai pas trouvé comment on peut, en VBA, forcer le mode "Sécurité
basse",
c'est à dire obliger Excel à exécuter les macros...

Si quelqu'un veut m'aider ?

Merci beaucoup.








Avatar
anonymousA
Bonjour,

en dehors de la bidouille sur la base des registres, il y a bien sur
SendKeys, mais comme l'a indiqué Papou, il faudrait pour celà que les
macros aient été autorisées une 1ere fois.

On Error Resume Next
With Application
.SendKeys ("{TAB}+%b+{TAB}+{ENTER}") 'met la sécurité macos à
Bas
.CommandBars.FindControl(ID:627).Execute
End With
On Error GoTo 0

A+
Avatar
fredbzr
Bonjour Anonymous
Cette discussion ressemble fortement à ma question posée il y a quelques
jours.
Après un tour sur un site dont j'ai oublié le nom (milles excuses) voilà ce
que j'ai pu trouvé qui empêche excel de proposer à l'ouverture la
désactivation de la macro sur le document.
Mes questions
Comment créer ou enregistrer un fichier en vbs et ou mettre le code
Court-circuiter l'alerte macro à l'ouverture d'un fichier Excel (XL et VBS)

Excel est protégé contre l'ouverture intempestive de macros par une option
"alerte macro" qui peut être activée dans Excel par Outils / options...
(présentation un peu différente dans Excel 97 et les versions suivantes).
Cette option est extrèmement utile et il est vivement recommandé de
l'activer en permanence pour éviter notamment les macro-virus.

Par contre, on peut souhaiter éviter de cliquer systématiquement sur le
bouton de validation des macros à chaque ouverture de fichiers connus.
Microsoft propose de "signer" les macros pour les identifier comme sures.

Une méthode beaucoup plus simple (mais bien moins sure) consiste simplement
à ouvrir le fichier Excel par un script VBScript.
Par exemple, j'utilise souvent le fichier c:zaza.xls.
Je crée un fichier c:zaza.vbs (simple fichier texte créé avec le bloc note
et enregistré avec l'extension .vbs) contenant quelques lignes :

set xl=createobject("Excel.Application")
xl.visible=true
xl.workbooks.open("C:zaza.xls")
set xl=nothing
wscript.quit

Lancé depuis l'Explorateur Windows, le VBS va ouvrir une nouvelle instance
d'Excel puis lui demander d'ouvrir zaza.xls. Excel va en oublier de lancer
l'alerte macro, quel que soit le niveau de sécurité choisi.

Merci et j'espère avoir fait avancé un peu ( pour une fois) le schmilblick

"anonymousA" a écrit dans le message de news:

Bonjour,

en dehors de la bidouille sur la base des registres, il y a bien sur
SendKeys, mais comme l'a indiqué Papou, il faudrait pour celà que les
macros aient été autorisées une 1ere fois.

On Error Resume Next
With Application
.SendKeys ("{TAB}+%b+{TAB}+{ENTER}") 'met la sécurité macos à
Bas
.CommandBars.FindControl(ID:627).Execute
End With
On Error GoTo 0

A+
Avatar
anonymousA
Bonjour,

tu as parfaitement raison , c'est une autre possibilité et c'est
evidemment bien dangereux.Il existe aussi au moins un convertisseur
Excel->en un fichier .exe ( il s'agit d'un faux .exe en fait) mais le
fait est qu'il utilise le même genre de technique.

A+