ALERTE MACRO --> URGENT Merci...

  • Initiateur de la discussion Initiateur de la discussion Jean-Claude
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Jean-Claude

Guest
ALERTE MACRO --> URGENT Merci...

(Application pour le W)

Comment supprimer l'alerte macro à l'ouverture d'un fichier ?

Bien entendu :

1 - Sans intervention de l'utilsateur

2 - En quittant l'application remettre le paramètre à l'état d'origine


D'AVANCE MERCI BCP

@+
 
Re: ALERTE MACRO --> URGENT Merci...

Bonjour

Voila une application qui désactive l'alerte macro avant d'ouvrir ton fichier :

Exécution :
1 - Dans le Module1, adapter la ligne faisant référence à la valeur de la clé dans le Registre de Windows,
(actuellement 2 versions au choix : XP et 2000)
ainsi que les 7 autres lignes mentionnant le nom d' Excel...
2 - Dans le Module1, adapter la ligne faisant référence à un Classeur de Test pour essai…
3 - Recopier tout le code du module1 dans un Fichier texte.txt
4 - Donner au fichier le nom de AlerteMacro (par exemple)
5 - Renommer l'extension de ce fichier en VBS
6 - Exécuter ce fichier AlerteMacro.vbs (double-clic dessus)

Principe :
1 - Excel doit être fermé pour exécuter ce script
2 - Vérifier si la clé du niveau pour Excel existe bien
3 - Niveau de sécurité en début d'exécution
4 - Changement pour le niveau le plus faible
5 - Ouverture du classeur sans alerte macro
6 - Rétablissement du niveau de sécurité de départ

Code à copier :
'* Désactivation de l'alerte macro
'*
'* Version Excel XP et 2000

'* Excel doit être fermé
On Error Resume Next
Set objXl = GetObject(, "Excel.Application")
If Not IsEmpty(objXl) Then

MsgBox "Excel doit être fermé..."
WScript.Quit
End If

Err.Clear

'* Objet script et chemin de la clé du registre pour Excel
Set wsh = WScript.CreateObject("WScript.Shell")

CleXP = "HKCU\Software\Microsoft\Office\10.0\Excel\Security\Level"

'* Cle2000 = "HKCU\Software\Microsoft\Office\9.0\Excel\Security\Level"

If Not IsExcelXP Then

MsgBox "Désolé, ce n'est pas Excel XP !"
WScript.Quit
End If

Dim NiveauSecurite, wsh

'* Niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(CleXP)

'* Changement pour le niveau le plus faible
wsh.RegWrite CleXP, 1, "REG_DWORD"

'* Ouverture d'un classeur sans alerte macro
Retour = wsh.Run("C:\Test.xls", 3, False)

'* Rétablissement du niveau de sécurité de départ
wsh.RegWrite CleXP, NiveauSecurite, "REG_DWORD"

Function IsExcelXP()
'* Vérifier la présence d'excel dans la config de windows

On Error Resume Next

Res = wsh.RegRead(CleXP)
IsExcelXP = (Err = 0)
End Function
'**************************
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
559
Réponses
6
Affichages
1 K
Retour