Désactiver par VBA les macros d'un autre classeur

Dans un classeur j'ai des macros à l'ouverture que je voudrais désactiver pour modifier ce classeur à partir d'un autre en VBA. Comment faire ?

Mets ces deux macros dans un module d'un classeur. Lancer cette procédure à partir de la feuille d'excel et non de la fenêtre VBE. Elle ouvre le classeur C:\Mes documents\Classeuravecmacros.xls en désactivant ses macros. Voici les procédures :

 'Procédure appelante  

sub OuvrirFichierSansActiverLesMacros()
  OpenFileWithoutMacro "C:\Mes documents", "Classeuravecmacros.xls"
 end sub
sub OpenFileWithoutMacro(Chemin As String, Fichier As String)
 
 'Désactive complètement l'exécution des macros du fichier.
 'N'affecte pas le comportement des autres fichiers ouverts.
 'Cette procédure doit être appelée à partir de la feuille
 'de calcul et non de la fenêtre VBE à cause des commandes
 
 'Les 2 commandes suivantes s'assurent que
 'la fenêtre "Open" pointe vers le bon répertoire
 SendKeys "{esc}"
 Application.Dialogs(xlDialogOpen).Show Chemin
 
 'Ouvre le fichier en désactivant la macro. 
 SendKeys "%Fo" & Fichier & "%od" 
 
 
 end sub

Autre solution :

Application.EnableEvents = False  
Workbook.Open "C:\le_classeur.xls"  
Application.EnableEvents = True     

Auteurs : ,

Mots clefs associés à cette page : , ,