Ligne de commande Excel et Macro

  • Initiateur de la discussion Initiateur de la discussion Arnaud
  • 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 !

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!
 
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
 
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 modification par un modérateur:
- 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
43
Affichages
805
Réponses
16
Affichages
505
Réponses
2
Affichages
105
Réponses
5
Affichages
172
Réponses
4
Affichages
222
Retour