Bonjour,
Mon problème est le suivant:
J'ai un code XML composé de 5 linges:
<maison>
<1eratage>
<salon><tapis><Dateachat>02022009</Dateachat><tapis><lieuachat>canapi</lieuachat></salon>
</1eretage>
</maison>
Pour le parcourir je le transforme en fichier texte et je le parcours ligne par ligne
Cependant je veux enlever des informations de ce XML, ici la partie en gras, pour pouvoir l'importer sous excel sans cette info.
Mon alfo consiste à parcourir lettre par lettre à partir de la ligne ou le début est <Salon>, mais ca ne marche pas:
Mon code est composé de plein de balise de ce type et je souhaite a chaque fois enlevé cette info, mais il ne marche pas, il ne traite pas la ligne en entier
Sub modifXMLLigneEtape2()
Dim CalculationTime As Single
CalculationTime = Timer
Dim TempLettre As String
Dim TempLigne As String
Dim TempFinMot As String
Dim TempLigneDelete As String
TempLigneDelete = "<Dateachat>"
Dim TempLigneDeleteFermeture As String
TempLigneDeleteFermeture = "</DateAchat>"
Dim TempSelectionDelete As String
Dim TempLigneSelectionAGarger As String
Open "h:\My Documents\Projet 3\essai.xml" For Input As #1
Open "h:\My Documents\Projet 3\Res_essai.xml" For Output Access Write As #2
Do While Not EOF(1)
Line Input #1, TempLigne
If Mid(TempLigne, 13, Len(TempLigneDelete)) = TempLigneDelete Then
TempSelectionDelete = Mid(TempLigne, 13, Len(TempLigneDelete))
Do While Right(TempSelectionDelete, Len(TempLigneDeleteFermeture)) <> TempLigneDeleteFermeture
Do While TempLigne = TempLigne
TempLettre = Input(1, TempLigne)
TempSelectionDelete = TempSelectionDelete & TempLettre
Loop
Loop
TempSelectionDelete = ""
Else
Print #2, TempLigne
Debug.Print TempLigne
End If
Loop
Close #1
Close #2
Debug.Print Timer - CalculationTime
End Sub
Comment faire ? Avez vous d'autres solutions totalement différentes ? Si oui, je le prends volontiers.
merci
Mon problème est le suivant:
J'ai un code XML composé de 5 linges:
<maison>
<1eratage>
<salon><tapis><Dateachat>02022009</Dateachat><tapis><lieuachat>canapi</lieuachat></salon>
</1eretage>
</maison>
Pour le parcourir je le transforme en fichier texte et je le parcours ligne par ligne
Cependant je veux enlever des informations de ce XML, ici la partie en gras, pour pouvoir l'importer sous excel sans cette info.
Mon alfo consiste à parcourir lettre par lettre à partir de la ligne ou le début est <Salon>, mais ca ne marche pas:
Mon code est composé de plein de balise de ce type et je souhaite a chaque fois enlevé cette info, mais il ne marche pas, il ne traite pas la ligne en entier
Sub modifXMLLigneEtape2()
Dim CalculationTime As Single
CalculationTime = Timer
Dim TempLettre As String
Dim TempLigne As String
Dim TempFinMot As String
Dim TempLigneDelete As String
TempLigneDelete = "<Dateachat>"
Dim TempLigneDeleteFermeture As String
TempLigneDeleteFermeture = "</DateAchat>"
Dim TempSelectionDelete As String
Dim TempLigneSelectionAGarger As String
Open "h:\My Documents\Projet 3\essai.xml" For Input As #1
Open "h:\My Documents\Projet 3\Res_essai.xml" For Output Access Write As #2
Do While Not EOF(1)
Line Input #1, TempLigne
If Mid(TempLigne, 13, Len(TempLigneDelete)) = TempLigneDelete Then
TempSelectionDelete = Mid(TempLigne, 13, Len(TempLigneDelete))
Do While Right(TempSelectionDelete, Len(TempLigneDeleteFermeture)) <> TempLigneDeleteFermeture
Do While TempLigne = TempLigne
TempLettre = Input(1, TempLigne)
TempSelectionDelete = TempSelectionDelete & TempLettre
Loop
Loop
TempSelectionDelete = ""
Else
Print #2, TempLigne
Debug.Print TempLigne
End If
Loop
Close #1
Close #2
Debug.Print Timer - CalculationTime
End Sub
Comment faire ? Avez vous d'autres solutions totalement différentes ? Si oui, je le prends volontiers.
merci