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 :

Exportation en XML


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 205
    Par défaut Exportation en XML
    Bonjour,
    Nous avons sensiblement changé le format du fichier Excel à Exporter (Il contient plus de colonnes avec des données.
    Mais depuis la macro d'exportation ne se fait plus normalement.
    Il y a un message d'erreur.

    Il me m'annonce une erreur d'éxécution '-2147217406 (80041002)':
    "Le mappage n'a pu être exporté, et par conséquent l'exportation des données n'a pas eu lieu. Utilisez XmlMap.IsExportable afin de déterminer s'il est possible d'exporter le mappage."
    Avez-vous une idée d'où cela vient?

    Merci

    "Ancien fichier XML"
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
      <?xml version="1.0" encoding="utf-8" ?> 
    - <CallOffOrders Date="2015-05-04T16:01:54" Mandator="11" Version="V01.00">
    - <CallOffOrder>
      <Customer Nr="122">122</Customer> 
      <Article Nr="02004829">02004829</Article> 
      <Amount>12000</Amount> 
      <Date>2010-03-25 13:15:14</Date> 
      <CallOffNr>11111</CallOffNr> 
      <OrderNr>Sample</OrderNr> 
      </CallOffOrder>
    - <CallOffOrder>
      <Customer Nr="122">122</Customer> 
      <Article Nr="02004829">02004829</Article> 
      <Amount>14000</Amount> 
      <Date>2010-03-26 13:15:14</Date> 
      <CallOffNr>11112</CallOffNr> 
      <OrderNr>Sample</OrderNr> 
      </CallOffOrder>
    - <CallOffOrder>
      <Customer Nr="122">122</Customer> 
      <Article Nr="02004829">02004829</Article> 
      <Amount>16000</Amount> 
      <Date>2010-03-27 13:15:14</Date> 
      <CallOffNr>11113</CallOffNr> 
      <OrderNr>Sample</OrderNr> 
      </CallOffOrder>
      </CallOffOrders>

    "Nouveau Fichier XML"
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
      <?xml version="1.0" encoding="utf-8" ?> 
    - <CallOffOrders>
    - <CallOffOrder>
      <Customer Nr="122">122</Customer> 
      <Article Nr="02004829">02004829</Article> 
      <Amount>12000</Amount> 
      <Date>2010-03-25 13:15:14</Date> 
      <CallOffNr>11111</CallOffNr> 
      <OrderNr>Sample</OrderNr> 
      </CallOffOrder>
    - <CallOffOrder>
      <Customer Nr="122">122</Customer> 
      <Article Nr="02004829">02004829</Article> 
      <Amount>14000</Amount> 
      <Date>2010-03-26 13:15:14</Date> 
      <CallOffNr>11112</CallOffNr> 
      <OrderNr>Sample</OrderNr> 
      </CallOffOrder>
    - <CallOffOrder>
      <Customer Nr="122">122</Customer> 
      <Article Nr="02004829">02004829</Article> 
      <Amount>16000</Amount> 
      <Date>2010-03-27 13:15:14</Date> 
      <CallOffNr>11113</CallOffNr> 
      <OrderNr>Sample</OrderNr> 
      </CallOffOrder>
      </CallOffOrders>

    Le code d'exportation (en rouge la partie bloquante!):
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sheets("MEFFerme").Activate
    fintpa = Range("F4001")
    
    Windows("FRBLO-FICHIER_Schema_PG_2.xlsm").Activate
    Sheets("CalculFerme").Activate
    Range(Cells(2, 1), Cells(fintpa, 11)).Select
    Selection.Copy
    Workbooks.Add
        ActiveWorkbook.XmlImport URL:= _
            "\\frblo1vms006\AlplaPROD$\EDI\Bible\CallOffOrder.xml", ImportMap _
            :=Nothing, Overwrite:=True, Destination:=Range("$A$1")
        ChDir "\\frblo1vms006\AlplaPROD$\EDI"
        Range("A2").Select
       Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWorkbook.SaveAsXMLData Filename:=NomFich, Map:=ActiveWorkbook.XmlMaps("CallOffOrders_Mappage")    ActiveWorkbook.Close SaveChanges:=False
    Style = vbOKOnly
        reponse = MsgBox("Fichier Schema P&G enregistré", Style)
    Sheets("Extraction").Activate
    
    ' Mise à disposition du fichier pour importation (Test)
    
      Set fso = CreateObject("Scripting.FileSystemObject")
      Src = "\\frblo1ppc006\AlplaPROD\EDI\"
      Dest = "\\frblo1ppc006\AlplaPROD_Interface$\Import\Journals\PLANT\Import\"
      Data$ = Nomfich1
      fso.MoveFile Src & Data, Dest & Data
    Si je code cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Map = ActiveWorkbook.XmlMaps("CallOffOrders_Mappage")
        A = XmlMap.IsExportable(Map)
    Excel me renvoie comme erreur (Objet requis)

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 115
    Par défaut
    Bonjour

    On parle de mappage. Donc, le XML, c'est bien, mais le XSD serait plus utile (s'il existe)
    Il faudrait aller voir les propriétés du mappage, s'il accepte les erreurs (ou pas) : Onglet Développeur, Source + propriétés du mappage

    Par défaut Excel créant ses mappages avec ses critères, des fois, ça coince à la moindre modification

    Un peu de culture XML sur les mappages by Bill & Co. C'est sur Excel 2003, mais ça marche quand même
    https://msdn.microsoft.com/fr-fr/lib...ice.11%29.aspx
    https://msdn.microsoft.com/fr-fr/lib...ice.11%29.aspx

    Cordialement

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 205
    Par défaut
    Le but du nouveau format que l'on veut appliquer est d'avoir un "entête" de colonnes avec différentes informations comme la date d'exportation.
    Pensez-vous que cela soit possible ou faut-il que chaque colonne ne contienne à partir de la première ligne la même donnée?
    Merci

  4. #4
    Membre expérimenté
    Inscrit en
    Décembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 115
    Par défaut
    Bonjour,
    Pour l'histoire des entêtes, si j'ai bien compris (...), je dirais bien que, comme c'est de l'informatique, on fait ce qu'on veut.
    Mais comme nous sommes dans un forum Excel, il y a des limites à tout
    Voir le lien suivant
    https://www.microsoft.com/en-us/down....aspx?id=24962

    C'est un exemple de Microsoft à télécharger, avec un .xls et un joli mappage .xsd

    Cordialement

Discussions similaires

  1. Exporter vers XML excel
    Par jbaudin dans le forum VBScript
    Réponses: 3
    Dernier message: 01/09/2007, 18h47
  2. [XSD]Attribuer un schéma lors d'un export Access->XML
    Par nashiboy dans le forum Valider
    Réponses: 1
    Dernier message: 03/08/2007, 14h59
  3. Export en XML
    Par FM-Columbo dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 21/06/2007, 10h56
  4. [2005] Export Datatable XML mais avec modif ?
    Par cedric_g dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/04/2007, 09h02
  5. Relation récursive pour exporter vers XML
    Par bossun dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/08/2005, 14h17

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