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

Aegwym212
Messages postés
5
Date d'inscription
mardi 20 mai 2008
Dernière intervention
14 août 2008
- 20 mai 2008 à 17:10 - Dernière réponse : Aegwym212
Messages postés
5
Date d'inscription
mardi 20 mai 2008
Dernière intervention
14 août 2008
- 21 mai 2008 à 18:30
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 20 mai 2008 à 17:22
3
Merci
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)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_Jack
Meilleure réponse
cs_JMO
Messages postés
1855
Date d'inscription
jeudi 23 mai 2002
Dernière intervention
24 juin 2018
- 20 mai 2008 à 18:17
3
Merci
 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

Merci cs_JMO 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_JMO
Meilleure réponse
lillith212
Messages postés
1231
Date d'inscription
vendredi 16 novembre 2007
Dernière intervention
16 juin 2009
- 21 mai 2008 à 09:20
3
Merci
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...
---------------------------------------------------------------

Merci lillith212 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de lillith212
Aegwym212
Messages postés
5
Date d'inscription
mardi 20 mai 2008
Dernière intervention
14 août 2008
- 20 mai 2008 à 19:19
0
Merci
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.
Commenter la réponse de Aegwym212
Aegwym212
Messages postés
5
Date d'inscription
mardi 20 mai 2008
Dernière intervention
14 août 2008
- 21 mai 2008 à 18:30
0
Merci
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
Commenter la réponse de Aegwym212

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.