OVH Cloud OVH Cloud

Workbooks.Open... Comment activer les macro

26 réponses
Avatar
LANIMAL
Bonjour
Le code suivant ouvre TOTO.xls qui contient des macros

ChDir "D:\Documents Moi"
Workbooks.Open Filename:="D:\Documents Moi\TOTO.xls"

Mais, lors de l'ouverture l'alerte suivante apparaît :
"Les macros peuvent contenir de virus..."
Et je dois alors cliquer manuellement le bouton "Activer les macros"
pour valider l'ouverture de TOTO.xls
Existe-t-il une ligne de code à ajouter qui exécuterait l'activation des
macros, sans avoir à intervenir manuellement ?
Merci d'avance

6 réponses

1 2 3
Avatar
LANIMAL
Bonjour et merci pour le lien que tu me donnes, qui vient en complément
de l'aide de ChrisV, en me donnant accès à qq explications relatives à
l'utilisation de Script, ce avec quoi je ne suis pas familier.
La bonne occasion de le devenir.
Bonne journée.
LANIMAL

tu peux essayer ça : http://jacxl.free.fr/cours_xl/secu_vba.html
pas sur que ça marche dans ta configuration...



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

Bonjour
Le code suivant ouvre TOTO.xls qui contient des macros

ChDir "D:Documents Moi"
Workbooks.Open Filename:="D:Documents MoiTOTO.xls"

Mais, lors de l'ouverture l'alerte suivante apparaît :
"Les macros peuvent contenir de virus..."
Et je dois alors cliquer manuellement le bouton "Activer les macros"
pour valider l'ouverture de TOTO.xls
Existe-t-il une ligne de code à ajouter qui exécuterait l'activation des
macros, sans avoir à intervenir manuellement ?
Merci d'avance







Avatar
Philippe.R
Bonjour,
Au temps pour moi, il semble que j'ai répondu (de mémoire) un peu vite.
Je viens de faire un test (Vista + Excel 2002, niveau de sécurité réglé sur
moyen) et je n'ai pas d'alerte à l'ouverture commandé via VBA d'un fichier
contenant des macros.
Ca n'enlève pas l'intérêt d'user d'un certificat quand on le peut.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Daniel.C" a écrit dans le message de
news:
Bonsoir.
Ou je suis totalement à côté de la plaque, ou, quand j'ouvre avec VBA un
fichier contenant des macros, je n'ai pas besoin d'activer manuellement
les macros (en niveau de sécurité moyen).
Daniel
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:

Bonsoir,
Heureusement, non il n'existe pas de code forçant automatiquement
l'activation des macros (imagine alors le niveau abyssal de sécurité)
En revanche, tu peux regarder du côté de la création d'un certificat
(avec Selfcert.exe si tu en disposes) que tu associes depuis VBE à tes
macros à l'aide du menu Outils / signature électronique / choisir
Tu n'auras alors plus qu'à répondre une seule fois "faire confiance..."
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"LANIMAL" a écrit dans le message de
news:
Bonjour
Le code suivant ouvre TOTO.xls qui contient des macros

ChDir "D:Documents Moi"
Workbooks.Open Filename:="D:Documents MoiTOTO.xls"

Mais, lors de l'ouverture l'alerte suivante apparaît :
"Les macros peuvent contenir de virus..."
Et je dois alors cliquer manuellement le bouton "Activer les macros"
pour valider l'ouverture de TOTO.xls
Existe-t-il une ligne de code à ajouter qui exécuterait l'activation des
macros, sans avoir à intervenir manuellement ?
Merci d'avance










Avatar
Philippe.R
Bonjour ChrisV,
Encore une illusion de perdue...
Les illusions, c'est un peu comme les cheveux....
;o))
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"ChrisV" a écrit dans le message de
news:
Salut Philippe,
bonjour lanimal,

il n'existe pas de code forçant automatiquement l'activation des
macros...


