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 :

Parcourir un texte (.txt) et et convertir les caractères spéciaux


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 52
    Points : 34
    Points
    34
    Par défaut Parcourir un texte (.txt) et et convertir les caractères spéciaux
    Bonjour,

    je souhaiterais convertir le contenu d'un fichier texte (.txt) et lui enlever tous les caractères spéciaux, accent... et les remplacer par leur équivalence sans caractère spéciaux (par exemple "é" en "e") par l'aide d'un script.
    Si quelqu'un à ça sous le coude c'est sympa.

    peut être avec un paramétrage du format ? (Ascii 128 bits...)
    Ou un bout de code qui boucle sur tous les caractère et qui les modifient en fonction du type? pour ca j'avais un bout de code mais j'y n'y suis pas arrivé
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    --- Remplace les caractères accentués par des non accentués
        *
        * Dim i As Integer
        * Dim Lettre As String
        *
        * For i = 1 To Len(sText)
        * Lettre = Mid$(sText, i, 1)
        * If Asc(Lettre) > 127 Then
        * Select Case Lettre
        * 'Majuscule
        * Case "É": Lettre = "E"
        * Case "È": Lettre = "E"
        * Case "Ê": Lettre = "E"
        * Case "Ë": Lettre = "E"
        * Case "Ä": Lettre = "A"
        * Case "Ï": Lettre = "I"
        * Case "Î": Lettre = "I"
        * Case "Ç": Lettre = "C"
        * Case "Ü": Lettre = "U"
        * Case "Û": Lettre = "U"
        * Case "Ö": Lettre = "O"
        * 'Minuscule
        * Case "é": Lettre = "e"
        * Case "è": Lettre = "e"
        * Case "ä": Lettre = "a"
        * Case "à": Lettre = "a"
        * Case "ê": Lettre = "e"
        * Case "ë": Lettre = "e"
        * Case "ï": Lettre = "i"
        * Case "î": Lettre = "i"
        * Case "ç": Lettre = "c"
        * Case "ü": Lettre = "u"
        * Case "û": Lettre = "u"
        * Case "ö": Lettre = "o"
        * End Select
        * End If
        * SansAccent = SansAccent + Lettre
        * Next i
    J'ai trouvé ca quelques part un truc dans ce style sinon. Si quelqu'un à un truc sympas à partager.

    Merci d'avance.

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

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

    tu peux partir là dessus :

    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
    19
    20
    21
    22
     
    Const ForReading = 1
    Const ForWriting = 2
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("FichierEnEntree.txt", ForReading)
     
    strText = objFile.ReadAll
    objFile.Close
     
    strNewText = Replace(strText, "É", "E")
    strNewText = Replace(strNewText, "Ê", "E")
    strNewText = Replace(strNewText, "Ë", "E")
    strNewText = Replace(strNewText, "Ï", "I")
    strNewText = Replace(strNewText, "Ç", "C")
    strNewText = Replace(strNewText, "-", " ")
    strNewText = Replace(strNewText, "_", " ")
    strNewText = Replace(strNewText, " * ", " ")
     
    Set objFile = objFSO.CreateTextFile("FichierEnSortie.txt", ForWriting)
    objFile.WriteLine strNewText
    objFile.Close
    A++
    Plus tu pédales moins vite, moins t'avances plus vite.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    Merci, pour ton aide ca fonctionne nickel

    comment puise je faire pour passer en argument un fichier, car c'est une batch qui s'exécute et j'ai un paramètre qui est le nom du fichier.
    Comment puis je faire pour l'éxécuté de cette maniere sous Dos.
    monscript.vb monfichier.txt

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

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 341
    Points
    341
    Par défaut
    Citation Envoyé par Balbo Voir le message
    comment puise je faire pour passer en argument un fichier, car c'est une batch qui s'exécute et j'ai un paramètre qui est le nom du fichier.
    tu ajoutes en début de ton vbs qquechose comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Nom_de_mon_parametre = Wscript.Arguments.Item(0)
    et du coup tu changes ca aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set objFile = objFSO.OpenTextFile("FichierEnEntree.txt", ForReading)
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set objFile = objFSO.OpenTextFile(Nom_de_mon_parametre, ForReading)

    A++
    Plus tu pédales moins vite, moins t'avances plus vite.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    Tu es un genius !!!!

    Double résolution de problème. Merci beaucoup

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

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 341
    Points
    341
    Par défaut
    Résolution express en moins d'une heure, ca va faire grimper ta facture !!
    Plus tu pédales moins vite, moins t'avances plus vite.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertir les caractères spéciaux du contenu d'un txt
    Par Balbo dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 16/01/2009, 16h11
  2. Réponses: 1
    Dernier message: 25/10/2007, 11h49
  3. convertir les caractères spéciaux en html
    Par jultoys dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/07/2007, 18h49
  4. Convertir les caractères spéciaux
    Par Tchupacabra dans le forum Langage
    Réponses: 3
    Dernier message: 22/05/2007, 11h24

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