Bonjour à tous et toutes,

J'essaye à l'heure actuelle de modifier la 2ème ligne d'un fichier xml généré à partir d'Excel.
Ligne initiale :
<all_comments xmlnssi="http://www.w3.org/2001/XMLSchema-instance">
Ligne attendue:
<all_comments mode="diff">

J'arrive bien à :
- récupérer le contenu du fichier
- modifier la ligne que je veux en passant par la fonction replace
- afficher via la fonction MsgBox le nouveau texte
mais impossible de le remettre dans mon fichier xml pour le sauvegarder. J'ai une erreur sur la ligne de sauvegarde sur le type d'objet

Est-ce la bonne méthode ?
J'ai essayé en passant par les noeuds mais je n'y arrive pas.

Avez-vous des conseils ?

Voici mon code :
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
 
Sub ModifyXMLFile()
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
Set XML_Content = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
If xmlDoc.Load("C:\export_xml_10-08-2017.xml") Then
        'MsgBox "Document XML correctement chargé"
        XML_Content = xmlDoc.XML
        TexteInitial = "<all_reviews xmlns:xsi=""" & "http://www.w3.org/2001/XMLSchema-instance" & """" & ">"
        TexteNouveau = "<all_reviews mode=""" & "diff" & """" & ">"
        XML_Content = Replace(XML_Content, TexteInitial, TexteNouveau)
        xmlDoc = XML_Content
        MsgBox XML_Content
        xmlDoc.Save "C:\export_xml_10-08-2017_modified.xml"
Else
        MsgBox "Erreur de lecture du document XML"
End If
 
Set xmlDoc = Nothing
 
End Sub