Hum...hum... ;-)
Copier le code suivant dans un fichier créé avec WordPad (par ex.), puis
lui donner l'extension nomDuFichier.vbs
(éventuellement, créer un raccourci, et lui coller l'icone d'un fichier
Excel, et hop presque ni vu ni connu...)


Set objShell = CreateObject("WScript.Shell")
VersionExcel = 2003
Classeur = "D:Documents MoiTOTO.xls"

On Error Resume Next
Set objXL=GetObject(,"Excel.Application")
If TypeName(objXL) = "Application" Then
Reponse=Msgbox("Excel est ouvert. " & chr(10) _
& "Cliquez sur OK pour enregistrer le classeur et fermer Excel." _
& chr(10) & "Cliquez sur Annuler pour arrêter le
script.",vbOKCancel+ vbExclamation)
If Reponse=vbOK Then
objXL.ActiveWorkbook.Save
objXL.ActiveWorkbook.Close
objXL.Quit
Else
WScript.Quit
end If
Else
Set objXL=CreateObject("Excel.Application")
End If

If VersionExcel = 2000 Then
Valeur = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
end If
If VersionExcel = 2002 Then
Valeur = "HKCUSoftwareMicrosoftOffice10.0ExcelSecurityLevel"
end If
If VersionExcel = 2003 Then
Valeur = "HKCUSoftwareMicrosoftOffice11.0ExcelSecurityLevel"
end If
Securite=objShell.RegRead(Valeur)
If not Securite >= 1 Then
MsgBox "La version d'Excel n'est pas correcte. Modifiez-la dans la
deuxième ligne du script."
WScript.Quit
End If

objShell.RegWrite Valeur, 1,"REG_DWORD"
objXL.Workbooks.Open(Classeur)
objXL.Visible = True
objShell.RegWrite Valeur, Securite,"REG_DWORD"


ChrisV


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:

Bonsoir,
Heureusement, non il n'existe pas de code forçant automatiquement
l'activation des macros (imagine alors le niveau abyssal de sécurité)
En revanche, tu peux regarder du côté de la création d'un certificat
(avec Selfcert.exe si tu en disposes) que tu associes depuis VBE à tes
macros à l'aide du menu Outils / signature électronique / choisir
Tu n'auras alors plus qu'à répondre une seule fois "faire confiance..."
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"LANIMAL" a écrit dans le message de
news:
Bonjour
Le code suivant ouvre TOTO.xls qui contient des macros

ChDir "D:Documents Moi"
Workbooks.Open Filename:="D:Documents MoiTOTO.xls"

Mais, lors de l'ouverture l'alerte suivante apparaît :
"Les macros peuvent contenir de virus..."
Et je dois alors cliquer manuellement le bouton "Activer les macros"
pour valider l'ouverture de TOTO.xls
Existe-t-il une ligne de code à ajouter qui exécuterait l'activation des
macros, sans avoir à intervenir manuellement ?
Merci d'avance










Avatar
Philippe.R
Bonjour Steph,
Comme disait la dame en arrivant chez le notaire, il faudrait tirer les
choses au clair !
;o))))
Ce message est plus qu'étonnant en niveau bas (supposé activer les macros
sans confirmation) et encore plus semble t il si l'ouverture est demandée
via VBA !
Y aurait il autant de comportements que de possibilités de configuration ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"LSteph" a écrit dans le message de
news:
Bonsoir,

même avec niveau bas chez moi
tout fichier qui contient des macros demande s'il faut les activer
??


et c'est bien mieux ainsi!?
sansquoi j'utilise moncertificat
comme tu indiques

bizarre ou ..?

--
lSteph

Bonsoir,
Heureusement, non il n'existe pas de code forçant automatiquement
l'activation des macros (imagine alors le niveau abyssal de sécurité)
En revanche, tu peux regarder du côté de la création d'un certificat
(avec Selfcert.exe si tu en disposes) que tu associes depuis VBE à tes
macros à l'aide du menu Outils / signature électronique / choisir
Tu n'auras alors plus qu'à répondre une seule fois "faire confiance..."




