Bonjour à tous,

Mon projet consiste à récupérer les données enregistré sur un fichier texte sous excel pour pouvoir les mettre sous graphes.
La donnée qui me pose problème est la date.
Je m'explique :

Si sur le fichier texte tout les jours sont inférieur ou égal à 12
-dans la feuille 'Import de données radar', le jour et le mois sont inversé
-les graphes ne prennent pas en compte l'heure

Si sur au moins une ligne du fichier texte le jour est supérieur à 12
-il y a toujours inversion pour les autres données
-les graphes prennent en compte les heures

Si sur toutes les lignes du fichier texte le jour est supérieur à 12
-tout fonctionne correctement

Je viens de voir ce problème car je viens d'avoir des données avec le jour inférieur à 12.

Je pense qu'il y a un problème de format lors de l'extraction des données sous excel.
Voici le code
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
Sub Transfer_Enregistrements_vers_Excel()
 
'**Procedure écrite le 15 Novembre 2011 pour le compte de ATELEC ELECTRONIQUE
 
Dim TheTemporaryArray 'défini un tableau unidmensionel pour la capture des lignes du fichier texte
Dim TheFinalArray() As Variant 'défini un tableau bidmensionel pour l'enregistrement informatique du fichier texte
Dim FileName As Variant 'defini une variable qui contiendra le nom du fichier texte a ouvrir
Dim strRec As String 'defini une variable qui contiendra une ligne du fichier texte
Dim j As Long 'defini une variable qui sera utilisée dans un "compteur" de données
Dim i As Long 'defini une variable qui sera utilisée dans un "compteur" de données
Dim m As Long 'defini une variable qui sera utilisée dans un "compteur" de données
Dim k As Long 'defini une variable qui sera utilisée dans un "compteur" de données
Dim xx As Long 'Defini une variable qui contiendra la limite haute du tableau bidimensionel
Dim Legraph As ChartObject
Dim DerLig As Long
Dim PlageVmoy As Range
Dim PlageVmin As Range
Dim PlageVmax As Range
Dim PlageNbVehicule As Range
Dim PlageVminVmax As Range
Dim VarVmoy As Variant
Dim VarVmin As Variant
Dim VarVmax As Variant
Dim VarNbVehicule As Variant
Dim VarVminVmax As Variant
Dim NomRue As String
 
 
FileName = Application.GetOpenFilename("Text Files (*.txt),*.txt", , "Select Text Data File") 'Ouvre une fentre de selection de fichier qui permet a l'utilisateur de selectionner le fichier a importer. exclusivement des fichiers texte
 
If FileName = False Then 'Si l'utilisateur n'a pas sélectionner de fichier
 
    Exit Sub 'alors fin de la procedure
 
ElseIf FileName <> False Then 'Si l'utilisateur à sélectionner un fichier
 
    Open FileName For Input As #1 'Ouvre le fichier texte
    Line Input #1, strRec 'Lit une ligne du fichier et enregistre la ligne
    TheTemporaryArray = Split(strRec, Chr(59)) 'Enregistre chaque element de la ligne séparé par un ";" dans un tableau unidimensionel appellé TheTemporaryArray
    ReDim TheFinalArray(UBound(TheTemporaryArray), LBound(TheTemporaryArray)) 'Précise la dimension du tableau.
    xx = UBound(TheFinalArray) 'enregistre dans une variable la limite haute du tableau - normalement le nombre de "colonnes" du fichier texte  moins 1 car le tableau commence a zero et non pas 1
    Close #1 'ferme le fichier texte. Cela est necessaire pour une future redimension du tableau TheFinalArray
 
    i = 1 'donne la valeur 1 a une variable qui servira dans la definition d'un tableau bidimensionel
 
    Open FileName For Input As #1 'Réouvre le fichier texte
 
    '****** l'étape suivante va etre repetée pour chaque ligne du fichier grace à la commande "Do While...Loop"  *****
 
    Do While Not EOF(1) 'Faire quelque chose jusqu'à temps que l'on arrive à la fin du fichier texte
    Line Input #1, strRec 'Lit une ligne du fichier et enregistre la ligne
    TheTemporaryArray = Split(strRec, ";") 'Enregistre chaque element de la ligne séparé par un ";" dans un tableau unidimensionel appellé TheTemporaryArray
 
    For j = LBound(TheTemporaryArray) To UBound(TheTemporaryArray) 'Pour chaque élément du tableau unidimensionel
 
        TheFinalArray(j, i - 1) = TheTemporaryArray(j) 'l'élément du tableau unidimensionel est entré dans un tableau bidimensionel
 
    Next j 'tourne jusqu'à temps qu'il n'y ai plus d'elements dans le tableau unidimensionel
 
    ReDim Preserve TheFinalArray(xx, i) 'Redimensionne le tableau bidimensionel en y ajoutant une "ligne"
    i = i + 1 'augmemte la variable comptable qui aide a la redimension du tableau bidimensionel
 
    Loop 'repete les etapes precedente pour chaque "ligne" du ficher texte
 
    Close #1 'Ferme le fichier texte
 
    '**** L'etape suivante transfer les données dans EXCEL ****
    'Jusqu'ici toutes les données ont été transferées dans un tableau multidimensionel et non pas diretement dans Excel
    'Cela permet au developeur ATELEC de transferer les données ailleur que dans Excel si besoin est.
 
    Sheets("Import de données radar").Activate 'sélectionne l'onglet où les données seront transcrites
    Cells.Select 'selectionne toutes les cellule de l'onglet
    Selection.ClearContents 'efface le contenu des cellules seletionnées
    Cells(1, 1).Select 'retire la selection de toutes les cellules
 
    For k = 0 To xx 'Pour chaque "colonne" du tableau bidimensionel faire....
 
        For m = 0 To (i - 1) 'Pour chaque "ligne" du tableau bidimentionel faire...
 
            Cells(m + 1, k + 1) = TheFinalArray(k, m) 'un transfer de l'element du tableau bidimensionel vers Excel
 
        Next m 'repeter pour chaque "ligne" du tableau bidimensionel
 
    Next k 'repeter pour chaque "colonne" du tableau bidimensionel
 
    Sheets("Menu").Activate 'reselectionne l'onglet avec le bouton
 
 
End If 'ferme la condition d'execution de la procedure liée à la trouvaille du nom de fichier
Je ne vois pas comment rectifier cette erreur.

Je met le classeur et le fichier texte en pièce jointe.
Cliquez sur le bouton Import des données radar puis sélectionnez le fichier texte. Modifiez le fichiez texte pour voir directement le problème

Merci d'avance
Exploitation des données radar_05-12-2011_11-00.xls
MESURE.TXT