begin process at 2012 02 15 23:18:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBScript

 > 

SaveAS CSV d'un fichier excel en VBS


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SaveAS CSV d'un fichier excel en VBS

mardi 20 mai 2008 à 17:10:34 | SaveAS CSV d'un fichier excel en VBS

Aegwym212

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


mardi 20 mai 2008 à 17:22:36 | Re : SaveAS CSV d'un fichier excel en VBS

jack

Administrateur CodeS-SourceS
Réponse acceptée !
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

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
mardi 20 mai 2008 à 18:17:05 | Re : SaveAS CSV d'un fichier excel en VBS

JMO

Membre Club
Réponse acceptée !


 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
mardi 20 mai 2008 à 19:19:28 | Re : SaveAS CSV d'un fichier excel en VBS

Aegwym212

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.
mercredi 21 mai 2008 à 09:20:31 | Re : SaveAS CSV d'un fichier excel en VBS

lillith212

Membre Club
Réponse acceptée !
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...
---------------------------------------------------------------
mercredi 21 mai 2008 à 18:30:41 | Re : SaveAS CSV d'un fichier excel en VBS

Aegwym212

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


Cette discussion est classée dans : fichier, excel, xls, csv, saveas


Répondre à ce message

Sujets en rapport avec ce message

Convertir un Fichier CSV en XLS [ par Sebby59 ] Bonjour à tous !Voilà mon petit problème : Je souhaite que mon fichier CSV soit correctement représenté dans Excel. Je m'explique plus clairement, mon [VBA-E] Comment convertir 3000 fichiers de .csv à .xls?? (Attention prise de tête!) [ par maximecdb ] Salut, Je suis en stage depuis 2 semaines, et l'un de mes premiers boulot est de concaténer plein de données a la suite et je piétine depuis deux jou excel et vb [ par wafavb ] bonjourpour un projet j'ai récupéré un fichier excel ou il y des macros que je dois utiliser pour récupérer des informations nécessaires pour mon trav Problème csv Excel [ par lourdo ] Bonjour,avec Excel 97, je désire exporter par macro le contenu de mon workbook sous un format csv avec séparateur ";".En utilisant le menu fichier|sau Lecture fichier xls sans l'ouvrir [ par houseclubber ] bonjour,j'aimerai savoir comment faire pour copier dans le fichier Excel ouvert, une cellule voir une colonne à partir d'un autre fichier Excel sans l MACRO EXCEL: ouverture fichier [ par ChtiBreizh ] bonjour,j'ouvre une boite de dialogue pour ouvrir un fichier par Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls")Je voudrai que seul le fi Convertir un .doc en .xls [ par bluelive ] Je cherche à pouvoir soit convertir un fichier word (.doc) contenant un tableau en un fichier xls via VB ou bien ouvir le fichier word, et faire les a VBA / Excel !!! Comment faire pour ... [ par Spe6men ] Je voudrai savoir comment faire pour copier une ligne d'un fichier excel dans un autre fichier excel portant le nom de la premiere cellule de la ligne passer un xls en csv [ par sebV ] Bonjours, j'ai besoin dans un programme d'importer une feuille d'un XLS, pour l'instant je doit exporter le xls sous excel, mais je voudrait que mon a VBA ouvrir un fichier excel depuis excel [ par rvw68 ] BonjourJe souhaite ouvrir un fichier excel se trouvant dans le meme repertoire que le fichier courant. car son emplacement peut varier. Mais je ny arr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales