Transformation des attributs xml sous vba excel

Transformation des attributs xml sous vba excel - VB/VBA/VBS - Programmation

Marsh Posté le 13-09-2008 à 15:04:27    

Bonjour à tous,
J'ai un fichier xml qui se présente de la manière suivante :
<Application>
  <User value=""A"" />
  <Val value=""B"" />
  </Application>
 et j'aimerai la transformer comme suite :
<Application>
<User> A </User>
<Val> B</Val>
  </Application>
Impossible de le faire manuellement car le fichier est assez énorme!!J'aimerais savoir s'il n'est pas possible de le faire avec une macro sous vba excel.Merci de vos réposes car je ne trouve pas de solution......

Reply

Marsh Posté le 13-09-2008 à 15:04:27   

Reply

Marsh Posté le 13-09-2008 à 19:55:12    

Salut, un début de réponse , à toi de compléter les chaines à remplacer et remplaçantes
Affecter un bouton à SelDossier et adapter à tes besoins


Option Explicit
 
'   Early Binding FSO
Private Sub Remplacer(ByVal sDossier As String)
Dim Fichier As Object
Dim FSO As Object
Dim Chemin As String, sLue As String
Dim ChaineARemplacer As String, Chaine As String
Dim Cpt As Long
 
    Chemin = sDossier & "\"
     
    ChaineARemplacer = ......
    Chaine = .......
 
    Set FSO = CreateObject("Scripting.FileSystemObject" )
 
    For Each Fichier In FSO.GetFolder(Chemin).Files
        If UCase(Fichier.Name) Like "*.XML" And InStr(Fichier.Name, "Modif_" ) = 0 Then
            Cpt = Cpt + 1
            With FSO.OpenTextFile(Chemin & Fichier.Name, 1)
                sLue = .ReadAll
                .Close
            End With
            sLue = Replace(sLue, ChaineARemplacer, Chaine)
 
            With FSO.CreateTextFile(Chemin & "Modif_" & Fichier.Name, True)
                .WriteLine sLue
                .Close
            End With
        End If
    Next Fichier
 
    Set FSO = Nothing
    Application.StatusBar = "Terminé : " & Cpt & " Fichiers"
End Sub
 
Sub SelDossier()
Dim sChemin As String
 
    sChemin = ThisWorkbook.Path
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = sChemin & "\"
        .Title = "Dossier à traiter"
        .AllowMultiSelect = False
        .InitialView = msoFileDialogViewDetails
        .ButtonName = "Sélection Dossier"
        .Show
        If .SelectedItems.Count > 0 Then Remplacer .SelectedItems(1)
    End With
End Sub


Message édité par kiki29 le 13-09-2008 à 19:57:56
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed