bonjour, je viens pres de vous solliciter votre aide. j'ai un petit probléme avec mon macro . je veux extraire une partie des données xml sur excel. je charge mon fichier xml et j'extrais les données qui m'interresses. voici une partie de mon programme VBA que j'appelle dans le macro principal et une la partie xml oû je dois recupérer les données.
je veux si "TestReportOrder =157" , je recupére les valeurs des noeuds "Nom", "Act" ,"Assessment". sinon ecrire dans la cellule (18,17) "essec"
les données xml à explorer
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 Sub RSE(xmlDoc As DOMDocument) Dim oNode As IXMLDOMElement Dim oElement As IXMLDOMElement Dim cpt3 As Integer cpt3 = 18 ActiveSheet.Cells(18, 13) = "SPWHRSEA" For Each oNode In xmlDoc.getElementsByTagName("Measurements") 'pour accéder au noeud "TestReportOrder" Set oElement = oNode.getElementsByTagName("TestReportOrder")(0) 'Pour boucler dans lA balise For Each oElement In oNode.ChildNodes If oElement.nodeName = "TestReportOrder" And oElement.nodeTypedValue = 157 Then If oElement.nodeName = "Nom" Then ActiveSheet.Cells(cpt3, 14) = oElement.nodeTypedValue End If ActiveSheet.Cells(cpt3, 15) = "A" If oElement.nodeName = "Act" Then ActiveSheet.Cells(cpt3, 16) = oElement.nodeTypedValue End If If oElement.nodeName = "Assessment" Then If oElement.nodeTypedValue = "PASSED" Then ActiveSheet.Cells(cpt3, 17) = "Réussi" else ActiveSheet.Cells(cpt3, 17) = "essec" End If End If Else ActiveSheet.Cells(18, 17) = "Essec" End If Next oElement cpt3 = cpt3 + 1 Next oNode End Sub
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
28 <Measurements> <TestReportID>c44d6746-09fc-4daa-8686-6d9c13062a13</TestReportID> <TestReportOrder>155</TestReportOrder> <MeasurementNumber>1</MeasurementNumber> <ExecutionNumber>1</ExecutionNumber> <MeasurementName>Montée</MeasurementName> <RampNumber>0</RampNumber> <RampedQuantity>IA</RampedQuantity> <Trigger>Détec. 0->1</Trigger> <Assessment>NORESULT</Assessment> </Measurements> <Measurements> <TestReportID>c44d6746-09fc-4daa-8686-6d9c13062a13</TestReportID> <TestReportOrder>157</TestReportOrder> <MeasurementNumber>1</MeasurementNumber> <ExecutionNumber>1</ExecutionNumber> <MeasurementName>SPWHRSEA</MeasurementName> <RampNumber>1</RampNumber> <RampedQuantity>IA</RampedQuantity> <Trigger>DJ Départ Fermé 1->0</Trigger> <Nom>1.037037</Nom> <Act>0.985185</Act> <NegativeTolerance>0.155556</NegativeTolerance> <PositiveTolerance>0.155556</PositiveTolerance> <Deviation>-0.0519</Deviation> <Assessment>PASSED</Assessment> <Tact>0.129</Tact> </Measurements>
Partager