Salut,
Tout d'abord, il faut que j'explique rapidement le contexte dans lequel je suis :
Je commence en VBA. Je n'ai pas vraiment touché la programmation depuis la fin de mes études, il y a plus de 15a. J'ai les notions de l'orienté objet, mais aucune expérience sur VBA, à part ce que j'ai appris ces 5 derniers jours. Le fait est que j'ai une feuille excel qu'on m'a demandé de faire selon un timing un peu trop serré, du coup, cela ne me laisse pas le temps de faire quelques tutoriaux quasi obligatoires pour me familiariser avec VBA.
... donc j'espère que vous m'excuserez de cette absence de connaissances parfois basiques du VBA que probablement 95% des lecteurs ici présents ont déjà.
J'ai un fichier .xlms dans lequel j'ai mappé un schéma XSD. Le mappage porte le nom S216_Map (onglet Dev, afficher Source). Il n'est pas gros le XSD, j'ai un header contenant 8 données à stipuler, et j'ai un content avec 2 sections qui contiennent chacune 6 valeurs (qui elles, peuvent être encodées de 1 à X fois par l'utilisateur finale)
Le but de cette sheet est simple : Elle sert à encoder les données, puis une fois effectué, avoir un bouton pour exporter cela dans un fichier XML avec un nom de fichier qui sera composé en partie de certaines valeurs encodées dans la section header.
Créer la string qui sera à la base du nom du fichier, je pense que je saurais me débrouiller. Mais avant de faire ça, je voulais que l'export fonctionne, c'est plus important.
Donc j'ai cherché sans trouver un réel exemple concret, car apparemment, ce ne sont pas des fonctions souvent utilisées(XmlMaps, XmlMap). Enfin je suis tombé sur une ligne de commande qui finalement m'a permis de réussir à exporter le fichier (que j'ai analysé et qui est valide)
J'ai donc un beau bouton nommé "Exporter", et j'ai dans mon code VBA une Sub on ne peut plus minimaliste :
En fait je suis étonné que ca marche ? Et en fait j'ai plein de questions mais je ne sais pas bien par où commencer ni n'ai envie de faire un post trop long.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Sub ExportS216() ActiveWorkbook.XmlMaps(1).Export "V:\XML\TestRapport.xml" End Sub
- aucune variable à définir ?
- comment récuperer le RC, avec quel type de Dim
- Quand je vais sur le site MSDN, ils parlent de XmlMap et XmlMaps, mais aussi de [URL="http://msdn.microsoft.com/fr-fr/library/microsoft.office.interop.excel.ixmlmap(v=office.11).aspxIXmlMaps[/URL], ca a le mérite d'un peu plus me brouiller. J'ai malgré tout essayé de plein de manières différentes de me faire des petites macros pour ne fut-ce que afficher dans une MsgBox certaines properties du mappage de ma feuilles, mais sans succès.
Dernière question dans ce post décousu : comment, dans mon code, puis-je simplement afficher quelques properties de mon map (le S216_Map que je vois dans sur ma feuille excel) ? J'en ai pas vraiment besoin, mais c'est dans le but de comprendre simplement comment accéder à un objet instancié, ici en l'occurence ce qui représente mon map.
Quelque chose du genre (ce que j'ai mis en bas à part les Dim n'est pas du code)
Dim MonMap As IXmlMap
Dim NomDuMap As String
MonMap = S216_Map
NomDuMap = MonMap.RootElementName
Debug.Print NumDuMap
etc...
J'ai essayé ceci :
... mais ca marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim mymap As XmlMaps mymap = ActiveWorkbook.XmlMaps(1) mymap.Export "V:\XML\SuperRapport.xml"
Tout ces problèmes sont clairement liés au fait que je ne connais pas (encore) VBA, du coup, si qqun a un peu de temps à m'accorder sur ce forum, ca serait sympa. Le post est déjà assez long ainsi.
Merci
Partager