IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Remplacer des , par des ; sur un fichier existant.


Sujet :

VBScript

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut Comment remplacer des virgules par des points virgules avec vbcript?
    Bonjour,
    Je voudrai pouvoir changer sur un ficher csv les virgules par des points virgules, j'ai trouvé que la fonction replace permet de changer une chaine de caractère par une autre mais je ne sais pas comment comencer le programme ni la syntaxe car je ne connais pas vbscript.
    Merci

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Dans ce cas là un petit tour sur la qui expliquera cela mieux que moi.

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    pour préciser la réponse à Ced ... dans la

    tu as

    pour lire ton fichier text Comment lire le contenu d'un fichier texte ?

    utilise la fonction replace par exemple pour remplacer tes ; ...voir son aide : Où trouver l'aide en ligne pour VBScript ?


    écrire ton nouveau fichier Comment écrire dans un fichier texte ?


  4. #4
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Rebonjour,

    voilà j'ai pu écrire ces lignes mais je ne sais si c'est la bonne syntaxe?!

    replace_str.vbs [fichier] [str_find] [str_replace]

    Sub Replace("D:Export\BW\Réalisé.csv", ",", ";")
    End Sub

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Dans ce cas là il faudrait préciser également qu'il y trouvera :
    Comment écrire un script VBS ?
    Le typage des variables.

    Et que après avoir lut tout cela, il pourra faire son programme, et retournera sur le forum pour résoudre ses problèmes à l'aide des milliers de poste présent sur le forum (utiliser la fonction rechercher) et à l'aide de .
    Et si par infortune il ne trouve pas de solution à ses problèmes, il nous les soumettra via un post et on se fera plaisirs de l'aider.

    Oups j'arrive trop tard apparement

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Heu... Tu as posté tout ton code là ?

  7. #7
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    bein je ne sais par quoi commencer et ce que je dois ajouter!

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    As tu été voir la FAQ ?

  9. #9
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    oui je l'ai lu

    Bon voila ce que j'ai résussi à faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Text_Change()
     
      If InStr(Text, ".") Then
           Text = Replace(Text, ",", ";")
           Text.SelStart = Len(Text)
      End If
    End Sub

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    tu peu nous préciser ton environnement de développement ...?

    c'est quoi Text.SelStart ?

  11. #11
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut Remplacer des , par des ; sur un fichier existant.
    Bonjour tout le monde,
    le programe ci dessous remplace des , par des ; sur le fichier "Réalisé.csv". Pour cela il a fallu :
    - créer un fichier source et un fichier cible
    - transformer chaque ligne du fichier source et l'écrire dans le fichier cible (boucle)
    - fermer les fichiers
    - renommer le fichier source (ajouter .old à la fin du nom)
    - renommer le fichier cible (avec le nom du fichier source)
    - effacer le fichier source
    Mon souci est au niveau de la boucle qui doit parcourir tout le fichier puis le copier dans un autre fichier File.csv par exemple ainsi que renommer les fichiers.

    Si vous pouvez m'aider ? Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Dim oFSO
    Dim File1
    Dim File2
    Dim TEMP_Line As String
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set File1 = FSO.OpenTextFile("D:\Export\BW\Réalisé.csv", 1, False)
    Set File2 = FSO.OpenTextFile("D:\Export\BW\File.csv", 2, True)
     
    Do While Not File.AtEndOfStream
    TEMP_Line = File.ReadLine
    Replace("D:\Export\BW\Réalisé.csv", ",", ";")
    File2.writeline ("TEMP_Line")
     Loop
    File1.Close
    File2.Close
     
    Set File1 = fso.GetFile("D:\Export\BW\Réalisé.csv") 
    File1.delete

  12. #12
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Ton problème viens d'une mauvaise compréhension de replace :
    Regarde ici.
    En plus tu ne sembles pas avoir compris la notion de variable, ou du moins comment afficher son contenu puisque tu ecris File2.writeline ("TEMP_Line"). Ce qui à mon avis donne en résultat un fichier composé de plein de TEMP_Line. Regarde du coté de la FAQ pour les base en VBS.

    Ton code devrait être plus comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Dim oFSO
    Dim File1
    Dim File2
    Dim TEMP_Line As String
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set File1 = FSO.OpenTextFile("D:\Export\BW\Réalisé.csv", 1, False)
    Set File2 = FSO.OpenTextFile("D:\Export\BW\File.csv", 2, True)
    
    Do While Not File.AtEndOfStream
    TEMP_Line = File.ReadLine
    Replace(TEMP_Line, ",", ";")
    File2.writeline (TEMP_Line)
    Loop
    File1.Close
    File2.Close
    
    Set File1 = fso.GetFile("D:\Export\BW\Réalisé.csv") 
    File1.delete
    Il faut utiliser le bouton # pour les balises de code

  13. #13
    Membre averti
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 341
    Points
    341
    Par défaut
    Salut,

    pour faire simple chez microsoft tu vas retrouver l'article "How Can I Convert a Comma-Separated Values File to a Tab-Separated Values File?". Leur exemple propose de remplacer des ";" par des tabulations mais je pense que l'esprit de cet artcile va dans le sens de ta demande :

    http://www.microsoft.com/technet/scr...5/hey0406.mspx

    et eventuellement "How Can I Create a CSV File?"

    http://www.microsoft.com/technet/scr...4/hey1028.mspx

    Un peu de reflexion et de concentration et ca devrait répondre à tes attentes....

    A++

Discussions similaires

  1. Lecture des Droits d'accès sur un fichier existant
    Par phpdev dans le forum Langage
    Réponses: 1
    Dernier message: 19/01/2013, 10h41
  2. Réponses: 5
    Dernier message: 23/07/2009, 20h49
  3. Réponses: 5
    Dernier message: 13/12/2006, 17h08
  4. str_replace remplace les " par des '
    Par Dsphinx dans le forum Langage
    Réponses: 4
    Dernier message: 21/11/2006, 10h04
  5. [Configuration] remplacement des é par des i
    Par illegalsene dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 18/10/2005, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo