Aegwym212
Messages postés5Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention14 août 2008
-
20 mai 2008 à 17:10
Aegwym212
Messages postés5Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention14 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.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 20 mai 2008 à 17:22
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)
lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 juin 2009 21 mai 2008 à 09:20
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...
---------------------------------------------------------------
Aegwym212
Messages postés5Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention14 août 2008 20 mai 2008 à 19:19
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Aegwym212
Messages postés5Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention14 août 2008 21 mai 2008 à 18:30
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.