Bonjour, J'essaie de creer a partir des donnees de mon tableur excel 2003 un ficher xml <Categories>
<marker name="valeur" titre1="valeur" titre2="valeur" />
</Categories>
les tetes de colonnes (3 colonnes) sont "name, titre1, titre2"
et les "valeurs" sont sur toutes les lignes a partir de la ligne 2 (2000 lignes p.ex), et la balise <marker /> reprendra les valeurs de toutes les colonnes, ligne par ligne, donc j'aurai 2000 lignes avec <marker name="valeur" titre1="valeur" titre2="valeur" />.
J'ai essaye l2 code suivant qui fonctionne chez moi mais qui me donne un fichier vide au travail(reseau).
Y a-t-il quelque adaptation pour regler ce probleme de maniere a ce que ce code fonctionne partout, vu que je ne peux rien changer a la configuration du pc au travail?
Existe-t-il un code plus simple ou plus general?
Voici mon code, ou les donnees sont sur 7 colonnes et les valeurs sur 5 lignes, la premiere ligne etant celle des titres:
Option Explicit
Option Base 1
Sub XMLTest()
Dim xmlDoc As MSXML2.DOMDocument
Dim xmLstring As String, File As String, strQuote As String
Dim Row As Integer, Col As Integer
Dim Attribut As Variant
strQuote = """"
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmLstring = "<?xml version=""1.0"" encoding=""utf-8"" ?> "
xmLstring = xmLstring & "<Markers TitleName=" & strQuote _
& "markers" & strQuote & "> "
Attribut = Array("Lat", "Lng", "Postcode", "Address", "Name", "Category", "Description")
For Row = 2 To Sheets("Filter").UsedRange.Rows.Count
xmLstring = xmLstring & "<marker "
For Col = 1 To 7
xmLstring = xmLstring & Attribut(Col) & "=" & _
strQuote & Cells(Row, Col) & strQuote & " "
Next
xmLstring = xmLstring & " />"
xmLstring = xmLstring & " "
Next Row
xmLstring = xmLstring & "</Markers>"
xmlDoc.loadXML xmLstring
File = "C:\Users\...\Desktop\markersTest2.xml"
xmlDoc.Save (File)
End Sub
Je voudrais en plus :
1. mettre automatiquement a jour le ficher cree lorsque j'applique un filtre.
2. inserer dans la macro un bouton de commande qui lance l'application depuis le fichier excel
Qui pourrait m'aider, svp?
disashy
<marker name="valeur" titre1="valeur" titre2="valeur" />
</Categories>
les tetes de colonnes (3 colonnes) sont "name, titre1, titre2"
et les "valeurs" sont sur toutes les lignes a partir de la ligne 2 (2000 lignes p.ex), et la balise <marker /> reprendra les valeurs de toutes les colonnes, ligne par ligne, donc j'aurai 2000 lignes avec <marker name="valeur" titre1="valeur" titre2="valeur" />.
J'ai essaye l2 code suivant qui fonctionne chez moi mais qui me donne un fichier vide au travail(reseau).
Y a-t-il quelque adaptation pour regler ce probleme de maniere a ce que ce code fonctionne partout, vu que je ne peux rien changer a la configuration du pc au travail?
Existe-t-il un code plus simple ou plus general?
Voici mon code, ou les donnees sont sur 7 colonnes et les valeurs sur 5 lignes, la premiere ligne etant celle des titres:
Option Explicit
Option Base 1
Sub XMLTest()
Dim xmlDoc As MSXML2.DOMDocument
Dim xmLstring As String, File As String, strQuote As String
Dim Row As Integer, Col As Integer
Dim Attribut As Variant
strQuote = """"
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmLstring = "<?xml version=""1.0"" encoding=""utf-8"" ?> "
xmLstring = xmLstring & "<Markers TitleName=" & strQuote _
& "markers" & strQuote & "> "
Attribut = Array("Lat", "Lng", "Postcode", "Address", "Name", "Category", "Description")
For Row = 2 To Sheets("Filter").UsedRange.Rows.Count
xmLstring = xmLstring & "<marker "
For Col = 1 To 7
xmLstring = xmLstring & Attribut(Col) & "=" & _
strQuote & Cells(Row, Col) & strQuote & " "
Next
xmLstring = xmLstring & " />"
xmLstring = xmLstring & " "
Next Row
xmLstring = xmLstring & "</Markers>"
xmlDoc.loadXML xmLstring
File = "C:\Users\...\Desktop\markersTest2.xml"
xmlDoc.Save (File)
End Sub
Je voudrais en plus :
1. mettre automatiquement a jour le ficher cree lorsque j'applique un filtre.
2. inserer dans la macro un bouton de commande qui lance l'application depuis le fichier excel
Qui pourrait m'aider, svp?
disashy