-----Message d'origine-----
Salut jojo !
Pour cela, il faut soit que tu mette la sécurité
sur "faible" (Menu Outils,
Macro, Sécurité...) soit que tu fasse un certificat avec
Selfcert pour ton
projet qu'il faudra installer sur tous les postes sur
lesquels tu enverra
ton fichier.
À ma connaissance, si les utilisateur ont mis leur niveau
de sécurité sur
"moyen" (ce qui me semble être le paramètre par défaut)
il n'est pas
possible de le changer vis une macro ! Autrement, la
sécurité ne serait plus
utile ;-))
Pour ce qui concerne le serlfcert, fais une recherche
avec les outils de
recherche de Windows pour "serlfcert.exe" et suis les
indications qui
s'affichent à l'écran. Ensuite, tu devra enregistrer ton
certificat dans
tous les postes à qui tu enverra ton fichier. Une
solution serait de le
faire soit toi-même, soit de mettre un fichier *.txt pour
décrire comment
enregistrer le certificat en local.
Salutations
Dédé
--
Pour répondre, enlever le NOSPAM
"jojo" a écrit dans le message de
news:088201c36581$1a75cc20$
Bonjour,
j'aimerais que lorsque j'ouvre un fichier excel,
celui-ci ne me demande pas si je veux 'activer ou non les
macros'. J'aimerais que ce soit automatiquement 'oui
activer les macros'.
Le fichier dont je parles, sera diffusé à d'autres
utilisateurs que moi et je ne veux pas qu'ils aient le
choix d'activation ou non.
Ce fichier contient des macros en vba et je crois
savoir qu'il serait possible d'automatiser cette
ouverture en vba, mais comment faire ?
Ou si quelqu'un à une autre idée ?
Merci par avance à tous ceux qui me répondront
jojo
.
-----Message d'origine-----
Salut jojo !
Pour cela, il faut soit que tu mette la sécurité
sur "faible" (Menu Outils,
Macro, Sécurité...) soit que tu fasse un certificat avec
Selfcert pour ton
projet qu'il faudra installer sur tous les postes sur
lesquels tu enverra
ton fichier.
À ma connaissance, si les utilisateur ont mis leur niveau
de sécurité sur
"moyen" (ce qui me semble être le paramètre par défaut)
il n'est pas
possible de le changer vis une macro ! Autrement, la
sécurité ne serait plus
utile ;-))
Pour ce qui concerne le serlfcert, fais une recherche
avec les outils de
recherche de Windows pour "serlfcert.exe" et suis les
indications qui
s'affichent à l'écran. Ensuite, tu devra enregistrer ton
certificat dans
tous les postes à qui tu enverra ton fichier. Une
solution serait de le
faire soit toi-même, soit de mettre un fichier *.txt pour
décrire comment
enregistrer le certificat en local.
Salutations
Dédé
--
Pour répondre, enlever le NOSPAM
"jojo" <nicejojo@wanadoo.fr> a écrit dans le message de
news:088201c36581$1a75cc20$a301280a@phx.gbl...
Bonjour,
j'aimerais que lorsque j'ouvre un fichier excel,
celui-ci ne me demande pas si je veux 'activer ou non les
macros'. J'aimerais que ce soit automatiquement 'oui
activer les macros'.
Le fichier dont je parles, sera diffusé à d'autres
utilisateurs que moi et je ne veux pas qu'ils aient le
choix d'activation ou non.
Ce fichier contient des macros en vba et je crois
savoir qu'il serait possible d'automatiser cette
ouverture en vba, mais comment faire ?
Ou si quelqu'un à une autre idée ?
Merci par avance à tous ceux qui me répondront
jojo
.
-----Message d'origine-----
Salut jojo !
Pour cela, il faut soit que tu mette la sécurité
sur "faible" (Menu Outils,
Macro, Sécurité...) soit que tu fasse un certificat avec
Selfcert pour ton
projet qu'il faudra installer sur tous les postes sur
lesquels tu enverra
ton fichier.
À ma connaissance, si les utilisateur ont mis leur niveau
de sécurité sur
"moyen" (ce qui me semble être le paramètre par défaut)
il n'est pas
possible de le changer vis une macro ! Autrement, la
sécurité ne serait plus
utile ;-))
Pour ce qui concerne le serlfcert, fais une recherche
avec les outils de
recherche de Windows pour "serlfcert.exe" et suis les
indications qui
s'affichent à l'écran. Ensuite, tu devra enregistrer ton
certificat dans
tous les postes à qui tu enverra ton fichier. Une
solution serait de le
faire soit toi-même, soit de mettre un fichier *.txt pour
décrire comment
enregistrer le certificat en local.
Salutations
Dédé
--
Pour répondre, enlever le NOSPAM
"jojo" a écrit dans le message de
news:088201c36581$1a75cc20$
Bonjour,
j'aimerais que lorsque j'ouvre un fichier excel,
celui-ci ne me demande pas si je veux 'activer ou non les
macros'. J'aimerais que ce soit automatiquement 'oui
activer les macros'.
Le fichier dont je parles, sera diffusé à d'autres
utilisateurs que moi et je ne veux pas qu'ils aient le
choix d'activation ou non.
Ce fichier contient des macros en vba et je crois
savoir qu'il serait possible d'automatiser cette
ouverture en vba, mais comment faire ?
Ou si quelqu'un à une autre idée ?
Merci par avance à tous ceux qui me répondront
jojo
.
Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est également
stocké dans le registre.
"Dédé" a écrit dans le message de
news:%Automatique en VBA, IMPOSSIBLE !!
Désolé mais autrement il n'y aurait plus de sécurité ...
Salutations
Dédé
Oui mais il reste le vbs.... Je cite :
Dans un fichier texte (Notepad) recopie le code ci-dessous puis
enregistre le
fichier sous, par exemple, "ModifTemporaireSecurite.vbs". Le nom
importe peu,
seule l'extension a de l'importance.
Après avoir vérifié qu'Excel est bien fermé, le niveau de sécurité
actuel (1, 2
ou 3) est récupéré puis fixé à 1 (pas d'alerte macro). Le fichier qui
t'intéresse est ensuite lancé et enfin le niveau de sécurité de
départ est restauré.
Un raccourci sur le bureau vers le script, tu changes d'icone et de
nom, et le
tour est joué.Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est
également stocké dans le registre.
'================== > 'Excel doit être fermé
On Error Resume Next
Set objXl=GetObject(,"Excel.Application")
If Not IsEmpty(objXl) Then
Msgbox "Excel doit être fermé pour exécuter ce script..."
WScript.Quit
End If
Err.Clear
'objet script et chemin de la clé du registre pour Excel 2000
Set wsh = WScript.CreateObject("WScript.Shell")
Cle2000 = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
If Not IsExcel2000 Then
MsgBox "Ce script ne peut désactiver l'alerte macro que pour Excel
2000..."
WScript.Quit
End If
Dim NiveauSecurite, wsh
'niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(Cle2000)
'changement pour le niveau le plus faible
wsh.RegWrite Cle2000, 1,"REG_DWORD"
'ouverture du classeur sans alerte macro
Retour=wsh.Run("D: 6OfficeVBAClasseurTestSecurite.xls", 3, False)
'rétablissement du niveau de sécurité de départ
wsh.RegWrite Cle2000, NiveauSecurite,"REG_DWORD"
'pour vérifier si la clé pour Excel 2000 existe bien
Function IsExcel2000()
On Error Resume Next
Res=wsh.RegRead(Cle2000)
IsExcel2000=(Err=0)
End Function
Frédéric Sigonneau
Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est également
stocké dans le registre.
"Dédé" <NOSPAMsugus12002@yahoo.fr> a écrit dans le message de
news:%23jAcpuYZDHA.1744@TK2MSFTNGP12.phx.gbl...
Automatique en VBA, IMPOSSIBLE !!
Désolé mais autrement il n'y aurait plus de sécurité ...
Salutations
Dédé
Oui mais il reste le vbs.... Je cite :
Dans un fichier texte (Notepad) recopie le code ci-dessous puis
enregistre le
fichier sous, par exemple, "ModifTemporaireSecurite.vbs". Le nom
importe peu,
seule l'extension a de l'importance.
Après avoir vérifié qu'Excel est bien fermé, le niveau de sécurité
actuel (1, 2
ou 3) est récupéré puis fixé à 1 (pas d'alerte macro). Le fichier qui
t'intéresse est ensuite lancé et enfin le niveau de sécurité de
départ est restauré.
Un raccourci sur le bureau vers le script, tu changes d'icone et de
nom, et le
tour est joué.Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est
également stocké dans le registre.
'================== > 'Excel doit être fermé
On Error Resume Next
Set objXl=GetObject(,"Excel.Application")
If Not IsEmpty(objXl) Then
Msgbox "Excel doit être fermé pour exécuter ce script..."
WScript.Quit
End If
Err.Clear
'objet script et chemin de la clé du registre pour Excel 2000
Set wsh = WScript.CreateObject("WScript.Shell")
Cle2000 = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
If Not IsExcel2000 Then
MsgBox "Ce script ne peut désactiver l'alerte macro que pour Excel
2000..."
WScript.Quit
End If
Dim NiveauSecurite, wsh
'niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(Cle2000)
'changement pour le niveau le plus faible
wsh.RegWrite Cle2000, 1,"REG_DWORD"
'ouverture du classeur sans alerte macro
Retour=wsh.Run("D: 6OfficeVBAClasseurTestSecurite.xls", 3, False)
'rétablissement du niveau de sécurité de départ
wsh.RegWrite Cle2000, NiveauSecurite,"REG_DWORD"
'pour vérifier si la clé pour Excel 2000 existe bien
Function IsExcel2000()
On Error Resume Next
Res=wsh.RegRead(Cle2000)
IsExcel2000=(Err=0)
End Function
Frédéric Sigonneau
Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est également
stocké dans le registre.
"Dédé" a écrit dans le message de
news:%Automatique en VBA, IMPOSSIBLE !!
Désolé mais autrement il n'y aurait plus de sécurité ...
Salutations
Dédé
Oui mais il reste le vbs.... Je cite :
Dans un fichier texte (Notepad) recopie le code ci-dessous puis
enregistre le
fichier sous, par exemple, "ModifTemporaireSecurite.vbs". Le nom
importe peu,
seule l'extension a de l'importance.
Après avoir vérifié qu'Excel est bien fermé, le niveau de sécurité
actuel (1, 2
ou 3) est récupéré puis fixé à 1 (pas d'alerte macro). Le fichier qui
t'intéresse est ensuite lancé et enfin le niveau de sécurité de
départ est restauré.
Un raccourci sur le bureau vers le script, tu changes d'icone et de
nom, et le
tour est joué.Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est
également stocké dans le registre.
'================== > 'Excel doit être fermé
On Error Resume Next
Set objXl=GetObject(,"Excel.Application")
If Not IsEmpty(objXl) Then
Msgbox "Excel doit être fermé pour exécuter ce script..."
WScript.Quit
End If
Err.Clear
'objet script et chemin de la clé du registre pour Excel 2000
Set wsh = WScript.CreateObject("WScript.Shell")
Cle2000 = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
If Not IsExcel2000 Then
MsgBox "Ce script ne peut désactiver l'alerte macro que pour Excel
2000..."
WScript.Quit
End If
Dim NiveauSecurite, wsh
'niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(Cle2000)
'changement pour le niveau le plus faible
wsh.RegWrite Cle2000, 1,"REG_DWORD"
'ouverture du classeur sans alerte macro
Retour=wsh.Run("D: 6OfficeVBAClasseurTestSecurite.xls", 3, False)
'rétablissement du niveau de sécurité de départ
wsh.RegWrite Cle2000, NiveauSecurite,"REG_DWORD"
'pour vérifier si la clé pour Excel 2000 existe bien
Function IsExcel2000()
On Error Resume Next
Res=wsh.RegRead(Cle2000)
IsExcel2000=(Err=0)
End Function
Frédéric Sigonneau
Salut à tous,Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est
également
stocké dans le registre.
C'est en effet possible, mais il faut indiquer la bonne version d'excel
dans
la clé du registre :
Cle2000 = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
Pour Office XP, par exemple, il faut remplacer 9.0 par 10.0
--
Nicolas B.
wilderwein a récemment écrit dans un message de news :"Dédé" a écrit dans le message de
news:%Automatique en VBA, IMPOSSIBLE !!
Désolé mais autrement il n'y aurait plus de sécurité ...
Salutations
Dédé
Oui mais il reste le vbs.... Je cite :
Dans un fichier texte (Notepad) recopie le code ci-dessous puis
enregistre le
fichier sous, par exemple, "ModifTemporaireSecurite.vbs". Le nom
importe peu,
seule l'extension a de l'importance.
Après avoir vérifié qu'Excel est bien fermé, le niveau de sécurité
actuel (1, 2
ou 3) est récupéré puis fixé à 1 (pas d'alerte macro). Le fichier qui
t'intéresse est ensuite lancé et enfin le niveau de sécurité de
départ est restauré.
Un raccourci sur le bureau vers le script, tu changes d'icone et de
nom, et le
tour est joué.Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est
également stocké dans le registre.
'================== > > 'Excel doit être fermé
On Error Resume Next
Set objXl=GetObject(,"Excel.Application")
If Not IsEmpty(objXl) Then
Msgbox "Excel doit être fermé pour exécuter ce script..."
WScript.Quit
End If
Err.Clear
'objet script et chemin de la clé du registre pour Excel 2000
Set wsh = WScript.CreateObject("WScript.Shell")
Cle2000 = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
If Not IsExcel2000 Then
MsgBox "Ce script ne peut désactiver l'alerte macro que pour Excel
2000..."
WScript.Quit
End If
Dim NiveauSecurite, wsh
'niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(Cle2000)
'changement pour le niveau le plus faible
wsh.RegWrite Cle2000, 1,"REG_DWORD"
'ouverture du classeur sans alerte macro
Retour=wsh.Run("D: 6OfficeVBAClasseurTestSecurite.xls", 3, False)
'rétablissement du niveau de sécurité de départ
wsh.RegWrite Cle2000, NiveauSecurite,"REG_DWORD"
'pour vérifier si la clé pour Excel 2000 existe bien
Function IsExcel2000()
On Error Resume Next
Res=wsh.RegRead(Cle2000)
IsExcel2000=(Err=0)
End Function
Frédéric Sigonneau
Salut à tous,
Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est
également
stocké dans le registre.
C'est en effet possible, mais il faut indiquer la bonne version d'excel
dans
la clé du registre :
Cle2000 = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
Pour Office XP, par exemple, il faut remplacer 9.0 par 10.0
--
Nicolas B.
wilderwein a récemment écrit dans un message de news :
"Dédé" <NOSPAMsugus12002@yahoo.fr> a écrit dans le message de
news:%23jAcpuYZDHA.1744@TK2MSFTNGP12.phx.gbl...
Automatique en VBA, IMPOSSIBLE !!
Désolé mais autrement il n'y aurait plus de sécurité ...
Salutations
Dédé
Oui mais il reste le vbs.... Je cite :
Dans un fichier texte (Notepad) recopie le code ci-dessous puis
enregistre le
fichier sous, par exemple, "ModifTemporaireSecurite.vbs". Le nom
importe peu,
seule l'extension a de l'importance.
Après avoir vérifié qu'Excel est bien fermé, le niveau de sécurité
actuel (1, 2
ou 3) est récupéré puis fixé à 1 (pas d'alerte macro). Le fichier qui
t'intéresse est ensuite lancé et enfin le niveau de sécurité de
départ est restauré.
Un raccourci sur le bureau vers le script, tu changes d'icone et de
nom, et le
tour est joué.Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est
également stocké dans le registre.
'================== > > 'Excel doit être fermé
On Error Resume Next
Set objXl=GetObject(,"Excel.Application")
If Not IsEmpty(objXl) Then
Msgbox "Excel doit être fermé pour exécuter ce script..."
WScript.Quit
End If
Err.Clear
'objet script et chemin de la clé du registre pour Excel 2000
Set wsh = WScript.CreateObject("WScript.Shell")
Cle2000 = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
If Not IsExcel2000 Then
MsgBox "Ce script ne peut désactiver l'alerte macro que pour Excel
2000..."
WScript.Quit
End If
Dim NiveauSecurite, wsh
'niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(Cle2000)
'changement pour le niveau le plus faible
wsh.RegWrite Cle2000, 1,"REG_DWORD"
'ouverture du classeur sans alerte macro
Retour=wsh.Run("D: 6OfficeVBAClasseurTestSecurite.xls", 3, False)
'rétablissement du niveau de sécurité de départ
wsh.RegWrite Cle2000, NiveauSecurite,"REG_DWORD"
'pour vérifier si la clé pour Excel 2000 existe bien
Function IsExcel2000()
On Error Resume Next
Res=wsh.RegRead(Cle2000)
IsExcel2000=(Err=0)
End Function
Frédéric Sigonneau
Salut à tous,Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est
également
stocké dans le registre.
C'est en effet possible, mais il faut indiquer la bonne version d'excel
dans
la clé du registre :
Cle2000 = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
Pour Office XP, par exemple, il faut remplacer 9.0 par 10.0
--
Nicolas B.
wilderwein a récemment écrit dans un message de news :"Dédé" a écrit dans le message de
news:%Automatique en VBA, IMPOSSIBLE !!
Désolé mais autrement il n'y aurait plus de sécurité ...
Salutations
Dédé
Oui mais il reste le vbs.... Je cite :
Dans un fichier texte (Notepad) recopie le code ci-dessous puis
enregistre le
fichier sous, par exemple, "ModifTemporaireSecurite.vbs". Le nom
importe peu,
seule l'extension a de l'importance.
Après avoir vérifié qu'Excel est bien fermé, le niveau de sécurité
actuel (1, 2
ou 3) est récupéré puis fixé à 1 (pas d'alerte macro). Le fichier qui
t'intéresse est ensuite lancé et enfin le niveau de sécurité de
départ est restauré.
Un raccourci sur le bureau vers le script, tu changes d'icone et de
nom, et le
tour est joué.Le même genre de manip est peut-être
possible avec Excel 97 et/ou Xp, si leur niveau de sécurité est
également stocké dans le registre.
'================== > > 'Excel doit être fermé
On Error Resume Next
Set objXl=GetObject(,"Excel.Application")
If Not IsEmpty(objXl) Then
Msgbox "Excel doit être fermé pour exécuter ce script..."
WScript.Quit
End If
Err.Clear
'objet script et chemin de la clé du registre pour Excel 2000
Set wsh = WScript.CreateObject("WScript.Shell")
Cle2000 = "HKCUSoftwareMicrosoftOffice9.0ExcelSecurityLevel"
If Not IsExcel2000 Then
MsgBox "Ce script ne peut désactiver l'alerte macro que pour Excel
2000..."
WScript.Quit
End If
Dim NiveauSecurite, wsh
'niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(Cle2000)
'changement pour le niveau le plus faible
wsh.RegWrite Cle2000, 1,"REG_DWORD"
'ouverture du classeur sans alerte macro
Retour=wsh.Run("D: 6OfficeVBAClasseurTestSecurite.xls", 3, False)
'rétablissement du niveau de sécurité de départ
wsh.RegWrite Cle2000, NiveauSecurite,"REG_DWORD"
'pour vérifier si la clé pour Excel 2000 existe bien
Function IsExcel2000()
On Error Resume Next
Res=wsh.RegRead(Cle2000)
IsExcel2000=(Err=0)
End Function
Frédéric Sigonneau