• Initiateur de la discussion Initiateur de la discussion disashy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

disashy

XLDnaute Nouveau
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
523
Réponses
7
Affichages
804
Réponses
5
Affichages
771
Réponses
2
Affichages
1 K
Retour