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

Macros et VBA Excel Discussion :

remplacer des caractères d'un fichier xml


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 27
    Par défaut remplacer des caractères d'un fichier xml
    bonjour,

    je cherche un moyen de remplacer des caractères d'un fichier xml.

    en fait, je crée par macro mon fichier xml. Seulement, dans toutes les lignes je dois avoir les caractères "<" et ">". seulement, lorsque mon fichier est créé, vba les transforme en "&lt;" et "&gt;"

    alors je voulais savoir s'il étais possible de réouvrir le fichier xml et de remplacer tous les "&lt;" en "<", et tous les "&gt;" en ">"

    merci d'avance

    Alain

  2. #2
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 27
    Par défaut
    Voilà, j'ai enfin trouvé la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Load()
        'C:\test.xml contient le texte ou se trouve les caractères à changer
        Call ChangeWords("&lt;", "<", "C:\test.xml")
    End Sub
    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
     
    Private Function ChangeWords(sWordsToRemove As String, sWordsToChange As String, sFile As String) As Boolean 
        If Dir(sFile, vbSystem Or vbHidden) = vbNullString Then 
    '       fichier existe?
            ChangeWords = False 
        Else 
    '       ouvre le fichier
            Dim FF As Integer, sBuffer As String 
            FF = FreeFile 
            Open sFile For Input As #FF 
                sBuffer = Input(LOF(FF), 1) 
            Close #FF 
    '       ligne à changer existe?
            Dim lPos As Long 
            lPos = InStr(1, sBuffer, sWordsToRemove) 
            If lPos = 0 Then 
                ChangeWords = False 
            Else 
    '           on découpe
                Dim sFirst As String, sLast As String 
                sFirst = Left$(sBuffer, lPos - 1) 
                sLast = Right$(sBuffer, Len(sBuffer) - lPos - Len(sWordsToRemove) + 1) 
    '           on écrit
                FF = FreeFile 
                Open sFile For Output As #FF 
                    Print #FF, sFirst & sWordsToChange & sLast 
                Close #FF 
                ChangeWords = True 
            End If 
        End If 
    End Function
    voila voila... J'espere que ca aidera quelqu'un pour la suite

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

Discussions similaires

  1. Rechercher et remplacer des caractères dans un fichier
    Par klimon dans le forum Général Python
    Réponses: 6
    Dernier message: 04/08/2014, 15h56
  2. Rechercher et remplacer des caractères d'un fichier
    Par ptitemeuh dans le forum Débuter
    Réponses: 5
    Dernier message: 21/12/2011, 12h16
  3. [Batch] Remplacer des caractères dans un fichier texte
    Par Benoit Labbey dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 09/06/2009, 16h43
  4. [Castor] Echappement des caractères <> dans un fichier XML généré par Castor XML
    Par mbinte dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 22/10/2008, 14h33
  5. Réponses: 3
    Dernier message: 27/06/2005, 16h24

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