Excel et xml

Signaler
Messages postés
28
Date d'inscription
vendredi 13 juillet 2001
Statut
Membre
Dernière intervention
1 février 2002
-
Messages postés
12
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
5 janvier 2009
-
slt à celui qui lit ce msgbox

bon j voudrais savoir si il est possible de convertir des données contenu dans un classeur excel au format xml. Je crois savoir que c possible sous excel 2002 mais est ce possible avec la version 2000 via VBA.
merci

7 réponses

Messages postés
28
Date d'inscription
vendredi 13 juillet 2001
Statut
Membre
Dernière intervention
1 février 2002

je constate que vous etes tous des teub, bon g trouvé (et oui je suis très fort). mdrrrrrrrrrr !!
Messages postés
28
Date d'inscription
vendredi 13 juillet 2001
Statut
Membre
Dernière intervention
1 février 2002

je constate que vous etes tous des teub, bon g trouvé (et oui je suis très fort). mdrrrrrrrrrr !!
merci zackarry
Messages postés
28
Date d'inscription
vendredi 13 juillet 2001
Statut
Membre
Dernière intervention
1 février 2002

je constate que vous etes tous des teub, bon g trouvé (et oui je suis très fort). mdrrrrrrrrrr !!
merci zackarry
Messages postés
23
Date d'inscription
lundi 6 août 2001
Statut
Membre
Dernière intervention
14 avril 2005

je sais pas.
Regarde du coté de fichier/ouvrir !

CA CASSSSSSSSSSSSSSSSEEEEEEEEEEEEEEEEEEEEEE
Messages postés
106
Date d'inscription
mardi 13 janvier 2004
Statut
Membre
Dernière intervention
1 octobre 2020

Salut , bon .... je vais essayer de pas de donner une reponse a la con
du genre de nos compères Zackarry et chipaolee .... qui visiblement n'ont
aucune idée de la methode pour y arriver !!

tout ce que tu as à faire est de copier tout ca ( ce qui n'est pas en gras) dans excel dans un module VBA et puis executer comme une macro .... si tu as des soucis pour la faire fonctionner n'hesite pas a me dire ;-) ....... si tu respecte les quelques contraintes .... ca marche impécable ...... testé et certifié ......... bonne prog........ FRANCK


sub convert_to_xml()
reponse = MsgBox("voulez vous generer un fichier xml ?", vbYesNo)
If reponse = vbYes Then
FullPath = InputBox("entrez un chemin complet")
ExportToXML (FullPath), "loto"
MsgBox ("fichier XML généré à l'emplacement suivant:" & vbCrLf _
& vbCrLf & FullPath)
End If


If reponse = vbNo Then End


end sub


'----------------------------------------------------------------------------------------------
'Fonction pour convertir le fichier excel en fichier xml
'----------------------------------------------------------------------------------------------
'PARAMETRES: FullPath: chemin complet de destination du fichier a exporter
' RowName: nom de balise XML donnée à chaque ligne
'RETURN: renvoie vrai si execution OK , faux sinon
'
'EXEMPLE: ExportToXML "C:\Documents and Settings\franck\Bureau\test\loto\mysheet.xml", "loto"
'
' 1) Concue pour etre utilisée comme une macro
' 2) la fonction fonctionne par defaut sur la premiere
' feuille du classeur
' si vous voulez une variable pour designer la feuille,
' vous pouvez ajouter un nombre en parametre
' exemple : worksheets(2) si c'est la deuxieme feuille
' 3) le nom de la feuille sera le premier niveau de
' l'arborescence XML
' 4) la premiere ligne doit contenir les entetes de colonne
' les lignes suivantes doivent contenir les valeurs
' 5) IMPORTANT:
' pas d'espaces blancs dans les entetes de colonne
' pas d'accents dans la feuille


'------------------------------------------------------------------------------------------------


Public Function ExportToXML(FullPath As String, RowName _
As String) As Boolean
On Error GoTo ErrorHandler
Dim colIndex As Integer
Dim rwIndex As Integer
Dim asCols() As String
Dim oWorkSheet As Worksheet
Dim sName As String
Dim lCols As Long, lRows As Long
Dim iFileNum As Integer


Set oWorkSheet = ThisWorkbook.Worksheets(1)
sName = oWorkSheet.Name
lCols = oWorkSheet.Columns.Count
lRows = oWorkSheet.Rows.Count
ReDim asCols(lCols) As String
iFileNum = FreeFile
Open FullPath For Output As #iFileNum
For i = 0 To lCols - 1
If Trim(Cells(1, i + 1).Value) = "" Then Exit For
asCols(i) = Cells(1, i + 1).Value
Next i
If i = 0 Then GoTo ErrorHandler
lCols = i
Print #iFileNum, "<?xml version=""1.0""?>"
Print #iFileNum, "<" & sName & ">"
For i = 2 To lRows
If Trim(Cells(i, 1).Value) = "" Then Exit For
Print #iFileNum, "<" & RowName & ">"
For j = 1 To lCols
If Trim(Cells(i, j).Value) <> "" Then
Print #iFileNum, " <" & asCols(j - 1) & "><![CDATA[";
Print #iFileNum, Trim(Cells(i, j).Value);
Print #iFileNum, "]]></" & asCols(j - 1) & ">"
DoEvents 'OPTIONAL
End If
Next j
Print #iFileNum, " </" & RowName & ">"
Next i
Print #iFileNum, "</" & sName & ">"
ExportToXML = True
ErrorHandler:
If iFileNum > 0 Then Close #iFileNum
Exit Function
Messages postés
44
Date d'inscription
jeudi 19 août 2004
Statut
Membre
Dernière intervention
20 mars 2008

Bonjour a tous, hello [auteurdetail.aspx?ID=216498 xzonz]
j ai essayé ton code avec excel 2002 et j ai u quelque soucis,

Deja une fois la macro creer elle ne vaus pas s executer car il manque
un end fonction a la fin ( toi c est un exit fonction) j ai donc
remplacer le exit par end et la ca ne plantait plus.

Parcontre maintenant une fois la macro executé il me demande le chemin
je lui donne et apres il me dit que e fichier xml a été creer a l
endroit indiqué ce qui n est pas
le cas je n ais pas de fichier dans le repertore de destination.

Merci de bien vouloir me dire si chez toi ca marche réelement et si tu a deja u ca
carpe diem
Messages postés
12
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
5 janvier 2009

Hello xzonz,
merci pour ce code, ca repond parfaitement à ce que je voulais, créer un fichier xml a partir d'excel et par macro
remarque perso sur ce code :
quand on est dans le brouillard, et qu'on nous donne la lumiere au fond du tunnel,  le tunnel est encore a franchir :)
merci d'avoir fait connaitre de nouvelle fct à un debutant
cdlt