SaveAS CSV d'un fichier excel en VBS [Résolu]

Signaler
Messages postés
5
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
14 août 2008
-
Messages postés
5
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
14 août 2008
-
Bonjour, je me lance dans la création de fichier .vbs afin de me faciliter certaine tâche au boulot.
Mon besoin : créer un script vbs qui demande à l'utilisateur des valeurs ( msgbox ), ouvre excel , rentre les valeurs utilisateur ainsi que certaines prédéfini , enregistre ce fichier en .csv à l'endroit voulu.

Voici mon code :

Option Explicit

Sub test()
Dim xls
Dim wkb
Dim sht
Dim WSD
WSD = inputbox("insérez le WSD")

     Set xls = CreateObject("Excel.Application" )
     Set wkb = xls.Workbooks.Add()
     Set sht = wkb.Sheets.Add()
     sht.Cells(1, 1).Value = WSD
     sht.Cells(1, 2).Value = "ADS01"
     sht.Cells(1, 3).Value = "NOI"
     xls.Visible = True
     xls.ActiveWorkbook.SaveAs "C:\test\monfichier.csv"
End Sub

Call test()

Je n'arrive pas à faire comprendre à excel de l'enregistrer en .csv au lieu de .xls. Lorsque j'essais de donner des conditions après le "saveAs" ( format:=xlCSV) il me renvoie une erreur en disant que la valeur xlCSV n'est pas défini ou alor me fait une erreur avant de lancer la création du fichier excel.

Si vous avez la solution n'hésitez pas, ce n'est pas urgent, je continu de chercher en attendant.

Merci

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Quand tu te poses ce genre de question, tourne toi vers les macros de Excel :
Lance l'enregistrement d'une nouvelle macro
Fais la manip à la main : Fichier, Enregistrer sous, sélectionne le format de fichier (...)
Arrête la macro
Va jetter un oeil au code généré dans Outils, Macro, Macros, Modifier
Tu connaitra ainsi la syntaxe à utiliser.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour,

Option Explicit

Sub test()
Dim xls
Dim wkb
Dim sht
Dim WSD
WSD = inputbox("insérez le WSD")

     Set xls = CreateObject("Excel.Application" )
     Set wkb = xls.Workbooks.Add()
     Set sht = wkb.Sheets.Add()
     xls.DisplayAlerts = False
     sht.Cells(1, 1).Value = WSD
     sht.Cells(1, 2).Value = "ADS01"
     sht.Cells(1, 3).Value = "NOI"
     xls.Visible = True
     xls.ActiveWorkbook.SaveAs "d:\monfichier.csv"
     xls.DisplayAlerts = True
     xls.Quit
End Sub

Call test()

Le fichier est bien enregister en csv [Fichier de valeurs séparées par une virgule (CSV) Microsoft Office Excel]

jean-marc
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Salut,

pourquoi tu dois lancer excel? tu peux pas enregistrer directement ton fichier en format csv?

Dim FSave           As FileSystemObject
Dim MonSave      As Object
Dim strNom         As String

    Set FSave = CreateObject("Scripting.FileSystemObject")
    Set MonSave = FSave.CreateTextFile("C:\Documents and Settings\All Users\Documents" & strNom & ".csv")

    MonSave.WriteLine "WSD;ADS01;NOI"

Voila...

slb
---------------------------------------------------------------
Il faut beaucoup donner pour recevoir un tout petit peu...
---------------------------------------------------------------
Messages postés
5
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
14 août 2008

Bonjour, et merci pour vos réponses.

à Jack : J'ais éfféctivement fait la manip avant de poser ma question, mon problème était l'intégration de la réponse obtenu via la macro trouvée dans excel , j'obtenais de mémoire le SaveAs "c:\test\monfichier.csv",fileformat:= xlCSV. Mais lors de l'intégration dans mon script, il causait une erreur lors de la compilation au niveau des variables après le saveAs ( fileformat:= xlCSV).

à JMO : Malgrès tes modification, même si le script crée un fichier .csv , ce fichier est de type xls , il suffit de l'ouvrir avec le blocnote pour le voir. C'est sur quoi je tombais avec mon script.
             Je te remercie en tout cas pour la corréction de certaine partie de mon script.

Merci beaucoup à vous deux pour votre rapidité, je continue mes tests avec la macro excel.
Messages postés
5
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
14 août 2008

Merci Lillith212, ton alternative à mon problème fonctionne très bien. Je vais continuer à chercher de mon coté pour excel par curiosité plutot que par besoin.
Je vous remercie tout les trois pour vos réponses rapide.

Bonne soirée