Ligne de commande Excel et Macro

  • Initiateur de la discussion Arnaud
  • Date de début
A

Arnaud

Guest
Re bonjour à tous,
Je continues dans les questions bien bizarre,
s'auriez vous par hasard, comment, à partir de la ligne de commande d'un fichier(Excel) comment mettre en argument une macro???

(un truc du genre :

c:\note.xls \[le nom et le chemin de ma macro]
)

D'avance merci!
 
J

Jacques

Guest
Bonsoir Arnaud,

Je suppose que si tu veux mettre le nom d'une macro comme argument de la ligne de commande, c'est que tu veux que cette macro s'exécute lorsque tu ouvres le fichier.
Dans ce cas il suffit que tu mettes ton code dans la macro
Private Sub Workbook_Open()

End Sub
(dans excel 2000) ou Sub Autoopen() dans excel97.
Ta macro s'exécutera à chaque fois que tu ouvriras le fichier.

Bonne soirée
 

flwozn

XLDnaute Nouveau
Re : Ligne de commande Excel et Macro

Bonjour le forum,

Je me permet de déterrer ce fil car je souhaiterais exécuter une action sur un fichier .csv de façon automatique et à heure fixe.

L'action consiste à convertir un texte en colonne et à supprimer les 17 premières lignes du fichier. Pour ça, j'ai utilisé la fonction "enregistrement" et Excel m'a généré le code ci-dessous.

Pourriez-vous me dire comment faire pour qu'il s'exécute automatiquement avec une commande du style c:\Programe File\Excel\excel.exe mamacro monfichier.csv

Ou dois-je utiliser l'extension Visual Basic en .vbs avec wscript.exe ?

J'avoue être un peu pommé
Merci et bon weekend

Code:
Sub Delete_lines()
'
' Delete_lines Macro
'

'
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1)), TrailingMinusNumbers:=True
    Rows("1:17").Select
    Selection.Delete Shift:=xlUp
    Range("A1").Select
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 092
Membres
104 028
dernier inscrit
alain Barthe