Avatar
Mgr Banni
évidemment, en bricolant dans la base de rechristre, le niveau achrissal de
sécurité est nettement dépassé
Mgr T.B.

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
%
Bonjour ChrisV,
Encore une illusion de perdue...
Les illusions, c'est un peu comme les cheveux....
;o))
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"ChrisV" a écrit dans le message de
news:
Salut Philippe,
bonjour lanimal,

il n'existe pas de code forçant automatiquement l'activation des
macros...


Hum...hum... ;-)
Copier le code suivant dans un fichier créé avec WordPad (par ex.), puis
lui donner l'extension nomDuFichier.vbs
(éventuellement, créer un raccourci, et lui coller l'icone d'un fichier
Excel, et hop presque ni vu ni connu...)


Set objShell = CreateObject("WScript.Shell")
VersionExcel = 2003
Classeur = "D:Documents MoiTOTO.xls"

On Error Resume Next
Set objXL=GetObject(,"Excel.Application")
If TypeName(objXL) = "Application" Then
Reponse=Msgbox("Excel est ouvert. " & chr(10) _
& "Cliquez sur OK pour enregistrer le classeur et fermer Excel." _
& chr(10) & "Cliquez sur Annuler pour arrêter le
script.",vbOKCancel+ vbExclamation)
If Reponse=vbOK Then
objXL.ActiveWorkbook.Save
objXL.ActiveWorkbook.Close
objXL.Quit
Else
WScript.Quit
end If
Else
Set objXL=CreateObject("Excel.Application")
End If

If VersionExcel = 2000 Then
Valeur = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
end If
If VersionExcel = 2002 Then
Valeur =
"HKCUSoftwareMicrosoftOffice10.0ExcelSecurityLevel"
end If
If VersionExcel = 2003 Then
Valeur =
"HKCUSoftwareMicrosoftOffice11.0ExcelSecurityLevel"
end If
Securite=objShell.RegRead(Valeur)
If not Securite >= 1 Then
MsgBox "La version d'Excel n'est pas correcte. Modifiez-la dans la
deuxième ligne du script."
WScript.Quit
End If

objShell.RegWrite Valeur, 1,"REG_DWORD"
objXL.Workbooks.Open(Classeur)
objXL.Visible = True
objShell.RegWrite Valeur, Securite,"REG_DWORD"


ChrisV


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonsoir,
Heureusement, non il n'existe pas de code forçant automatiquement
l'activation des macros (imagine alors le niveau abyssal de sécurité)
En revanche, tu peux regarder du côté de la création d'un certificat
(avec Selfcert.exe si tu en disposes) que tu associes depuis VBE à tes
macros à l'aide du menu Outils / signature électronique / choisir
Tu n'auras alors plus qu'à répondre une seule fois "faire confiance..."
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"LANIMAL" a écrit dans le message de
news:
Bonjour
Le code suivant ouvre TOTO.xls qui contient des macros

ChDir "D:Documents Moi"
Workbooks.Open Filename:="D:Documents MoiTOTO.xls"

Mais, lors de l'ouverture l'alerte suivante apparaît :
"Les macros peuvent contenir de virus..."
Et je dois alors cliquer manuellement le bouton "Activer les macros"
pour valider l'ouverture de TOTO.xls
Existe-t-il une ligne de code à ajouter qui exécuterait l'activation
des macros, sans avoir à intervenir manuellement ?
Merci d'avance













Avatar
Misange
Bonsoir,

même avec niveau bas chez moi
tout fichier qui contient des macros demande s'il faut les activer
??
Salut Steph


Ce comportement est très surprenant : en niveau bas, tu ne dois jamais
avoir d'alerte macro, que ton classeur soit ouvert manuellement ou par
macro. Sinon quel en serait l'intérêt d'ailleurs et la différence avec
le niveau moyen ?

Avec 2007, on peut éviter les alertes macros en mettant les classeurs
considérés comme surs dans un emplacement approuvé que l'on définit soit
même (bouton office). C'est très pratique je dois dire.

Avec les versions antérieures, soit selfcert, soit vbs.

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

1 2 3