Problème d'exécution d'une macro

flwozn

XLDnaute Nouveau
Bonjour,

J'ai enregistré une macro deleteLines que j'ai sauvegardé dans PERSONAL.XLSB. Comme je souhaite l'exécuter depuis une ligne de commande j'ai créé un fichier macro.vbs qui contient le code suivant :

HTML:
'--------------------------
Dim Xl
dim wk
Set Xl = WScript.CreateObject("EXCEL.application")
Xl.Visible = True
Xl.enableevents = False
set Wk = Xl.workbooks.open("c:\XP\scripts\monfichier.csv")
Xl.Run "deleteLines"
xl.save
xl.close
'--------------------------

Lorsque je lance ce fichier .vbs depuis l'explorateur de fichier Windows, un message d'erreur apparait disant que la macro n'est pas disponible dans le workbook ou que les macros sont désactivées. J'ai bien vérifié et l'exécution des macro est autorisée dans les options de sécurité.

Savez-vous comment éviter ce message d'erreur ? il apparait également lorsque mon classeur PERSONAL.XLSB est ouvert.

Merci par avance pour votre aide
Flore
 

flwozn

XLDnaute Nouveau
Re : Problème d'exécution d'une macro

D'après le lien ci-dessous, ma macro sauvegardé dans PERSONAL.XLSB devrait être accessible depuis n'importe quel classeur de mon ordinateur. Any idea ? :)

By default, when you create a macro in Excel, the macro works only in the workbook that contains it. This behavior is okay as long as you don’t need to use that macro in other workbooks. Any macros that you store in your personal workbook on a computer become available to you in any workbook whenever you start Excel on that same computer.

Copy your macros to a Personal Macro Workbook - Excel - Office.com
 
Dernière édition:

flwozn

XLDnaute Nouveau
Re : Problème d'exécution d'une macro

Pour finir j'ai réussi en copiant le PERSONAL.XLSB dans un fichier .XSLM dans Mes Documents. C'est la seule solution qui fonctionne après de très nombreux essais. J'ai essayé avec le fichier PERSONAL dans STARTUP mais rien à faire, il cherche toujours dans Mes Documents, allez savoir pourquoi.

Voici le code :

HTML:
Dim Xl
Dim wk
Set Xl = WScript.CreateObject("EXCEL.application")
set Wk = Xl.workbooks.open("c:\XP\scripts\monfichier.csv")
Xl.Visible = True
Xl.enableevents = False
Xl.Application.Run "macro.xlsm!DeleteLines"
xl.save
xl.close
 

Statistiques des forums

Discussions
312 210
Messages
2 086 277
Membres
103 170
dernier inscrit
HASSEN@45