VBScript

Résolu
Smoky33 Messages postés 8 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 juin 2007 - 5 juin 2007 à 09:04
cs_vinz78 Messages postés 207 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 24 juillet 2007 - 16 juil. 2007 à 15:00
bonjour tout le monde
on est deux stagiaire en informatique débutant en VBScript.
On voudrait trier un fichier .csv à l'aide d'un script qui par la suite stockerait certaines colonnes dans une base access.
Pour ce qui est de la connexion et du remplissage de la base access on sait comment faire à peu près.
Mais notre gros problème c'est de trier le fichier .csv  ( l'option convertir sous excel ) en spécifiant que les informations sont séparés par une virgule et que chaque virgule marque une colonne differente.
Enfin vous voyez à quoi ressemble un fichier .csv ^^
On pense qu'il faut s'aider de variables mais comment dire que la virgule fait office de séparateur ???
On pense qu'il faut aussi faire une boucle pour traiter ligne par ligne le fichier .csv
Merci d'avance pour ceux qui passeront par là !
bonne journée

8 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
5 juin 2007 à 09:09
Salut,
Est ce que VBScript est Necessaire?
Si vous avez Excel, pourquoi ne pas plutot utilisé VBA EXCEL?
@+: Ju£i?n
Pensez: Réponse acceptée
3
Smoky33 Messages postés 8 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 juin 2007
5 juin 2007 à 11:01
le problème c'est que notre maître de stage nous demande de le faire en VBScript ! ^^
On cherche de notre coté, toute aide est la bienvenue.
3
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
5 juin 2007 à 11:27
Salut,
OK
Dans ce cas orientez vos recherche sur la lecture de fichier en VBScript,
Sur les fonctions (si elle sont dispo en VBSCript) Split, Instr, Mid.
Ainsi que sur les tableaux (pour stocker les valeur qui vous interesse).

Ensuite pour la connection a une base access regarder du cote de ADO et des objet Connection et Recordset.

Voila en espérant vous aider un Peu.

@+: Ju£i?n
Pensez: Réponse acceptée
3
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
5 juin 2007 à 11:30
Salut, et ceci vous sera surement utile: http://vb.developpez.com/faqvbs/

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Smoky33 Messages postés 8 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 juin 2007
5 juin 2007 à 11:34
super les gars merci.
on regarde tout ça, si on bloque on revient vous voir et si on trouve on postera notre code qui servira peut être.
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 26
5 juin 2007 à 11:48
 Bonjour à tous

Exemple en vbs.
Mon délimitateur Excel étant le ";" dans mon fichier .csv, j'utilise un replace.

Option explicit
Dim Fso, Fichier, Path
Set Fso = CreateObject("Scripting.FileSystemObject")
Path = "d:\Mes documents"
Fichier  = "Service Client N2 - Archivage METEO.csv"

If Fso.FileExists(Path & Fichier) Then
'-----------------------------------------------------------
'Lecture et mise en variable du contenu du fichier en entrée
'-----------------------------------------------------------
   Const ForReading = 1
   Dim objTextStream, strtmp, parse, i, j
   Set objTextStream = Fso.OpenTextFile(Path & Fichier, ForReading)
   Do While Not ObjTextStream.AtEndOfStream
      strtmp = split(ObjTextStream.ReadAll, vbLf)
      For i=0 to Ubound(strtmp)
          strtmp(i) = Replace(strtmp(i),";",",")
          parse = Split(strtmp(i),",")
          For j=0 To UBound(parse)
              MsgBox "La ligne " &Space(5)& i &vbLf& _
                     strtmp(i) &vbCrLf& "contient " & _
                     UBound(parse) & " colonne(s)" &vbLf& _
                     "contenu de la colonne " & j &vbTab& parse(j)
          Next
      Next
   Loop
   objTextStream.Close
   Set objTextStream = Nothing
End If
Set Fso  = Nothing
 
jean-marc
3
Smoky33 Messages postés 8 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 juin 2007
5 juin 2007 à 12:23
ouah
il y a pas mal d'instruction que nous ne connaissions pas !
on la tester avec notre fichier .csv ça marche !
on va maintenant tenter de rentrer tout ça dans une base de donnée access en modifiant le code.
superbe
merci vraiment
3
cs_vinz78 Messages postés 207 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 24 juillet 2007
16 juil. 2007 à 15:00
lol les réponses acceptées ne sont nécessaires que pour celle qui sont bonnes pas pour toutes xD
0
Rejoignez-nous