Eviter l'alerte macro sur un fichier particulier
Avec Excel 2000, tu peux modifier le niveau de sécurité dans la base de registre (bonjour, la sécurité !). Ce genre de changements doit cependant être effectué avant l'ouverture d'Excel pour être pris en compte. Ce n'est donc pas possible à faire depuis un classeur.
Par contre, un script fait très bien l'affaire. Il nécessite WScript.exe dans ton répertoire Windows (livré en standard depuis Win 98 je pense, sinon téléchargeable chez Microsoft). http://www.microsoft.com/france/scripting/default.php
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 = "HKCU\Software\Microsoft\Office\9.0\Excel\Security\Level"
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:\
Auteur : Frédéric Sigonneau
Mots clefs associés à cette page : xls, ouvrir, macro, file, fichier, désactiver, classeur, alerte
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

raccourci sur le bureau, comment lancer un fichier Excel
Bonjours
J’ai testé ton code mais
Retour=wsh.Run("C:\MachinBidule.xls")
ne fonctionne pas
Il y a t’il une autre syntaxe pour lancer un programme
Bill