IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Conversion de fichier Xls en Xml


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 84
    Par défaut Conversion de fichier Xls en Xml
    Bonjour à tous !

    Je ne sais pas si le sujet à bien sa place ici, mais depuis que je manipule des macros sous Excel, j'ai l'impression que c'est capable de gérer une infinité de choses.
    Je me demandais s'il était possible de pouvoir transformer un fichier xls en xml.

    Je dois faire cela car une nouvelle application, développée par une autre équipe, ne prend en compte pour entrée que des fichiers xml, avec des utilisateurs, infos, mot de passe, mail, ... Et la gestion de ces utilisateurs par le biais d'un tel fichier n'est pas des plus optimales, d'où mon souhait de pouvoir s'en occuper sous un fichier xls.

    Ci-joint un exemple du fichier xml type, et le fichier xls correspondant (fait à la main).
    Vous le remarquerez, un utilisateur peut avoir plusieurs groupe, et j'ai pensé qu'il serait peut être plus facile de les séparer (ou non, d'où les 2 différents tableaux sous le fichier xls)

    Merci d'avance !!

    EDIT: L'import de fichier xml semble être bloqué, ci dessous le fichier en question:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <users>
    	<user id="jdupont" firstName="Jean" lastName="Dupont" password="admin" email="jdupont@help.com">
    		<group>administrateur</group>
    	</user>
        <user id="jdupond" firstName="Jean" lastName="Dupond" password="super" email="jdupond@help.com">
            <group>superviseurEntreprise(FRP)</group>
    		<group>superviseurEtablissement(ETS)</group>
    		<group>superviseurPole(POL)</group>
        </user>
        <user id="jturvoi" firstName="Jean" lastName="Turvoi" password="gest" email="jturvoi@help.com">
            <group>gestionnaireEtablissement(FRC-FRPSIEGE)</group>
            <group>gestionnaireLot(LOT)</group>
            <group>gestionnaireEtablissementLot(ETS,LOT)</group>
         </user>
    </users>

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 84
    Par défaut
    J'ai commencé à entrevoir une solution en empruntant le pc d'un collègue avec Excel 2010 (Mappage xml ..)
    Mais là encore il semble y avoir un problème avec mes balises <group> car un user peut avoir 1 ou plusieurs groupes, donc 1 ou plusieurs balises "<group></group>"..

    Connaissez-vous une solution à ce problème ?

  3. #3
    Membre très actif Avatar de Citrax
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2014
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2014
    Messages : 188
    Par défaut
    Bonsoir,

    Pour les group d'utilisateurs j'ai pas tout saisis, par contre pour la conversion de classeurs xls en xlm c'est tres simple;
    tu rajoute ce code dans un module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Enreg()
    Dim Path As String, valeur As String
    Path = ActiveWorkbook.Path & "\"
    valeur = "New file" & Format(Date, "dd-mmmm-yyyy") & ".xlm"
    ThisWorkbook.SaveAs Path & valeur
    End Sub
    Et tu le lance pour chaque fichier.

    Par contre si tu veux faire le contraire, tu peux au prealable supprimer tous les modules avant conversion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub Supprimer_toutes_macros()
    Dim VBC As Object
     
    With ActiveWorkbook.VBProject
        For Each VBC In .VBComponents
            If VBC.Type = 100 Then
                With VBC.CodeModule
                    .DeleteLines 1, .CountOfLines
                    .CodePane.Window.Close
                End With
            Else
                .VBComponents.Remove VBC
            End If
        Next VBC
    End With
    End Sub
    Mais tu perds de facto le code de conversion.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 84
    Par défaut
    Bonjour Citrax,

    J'ai essayé ton code, mais le fichier xml qui en résulte n'est pas exploitable sans Excel, c'est bien un xml mais sont format est assez étrange ..

    Quant à la balise groupe, avec la méthode de mapping xml, ça marche bien si je n'ai qu'un seul group par utilisateur mais dès qu'il y en a plusieurs cela devient compliqué.
    De plus, sous Excel je ne sais pas comment le présenter dans mon tableau dans le cas où un utilisateurs appartient à plusieurs group.

    Merci de ton aide

Discussions similaires

  1. Conversion de fichier xls en csv via php
    Par Realniggaz dans le forum Langage
    Réponses: 1
    Dernier message: 05/06/2013, 15h31
  2. transformer un fichier xls en fichier xml
    Par delphine_ps dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 17/11/2007, 15h55
  3. Génération de fichiers XLS à partir de XML
    Par neril dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 02/01/2007, 16h42
  4. comment transformer un Fichier xls (Excel) en XML
    Par sperron dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 13/04/2006, 16h35
  5. [XML] Convertir fichier XLS en deux fichiers XML
    Par Kornoman dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 31/03/2006, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo