Comparaison de dates en VBA
bonjour ,j'ai un soucis avec mon code , je voudrais . en faite c'est un fichier xml que je traite sous excel .
tout mon code marche mais seulement j'ai un petit probléme avec l'importation des dates "date debut" et "date de fin"
voici la fichier xml don je dois parcourir les nodes et comparer les date afin de récupérer la date de début de test (la plus ancienne) et la date de fin de test (la plus ressente.)
Code:
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
| <TM_Common>
<TestReportID>479e6e58-4868-45f7-ac81-00ca5fc8a3e1</TestReportID>
<TestReportOrder>53</TestReportOrder>
<Name>OMICRON State Sequencer</Name>
<Version>2.40 </Version>
<Title>2-2-2-TEST TPHD_</Title>
<TestStartDate>2012-02-24T11:18:35+01:00</TestStartDate>
<TestEndDate>2012-02-24T11:18:53+01:00</TestEndDate>
<Offline>false</Offline>
<Overload>false</Overload>
<HWCReportOrder>45</HWCReportOrder>
<TOReportOrder>1</TOReportOrder>
<Assessment>PASSED</Assessment>
<ManualAssessment>false</ManualAssessment>
<Error>false</Error>
<TestStartMode>IMMEDIATELY</TestStartMode>
</TM_Common>
<TM_Common>
<TestReportID>479e6e58-4868-45f7-ac81-00ca5fc8a3e1</TestReportID>
<TestReportOrder>54</TestReportOrder>
<Name>OMICRON Ramping</Name>
<Version>2.40 </Version>
<Title>2-3-Protection Phase - DJ Fermé_</Title>
<TestStartDate>2012-02-24T11:18:59+01:00</TestStartDate>
<TestEndDate>2012-02-24T11:19:02+01:00</TestEndDate>
<Offline>false</Offline>
<Overload>false</Overload>
<HWCReportOrder>45</HWCReportOrder>
<TOReportOrder>1</TOReportOrder>
<Assessment>PASSED</Assessment>
<ManualAssessment>false</ManualAssessment>
<Error>false</Error>
<TestStartMode>IMMEDIATELY</TestStartMode>
</TM_Common>
<TM_Common>
<TestReportID>479e6e58-4868-45f7-ac81-00ca5fc8a3e1</TestReportID>
<TestReportOrder>55</TestReportOrder>
<Name>Module OMICRON Pause</Name>
<Version>2.40 </Version>
<Title>2-3-0-Action RRL ES_</Title>
<TestStartDate>2012-02-24T11:19:06+01:00</TestStartDate>
<TestEndDate>2012-02-24T11:19:23+01:00</TestEndDate>
<Offline>false</Offline>
<Overload>false</Overload>
<HWCReportOrder>45</HWCReportOrder>
<TOReportOrder>1</TOReportOrder>
<Assessment>PASSED</Assessment>
<ManualAssessment>false</ManualAssessment>
<Error>false</Error>
<Comment>Positionner les Réenclencheurs En Service
Fermer le DJ départ</Comment>
<TestStartMode>IMMEDIATELY</TestStartMode>
</TM_Common>
<TM_Common>
<TestReportID>479e6e58-4868-45f7-ac81-00ca5fc8a3e1</TestReportID>
<TestReportOrder>56</TestReportOrder>
<Name>Module OMICRON Pause</Name>
<Version>2.40 </Version>
<Title>2-3-0-a-Libellé IT DJ Fermé</Title>
<TestStartDate>2012-02-24T11:19:27+01:00</TestStartDate>
<TestEndDate>2012-02-24T11:19:48+01:00</TestEndDate>
<Offline>false</Offline>
<Overload>false</Overload>
<HWCReportOrder>45</HWCReportOrder>
<TOReportOrder>1</TOReportOrder>
<Assessment>PASSED</Assessment>
<ManualAssessment>false</ManualAssessment>
<Error>false</Error>
<Comment>DEPn ACQUIT DJ Positif 22
DEPn COMMANDE DJ Fermé Local
DEPn POSITION DJ Fermé Local</Comment>
<TestStartMode>IMMEDIATELY</TestStartMode>
</TM_Common> |
voici mon code en VBA mais il me recupére seulement les 2 dernieres dates
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| 'Date Debut et Fin du Test
Sub Date_du_Test(xmlDoc As DOMDocument)
Dim oNode As IXMLDOMElement
Dim oElement As IXMLDOMElement
For Each oNode In xmlDoc.getElementsByTagName("TM_Common")
'Pour boucler dans les balises
For Each oElement In oNode.ChildNodes
ActiveSheet.Cells(1, 1) = "DEB TEST:"
ActiveSheet.Cells(1, 2) = oElement.nodeTypedValue
End If
If oElement.nodeName = "TestEndDate" Then
ActiveSheet.Cells(1, 7) = "FIN TEST:"
ActiveSheet.Cells(1, 8) = oElement.nodeTypedValue
End If
Next oElement
Next oNode
End Sub |
merci d'avance