XML et EXCEL

  • Initiateur de la discussion C@thy
  • Date de début
C

C@thy

Guest
Bonjour le forum,

quelqu'un a-t-il manipulé des fichiers XML à partir d'Excel?

je vais devoir récupérer des noms prénoms dates et montants vers un fichier Excel et je n'y connais rien du tout.

Si vous pouvez m'éclairer un petit peu je vous en serai très reconnaissante.

[urlhttp://www.chez.com/xml/index.htm]LIEN[/url]

smiles_39.gif


smiley_193.gif


C@thy
BipBip.gif
 
L

LaurentTBT

Guest
Bonjour, Cathy,

Je ne sais pas si je peux faire quelque chose pour toi, mais je travaille un peu sur des pages htm depuis excel. On peut extraire ou envoyer des données. Peut-être y a-t-il des similitudes.
Envoi ici un exemplaire de ton fichier XML, ou dans ma BAL, je regarderai ce soir.

Bonne après midi

Laurent.
 
@

@+Thierry

Guest
Bonsoir C@thy, Laurent

Je ne suis pas trop ton problème, çà me fait penser à Didier qui, hier soir sur le chat, cherchait à trouver un SendKey sur une page HTML pour lancer un Hyperlien s'y trouvant... Afin d'y aller pour faire un copy/paste des valeurs...

En fait pour moi, tout ce qui finit sur une Page HTM, XML, PHP, ASP, ETC provient d'une base de données, donc je ne passe pas par l'aboutissant mais plutôt pas la source... Enfin parfois on est obligé de prendre le problème à l'envers....

En tout cas une page XML peut être lu comme un TXT, de là, il faut connaitre les "Balises" et les "Attributs" de tes pages XML ... En attendant de voir ce que Laurent va nous trouver comme géniale solution dans son greniers ! ...

Mais voici déjà un bricolage qui peut, peut-être, te dépanner... Imaginons que tu veuilles ressortir tous les Noms qui ont été balisés comme ceci en XML :
<LASTNAME>C@thy</LASTNAME>

Donc une macro comme ceci va aller pointer sur le fichier "TextXML.xml" qui serait situé dans le même répertoire que le classeur et fera l'extraction en colonne "A" de la feuille "Import_XML" de tout le contenu de chaque ligne de la page XML et en colonne "B" uniquement les Noms...

Par contre je ne peux te proposer plus que de refaire tourner la même macro en adaptant les constantes aux balises adéquates pour "Date" et pour "Montant" ....

Option Explicit

Const TagStarting As String = "<LASTNAME>"
Const TagClosing As String = "</LASTNAME>"


Sub ImportXML()
Dim Enregistrement As String
Dim TrackName As Variant
Dim i As Integer, x As Integer
Dim Chemin As String, FichierXML As String
Dim TheString As String

Chemin = ThisWorkbook.Path & "\"
FichierXML = "TextXML.xml"

i = 1

Open Chemin & FichierXML For Input As #1
Do While Not EOF(1)
Line Input #1, Enregistrement
TrackName = Split(Enregistrement, TagStarting)
For x = 0 To UBound(TrackName)
TheString = Application.WorksheetFunction.Substitute(TrackName(x), TagClosing, "")
With Sheets("Import_XML")
.Cells(i, x + 1) = TheString
End With
Next x
i = i + 1
Loop
Close #1
End Sub


Je ne sais pas si c'est ce que tu veux, mais çà devrait déjà te montrer ce que contiennent tes pages XML... et apprendre comment elles ont été "balisée"

Bon Courage et surtout.......... ne balize pas !!!

@+Thierry
 
L

LaurentTBT

Guest
Bonsoir à tous,

Cathy, je réitère ma demande: peux-tu m'envoyer la page XML, en précisant quelles données tu veux en extraire, ou quels inputs tu veux lui envoyer. Je ne sais pas encore si j'y aurai accès, mais il me faudrait plus de détails pour essayer.
Bonne soirée.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 779
Messages
2 092 046
Membres
105 168
dernier inscrit
makari69