Désactiver macro

EvilGost Messages postés 235 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 mai 2011 - 17 nov. 2004 à 14:38
bleu055 Messages postés 8 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 30 août 2006 - 14 mars 2006 à 11:30
Bonjour à tous,

J'ai un petit soucis.
A partir de VB6, je fais des manipulations sous excel, et à un moment donné, je dois ouvrir un fichier excel qui contient des macros, qui s'exécute à l'ouverture et à la fermeture du classeur.
Le problème, c'est que quand je lance le fichier excel manuellement, pas de probleme, mais quand je l'ouvre a partir de VB6 (excel.application.Workbooks.Open ....), j'obtiens un message d'erreur une fois sur 2 (après reboot de la machine, ca ne le fais pas la premiere fois):

Erreur d'exécution 5: argument ou objet incorrect (et c'est le visual basic editor du fichier excel qui me le dit, et non mon programme vb).

Je ne peux pas supprimer les macros du fichier excel puisque ce fichier se crée dynamique tous les jours (et y en a 50 par jours).

Seul solution, désactiver les macros, puisque de toutes facons, elles ne me servent pas.

J'ai donc mis dans mon code VB6:

'XLA -> Excel.Application
XLA.DisplayAlerts = False
XLA.EnableEvents = False


Mais lorsque je fais mon workbooks.open ..., les macros internes au fichier excel que j'ouvre s'execute (et déconne) quand meme.

D'ou mon appel au secours parce que je ne trouve vraiment pas de solutions.

Merci beaucoup ;)

EvilGost ;)

7 réponses

pjcleder Messages postés 183 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 16 septembre 2011 11
20 nov. 2004 à 14:20
PAT
Ces fichiers excel que tu ouvres à partir de vb6, ce n'est pas toi qui les a créé si j'ai bien compris !?
Je connais un peu le sujet mais il va falloir plus de détails.
0
EvilGost Messages postés 235 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 mai 2011 2
20 nov. 2004 à 19:53
Tout à fait, les fichier que j'ouvre sont créé par un logiciel sur lequel je n'ai pas la main.

Pas de probleme, je te fournirai toutes les infos dont tu as besoin

En gros, j'ai vb6, je fais un workbooks.open pour ouvrir le fichier excel, mais la macro interne a se fichier s'execute et déconne...il faut donc que je la désactive....

EvilGost ;)
0
pjcleder Messages postés 183 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 16 septembre 2011 11
21 nov. 2004 à 09:24
PAT

Je voudrais savoir si lors de tes manipulations sous VB , tu ouvres physiquement Excel.

Car tu me dis qu'en ouvrant le fichier à la main, tu ne rencontres aucun problème à l'ouverture.

Essaye d'insérer : Excel.Application.Visible = true dans ton code pour voir ce qui se passe.

Sinon, déjà, fais tes manips normales dans VB6, ne mets pas workbooks.open, va ouvrir le fichier manuellement et dis-moi si vb a bien manipulé le classeur commen tu le désirais.

Autre indice : quand tu ouvres le classeur à la main , y-a-t-il une boite de dialogue t'invitant à éxécuter les macros ?

De toute façon, dans la mesure où tu ouvres ce classeur manuellement et que tu peux y faire des modifs, on va trouver une solution.

As-tu la possibilité de me faire parvenir une copie de ton fichier Excel s'il n'est pas confidentiel. J'essaierai de l'ouvrir et de le traiter avec vb6 et je te renverrai le code.
0
pjcleder Messages postés 183 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 16 septembre 2011 11
21 nov. 2004 à 09:30
PAT

Autre possibilité, va dans ton fichier Excel

Va sous Outils/Macros/Sécurité et sélectionne "Niveau de sécurité faible".

On ne sait jamais...J'ai déjà été confronté à celà.

A plus.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lucaschatzonek Messages postés 2 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 22 février 2005
22 févr. 2005 à 17:29
Cette discussion m'intéresse grandement et j'ai plus ou moins le même problème sauf que c'est du Word.

J'ai un traitement très lourd a faire sur une énorme quantité de documents word. On m'a averti que ce type de traitement avait engendré un problème avec les macros par le passé.

je cherche depuis 6 heures un moyen de les désactiver a partir de VB, faire mon traitement, puis les réactiver après.
je pensais qu'un petit Word_Application.DisplayAlerts wdAlertsNone ainsi qu un Word_Application.ActiveDocument.DisableFeatures true marcherait, mais ca n a pas l air de suffire.

je ne trouve pas de solutions.... C'est pénible.
0
pjcleder Messages postés 183 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 16 septembre 2011 11
22 févr. 2005 à 19:15
PAT

J'aimerai savoir ce que contient l'événement open du document dans VBA.
0
bleu055 Messages postés 8 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 30 août 2006
14 mars 2006 à 11:30
Salut au suivant qui cherche aussi, voici deux fonctions connexes :
workbook.Application.EnableEvents = False 'qui désactive les macros

et workbook.Application.DisplayAlerts = False 'qui désactive les alertes Excel

5ebleu
0
Rejoignez-nous