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

VBA Discussion :

Problème affectation police aux textes de balises XML via VBA


Sujet :

VBA

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2019
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Problème affectation police aux textes de balises XML via VBA
    Bonjour a tous,

    Je viens solliciter votre aide car après de nombreuses recherches je n'ai jamais trouve sur internet comment appliquer une police, un style de police, couleur de police et un soulignement aux textes contenus dans mes balises XML créées sur VBA.

    J'aimerai en effet appliquer l'effet gras ainsi qu'un soulignement aux balises :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set Titre1 = xmlDoc.CreateElement("Titre1")          
    ProjetXML.appendChild Titre1
    Titre1.Text = " FINDINGS : "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set Titre2 = xmlDoc.CreateElement("Titre2")           
    ProjetXML.appendChild Titre2
    Titre2.Text = " DEFECTIVE PARTS REQUIRED : "
    Mais j'ai essaye .Font.Bold ou encore de préciser l'effet attendu à l'intérieur de la balise sans aucun effet positif.

    Si quelqu'un a une astuce cela serait fort sympathique

    Merci d'avance,

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour
    ben tout simplement par ce que c'est pas possible c'est tout
    le xml c'est pas vraiment fait pour le visuel
    tu peux cependant ajouter des attribut a tes"titre" de façon a ce que quand tu les reporte sur un fichier (visuel) tu puisse avoir l'effet voulu
    mais direct dans le xml non
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 420
    Points : 2 179
    Points
    2 179
    Par défaut
    Bonjour,
    Il est possible d'affecter une feuille de styles à un XML.

    http://magali.contensin.free.fr/html...uille_de_style

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut RE
    bien vu thumb down

    mais a travailler comme ca autant coder en html directement le style peut être incline
    et coder directement en DOM
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 420
    Points : 2 179
    Points
    2 179
    Par défaut
    Oui sauf XML peut être géré comme une base (table1.id,table2.id) de données et pas HTML.

    Html et XML sont des fichiers texte balisés tous les mais XML à une infinité de balisés.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    c'est ce que je voulais dire aussi
    mais en html aussi depuis le HTML5
    https://dmouronval.developpez.com/tu...personnalises/
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 924
    Points
    55 924
    Billets dans le blog
    131
    Par défaut
    Salut

    Citation Envoyé par Thumb down Voir le message
    Oui sauf XML peut être géré comme une base (table1.id,table2.id) de données et pas HTML.[...]
    Perso, je nuancerais le propos. Un fichier xml peut être vu comme un fichier de stockage d'informations. De là à parler de base de données et à dire que le xml peut être géré "comme une base de données", il y a un pas que je ne franchirais pas.

    Le xml est une structuration de fichier de données, initialement prévu pour l'échange de données entre applications (comme json du javascript, qui peut d'ailleurs être utilisé hors javascript, évidemment), mais ce n'est pas du tout une "base de données". C'est juste un fichier texte structuré, auquel on peut ajouter un habillage grâce aux xsl et une obligation de structure grâce au DTD.



    Citation Envoyé par patricktoulon Voir le message
    [...]
    ben tout simplement par ce que c'est pas possible c'est tout
    le xml c'est pas vraiment fait pour le visuel[...]


    Un fichier xsl permet d'arranger visuellement le xml
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 924
    Points
    55 924
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    [...]
    mais a travailler comme ca autant coder en html directement le style peut être incline
    et coder directement en DOM


    Ben non, évidemment. Il est plus intéressant de laisser la mise en forme à l'extérieur du code, permettant ainsi de modifier le rendu sans devoir modifier le code.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 446
    Points : 43 090
    Points
    43 090
    Par défaut
    En faisant de la vulgarisation, il faut voir un fichier XML comme un fichier CSV. Les balises délimitant les champs. (un champ pouvant être une cellule, une ligne/colonne Excel, un paragraphe, un mot pour Word, et pour XML n'importe quelle valeur de ton choix tant que tu respectes l'ouverture/fermeture de balise).

    L'interprétation de ces balises dépend du logiciel. Si tu ajoutes des balises non gérés par un logiciel, il ne les utilisera pas. Ceci permet d'importer/exporter facilement d'un logiciel à l'autre comme avec le CSV. Le XSL et le DTD (facultatif) vont servir à transformer/vérifier le contenu du XML de façon à l'utiliser, l'interpréter comme tu le souhaites (exemple vérifier qu'un champs contient un nombre, sinon entrée invalide).

    Quel est l'usage final du XML ? c'est cela qui va déterminer comment tu dois le générer.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2019
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Tout d'abord merci a tous pour vos enrichissantes réponses,

    J'ai oublie de préciser que mon fichier XML est en fait compose de plusieurs données provenant de différentes cellules d'une même feuille Excel, il sera par la suite enregistre sur mon bureau via VBA puis ouvert avec Word.

    Ce fichier sera compose de plusieurs balises racines (et bien entendu d'une multitude de balises enfants) et c'est pour cela que j'aurais aime que ces balises la, en quelque sorte les grands titres de mon document Word, soient plus visibles sur Word à l'aide des styles gras et soulignement.

    La solution concernant le fichier XSL me semble cohérente je vais me renseigner de mon côté car n'étant que seulement débutant sur VBA et XML en général je n'ai aucune idée de comment créer un fichier XSL et le mentionner dans mon code VBA actuel afin qu'il transforme dans le sens voulu mon fichier XML.

    Si vous avez une idée sur laquelle je pourrais me baser cela ne serait pas de refus !

    Merci d'avance

    PS : Je profite de votre attention car je bloque lorsque j'enregistre mon document : je veux que le nom du fichier XML contienne la valeur de la cellule A3 cependant je n'ai pas trouve d'outil approprie sur les forums ou peut-etre ai-je rate qqch ..
    Précision je sauvegarde mon fichier tel que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Chemin2 = ThisWorkbook.Path & "\MCO Annexe MWS.xml"
    xmlDoc.SaveAs Chemin2
    J'ai essaye d'integrer une variable dans Chemin2 sans succes, un lien ou une idée ne serait aussi pas de refus merci d'avance !
    (Bien entendu cela n'est pas le sujet principal de la discussion je comprendrai si aucune réponse ne me sera fourni)

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Chemin2 = ThisWorkbook.Path & "\MCO Annexe MWS" & sheets("nomdusheets").range("A3").value &".xml"
    xmlDoc.SaveAs Chemin2
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 924
    Points
    55 924
    Billets dans le blog
    131
    Par défaut
    Ne pourrais-tu pas passer directement d'Excel à Word et profiter des possibilités de mise en forme de Word?

    Pourrais-tu expliquer la finalité du document Word? Passer par du xml (éventuellement formaté) pour transférer des données d'Excel à Word me semble lourd comme démarche...


    Pour ce qui est du nom du chemin, je préfèrerais passer par une "cellule nommée" plutôt que de plaquer une partie du chemin en dur dans le code. Dans une cellule, nommée par exemple NomFichier, tu saisis ou tu calcule par formule le nom complet à placer après le chemin du fichier. C'est plus paramétrable par la suite car tu n'auras pas à te préoccuper de la modification du nom de la feuille ou du déplacement de la cellule. Ton code est ainsi plus solide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chemin2 = ThisWorkbook.Path & range("NomFichier").value
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2019
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse Patrick tout fonctionne sans le "As" !

    Je m’étais trompe lorsque j'avais tente cette technique car j'avais rajoute un "As" après "Save" dans ma dernière ligne (lorsque j'essayais différents moyens de parvenir a mes fins), erreur de debutant ...

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2019
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    @Pierre

    Pour une explication complete et precise de mon projet je te joins ce lien : https://www.developpez.net/forums/d1...d-via-signets/
    Le 1er message est selon moi assez explicatif et donne une vision assez globale (mais un peu fausse car je n'etais pas en accord avec les demandes de mes supérieurs) de ce que je cherche a creer.
    De plus tu pourras trouver les templates Word et Excel (meme si je sais qu'il est interdit aux internautes d'ouvrir des fichiers joints car ils pourraient etre dangereux)

    J'ai tout d'abord debute mon projet de la sorte en creant des signets sur le format Word (template) et a travers VBA j'assignais a chaque signet les donnees que je voulais ce que j'ai reussi à l'aide des reponses de Menhir.

    Cependant mon chef m'a demande de passer a travers XML sans me soucier de la mise en forme globale du document Word mais m'a precise qu'il etait necessaire de pouvoir mettre en gras et souligner les titres des differentes parties.

    Ce que j'ai entrepris et reussi jusqu'a bloque au style de police a attribuer a chacun des textes des balises "titres"

    La finalite du document Word sera d'utiliser ce document afin d'automatiser la production de devis de maintenance.
    Ces devis doivent preciser chaque "finding" trouve et quelle pieces remplacees sont relatifs a quels findings et quelques autres détails.
    Tu trouveras ci-joint mon code VBA (sans prendre ne compte ta derniere modif) :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    Public Sub CreerDocumentRMXML()
     
     
    Dim xmlDoc As Object
    Dim Findings As Object
    Dim Findingnb As Object
    Dim Titre1 As Object
    Dim Titre2 As Object
    Dim Titre3 As Object
    Dim Titre8 As Object
    Dim FindingX As Object
    Dim MisuseX As Object
    Dim MissingPartX As Object
    Dim CelluleReferenceGF As Variant
    Dim CelluleReferenceDPR As Variant
    Dim DerniereLigneNonVide As Integer
    Dim DerniereCelluleDefaultNonVide As Integer
    Dim DerniereCelluleGFNonVide As Integer
    Dim i, j, k, X, L, b As Byte
    Dim a As String
    Dim Reference(12) As String
    Dim Chemin2 As String
    Dim AnnonceFindingnbElement(12) As Variant
     
     
    j = 4
    i = 21
    L = 1
    k = 21
    X = 1
    a = ""
    b = 0
     
     
    Set xmlDoc = CreateObject("Microsoft.XMLDOM")
    Set Node = xmlDoc.CreateProcessingInstruction("xml", "version=""1.0"" encoding=""ISO-8859-1""")
     
    xmlDoc.appendChild Node
    Set Node = Nothing
     
     
     
    Set ProjetXML = xmlDoc.CreateElement("ProjetXML")
    xmlDoc.appendChild ProjetXML
     
    Set Titre3 = xmlDoc.CreateElement("Titre3")
    ProjetXML.appendChild Titre3
    Titre3.Text = " PN :                                                               SN :                                                                WO :                               "
     
     
    Set Titre4 = xmlDoc.CreateElement("Titre4")
    ProjetXML.appendChild Titre4
    Titre4.Text = "  "
     
    Set Titre5 = xmlDoc.CreateElement("Titre5")
    ProjetXML.appendChild Titre5
    Titre5.Text = "  "
     
    Set Titre6 = xmlDoc.CreateElement("Titre6")
    ProjetXML.appendChild Titre6
    Titre6.Text = " ADDITIONAL PARTS MAY BE REQUIRED AFTER ACCEPTANCE TEST COMPLETION. "
     
    Set Titre9 = xmlDoc.CreateElement("Titre9")
    ProjetXML.appendChild Titre9
    Titre9.Text = "  "
     
    Set Titre10 = xmlDoc.CreateElement("Titre10")
    ProjetXML.appendChild Titre10
    Titre10.Text = "  "
     
     
     
    DerniereCelluleDefaultNonVide = Range("G300").End(xlUp).Row
     
     
    For i = 21 To DerniereCelluleDefaultNonVide
     
        If Cells(i, 7) = "Misuse/mishandeling" Then
     
            Set Titre1 = xmlDoc.CreateElement("Titre1")
            ProjetXML.appendChild Titre1
            Titre1.Text = " MISUSE : YES "
     
            Set Titre7 = xmlDoc.CreateElement("Titre7")
            ProjetXML.appendChild Titre7
            Titre7.Text = " REASON : "
     
            Exit For
     
        End If
     
    Next i
     
     
    i = 21
     
     
    For i = 21 To DerniereCelluleDefaultNonVide
     
    Set MisuseX = Nothing
     
        If Cells(i, 7) = "Misuse/mishandeling" Then
     
            Set MisuseX = xmlDoc.CreateElement("MisuseX")
            Titre7.appendChild MisuseX
            MisuseX.Text = Cells(i, 7).Offset(0, -4).Text & " | P/N : " & Cells(i, 7).Offset(0, -5).Text & " | Found " & Cells(i, 7).Offset(0, -1).Text
     
        End If
     
    Next i
     
     
    CelluleReferenceGF = Cells(j, 3)
    DerniereCelluleGFNonVide = Range("C15").End(xlUp).Row
    Set PlageReferenceGF = Range(Cells(4, 3), Cells(DerniereCelluleGFNonVide, 3))
     
     
    For Each CelluleReferenceGF In PlageReferenceGF
     
            If CelluleReferenceGF.Text = "PART MISSING" Then
     
                a = "PART MISSING"
                b = CelluleReferenceGF.Offset(0, -1).Value
     
                Exit For
     
            End If
     
    Next CelluleReferenceGF
     
     
    If b <> 0 Then
     
        Set Titre8 = xmlDoc.CreateElement("Titre8")
        ProjetXML.appendChild Titre8
        Titre8.Text = " MISSING PARTS : YES "
     
    End If
     
     
    i = 21
     
     
    For i = 21 To DerniereCelluleDefaultNonVide
     
    Set MissingPartX = Nothing
     
        If Cells(i, 5).Value = b Then
     
            Set MissingPartX = xmlDoc.CreateElement("MissingPartX")
            Titre8.appendChild MissingPartX
            MissingPartX.Text = Cells(i, 5).Offset(0, -2).Text & " | P/N : " & Cells(i, 5).Offset(0, -3).Text & " | Found " & Cells(i, 5).Offset(0, 1).Text
     
        End If
     
    Next i
     
     
     
    Set Titre2 = xmlDoc.CreateElement("Titre2")
    ProjetXML.appendChild Titre2
    Titre2.Text = " FINDINGS : "
     
     
    For j = 4 To 15
     
    Set AnnonceFindingnbElement(L) = Nothing
     
        If Cells(j, 3) <> "" And Cells(j, 2).Value <> b Then
     
            Set AnnonceFindingnbElement(L) = xmlDoc.CreateElement("AnnonceFindingnbElement")
            ProjetXML.appendChild AnnonceFindingnbElement(L)
            AnnonceFindingnbElement(L).Text = "FOR FINDING : " & Cells(j, 3).Text
            L = L + 1
     
        End If
     
    Next j
     
     
     
    DerniereLigneNonVide = Range("E300").End(xlUp).Row
    CelluleReferenceDPR = Cells(k, 5)
     
    Set PlageReference = Range(Cells(21, 5), Cells(DerniereLigneNonVide, 5))
     
     
    Reference(1) = 1
    Reference(2) = 2
    Reference(3) = 3
    Reference(4) = 4
    Reference(5) = 5
    Reference(6) = 6
    Reference(7) = 7
    Reference(8) = 8
    Reference(9) = 9
    Reference(10) = 10
    Reference(11) = 11
    Reference(12) = 12
     
     
     
    For L = 1 To 5
     
        For Each CelluleReferenceDPR In PlageReference
     
            If CelluleReferenceDPR.Value <> b Then
     
                If CelluleReferenceDPR.Value = Reference(X) Then
     
                    Set FindingX = Nothing
                    Set FindingX = xmlDoc.CreateElement("FindingX")
                    AnnonceFindingnbElement(L).appendChild FindingX
                    FindingX.Text = CelluleReferenceDPR.Offset(0, -2).Text & " | P/N : " & CelluleReferenceDPR.Offset(0, -3).Text & " | Found " & CelluleReferenceDPR.Offset(0, 1).Text & " due to " & CelluleReferenceDPR.Offset(0, 2).Text
     
                End If
     
            ElseIf CelluleReferenceDPR.Value = b Then
     
                    Reference(X) = Reference(X + 1)
     
                    If CelluleReferenceDPR.Value = Reference(X) Then
     
                        Set FindingX = Nothing
                        Set FindingX = xmlDoc.CreateElement("FindingX")
                        AnnonceFindingnbElement(L).appendChild FindingX
                        FindingX.Text = CelluleReferenceDPR.Offset(0, -2).Text & " | P/N : " & CelluleReferenceDPR.Offset(0, -3).Text & " | Found " & CelluleReferenceDPR.Offset(0, 1).Text & " due to " & CelluleReferenceDPR.Offset(0, 2).Text
     
                    End If
     
            End If
     
        Next CelluleReferenceDPR
     
    X = X + 1
     
    Next L
     
     
     
    Chemin2 = ThisWorkbook.Path & "\MCO Annexe MWS.xml"
    xmlDoc.Save Chemin2
     
     
    Set xmlDoc = Nothing
     
     
    End Sub

    Je ne sais pas si je vais trop loin ou si c'est ce que tu voulais dire par finalite..

    Si j'ai été flou ou il y'a un manque d'information n’hésites pas

    Je te remercie ce moyen m'a l'air plus sur et beaucoup plus paramétrable sans prise de tête !

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    bonsoir memms
    autant que possible les mettre dans l'ordre
    lire les commentaires c'est peut être un oubli de ta part

    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
    For i = 21 To DerniereCelluleDefaultNonVide
     
        If Cells(i, 7) = "Misuse/mishandeling" Then
     
            Set Titre1 = xmlDoc.CreateElement("Titre1")
            'ProjetXML.appendChild Titre1
           ProjetXML.InsertBefore titre1,titre3    'titre3 parce que j'ai pas vu de creation titre2
        Titre1.Text = " MISUSE : YES "
     
            Set Titre7 = xmlDoc.CreateElement("Titre7")
          'ProjetXML.appendChild Titre7
           ProjetXML.InsertBefore titre7,titre9    'titre9 parceque j'ai pas vu de creation titre8
         Titre7.Text = " REASON : "
     
            Exit For
     
        End If
     
    Next i
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 924
    Points
    55 924
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par memns Voir le message
    @Pierre[...]
    Perso, je ne perdrais pas mon temps avec XML pour envoyer des données Excel dans Word. La mise en forme du xml ne te servira à rien pour importer tes données dans Word par VBA, car les outils de manipulation du xml en VBA ne "voient" que le texte du xml dépouillé de son éventuelle mise en forme. Tu ne pourras donc de toute façon pas l'utiliser en Word. De plus, tu vas devoir piloter xml en VBA pour sortir d'Excel, puis le piloter à nouveau en VBA pour le rentrer dans Word sans que cela t'apporte la moindre aide. XML sert de passerelle pour des applications qui ne peuvent pas dialoguer entre elles, mais Excel et Word peuvent dialoguer en VBA sans problème.

    Tu ne donnes pas ta version d'Office, mais j'ose espérer que c'est au moins une 2010. Dans Word, tu as les blocs de construction et les styles qui te permettent de formater facilement les données que tu veux afficher dans ton document Word. Ce serait pour moi une bonne approche de créer un modèle Word possédant quelques blocs de construction et quelques styles bien définis, et t'intégrer tes données Excel pour "modéliser" ton devis.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. [XL-2003] Problème d'encodage du texte importé du net via excel
    Par aimé18 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/09/2012, 14h09
  2. Modifier texte entre balises XML
    Par flavdu44 dans le forum Langage
    Réponses: 2
    Dernier message: 07/09/2012, 09h52
  3. Fermeture balise xml via C#
    Par 18carats dans le forum C#
    Réponses: 5
    Dernier message: 10/11/2009, 17h04
  4. accès balise xml via une string
    Par armelleV dans le forum Flex
    Réponses: 0
    Dernier message: 26/03/2009, 10h17
  5. Mettre du texte entre balises XML..?
    Par doudoubens dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 11/03/2009, 09h35

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