Ou est l'erreur sur ma macro
Bonjour à tous
Je cherche désespérément à corriger la macro "formatageFichiers" de mon fichier "Verification Formatage CdC V2 - Copie".
la macro est censée convertir des points 5' (fichier csv joint ici 5minutes/3 col watt) en les exportant en fichier txt 10mn/8 col kw.
_ Lorsque la macro (verif_format..)est lancée voici ce qu'elle fait
- elle exporte une à une l'ensemble des courbes sur un répertoire (celui inscrit dans destination) au format attendu point 10minutes 8 col fichier txt en kw
- les courbes exportées vont être utilisées dans un autre outil
- elle incrémente le tableau présent dans le fichier en effectuant des verif
Sauf que normalement elle devrait effectuer le calcul suivant
moyenne de ligne 1 + 2 point 5 = 1er point 10 minutes
moyenne de ligne 3 + 4 point 5 = 2 point 10 minutes
et là j'ai
ligne 1 point 5 = 1er point 10 minutes etc...
Je pense que c est cette partie que je dois modifier en mettant unr fonction average mais mes tests sont en echec une idéé?
'// Formatage du fichier "temp"
If formatFichier = "csv" Then
'// ************************************************************************************************
'// Format csv
'// ************************************************************************************************
ligneFinale = 0
On Error GoTo 10
For ligne = 1 To UBound(tablResuTemp, 2) Step 12
If ligne + 5 <= UBound(tablResuTemp, 2) Then
ligneFinale = ligneFinale + 1
tablResu(1, ligneFinale) = tablResuTemp(1, ligne) '// date
tablResu(2, ligneFinale) = tablResuTemp(2, ligne) '// heure
tablResu(3, ligneFinale) = tablResuTemp(3, ligne) '// Conso 1
tablResu(4, ligneFinale) = tablResuTemp(3, ligne + 1) '// Conso 2
tablResu(5, ligneFinale) = tablResuTemp(3, ligne + 2) '// Conso 3
tablResu(6, ligneFinale) = tablResuTemp(3, ligne + 3) '// Conso 4
tablResu(7, ligneFinale) = tablResuTemp(3, ligne + 4) '// Conso 5
tablResu(8, ligneFinale) = tablResuTemp(3, ligne + 5) '// Conso 6Edit modo : code à mettre entre balises avec le bouton </> merci d'y faire attention la prochaine fois
Mille merci
re,
ça fait un moment au j'avais vu cette question, je me demandais son utilité ...
Bon, un essai, j'ouvre un CSV, je le transforme en un tableau de tous les jours+heures et puis 12 colonnes per les "5" minutes.
Puis je continue avec ce tableau et je le traduis en un tableau de 8 colonnes, tout les 10 minutes = somme de 2 données de 5 minutes.
Puis avec le même tableau, un tableau de 8 colonnes, 3 colonnes avec la moyenne de x:00-x:25 et les autres la moyenne de x:30-x:55
Puis de nouveau un tableau de 8 colonnes avec 6 fois la moyenne d'une heure.
Facile à créer une variante la dessus ....
Et puis exporter en TXT ou CSV
Merci BsAlv
Merci d'avoir pris le temps (une nouvelle fois) de me répondre
Je vais bien finir par réussir à modifier la mienne
Je la posterai ensuite
Bonne journée
re,
de ce que moi, j'ai compris, vous commencez avez plusieurs fichiers, l'un est tout les 5, 10, 30 ou 60 minutes.
Le but est le convertir en un fichier de (dépendant du choix) (aussi) 5 , 10 30 ou 60 minutes.
C'est ça ? Quels sont les combinaisons possible ?
en fait le fichier vérification formatage servait au départ à déposer sur un répertoire des fichiers (jusqu'à 10 000) en format CSV 3 colonnes, la plupart était en format 10' et qq fichiers étaient en point trente; tous en watt.
L utilisateur récupérait ensuite ces courbes que l'outil avait exporté en POINT 10' 8 col format txt et en KW. l outil fait aussi des verifs ça cela marche toujours
Là 95% des fichiers d'input sont en point 5' du coup je me focalise sur ce format
J'ai presque réussi (notamment pour nombre d'heure et date de debut et fin )
Sauf que normalement elle devrait effectuer le calcul suivant
pour la répartition des points (6 points sur une ligne)
je devrai avoir
moyenne de (ligne 1 + ligne 2 point 5 ) = 1er point 10 minutes
moyenne de (ligne 3 + ligne 4 point 5) = 2 point 10 minutes
et là j'ai
ligne 1 point 5 = 1er point 10 minutes etc...
ligne 2 point 5 = 1er point 10 minutes etc...
Je pense que sur la macro je dois modifier cette partie (qui était celle qui fonctionnait pour du point 104
'// Formatage du fichier "temp"
If formatFichier = "csv" Then
'// ************************************************************************************************
'// Format csv
'// ************************************************************************************************
ligneFinale = 0
On Error GoTo 10
For ligne = 1 To UBound(tablResuTemp, 2) Step 12
If ligne + 5 <= UBound(tablResuTemp, 2) Then
ligneFinale = ligneFinale + 1
tablResu(1, ligneFinale) = tablResuTemp(1, ligne) '// date
tablResu(2, ligneFinale) = tablResuTemp(2, ligne) '// heure
tablResu(3, ligneFinale) = tablResuTemp(3, ligne) '// Conso 1
tablResu(4, ligneFinale) = tablResuTemp(3, ligne + 1) '// Conso 2
tablResu(5, ligneFinale) = tablResuTemp(3, ligne + 2) '// Conso 3
tablResu(6, ligneFinale) = tablResuTemp(3, ligne + 3) '// Conso 4
tablResu(7, ligneFinale) = tablResuTemp(3, ligne + 4) '// Conso 5
tablResu(8, ligneFinale) = tablResuTemp(3, ligne + 5) '// Conso 6
par un truc du type
tablResu(1, ligneFinale) = tablResuTemp(1, ligne) '// date
tablResu(2, ligneFinale) = tablResuTemp(2, ligne) '// heure
tablResu(3, ligneFinale) = tablResuTemp(3, (ligne + 1) / 2) '// Conso 1
tablResu(4, ligneFinale) = tablResuTemp(3, (ligne + 2) / 2) '// Conso 2
mais je n'y arrive pas encore
Je cherche toujours
merciii
bonjour,
on ouvre le fichier et on crée 4 variantes CSV en 2 secondes et les 4 résultats, vous le voyez aussi dans la feuille "LCLA67"
à gauche on a le CSV qu'on a lu et juste à côté on a mis tous les 5 minutes d'une heure sur une ligne.
Et alors, c'est quoi que vous voulez? Veuillez ajuster S2:Z2 et/ou AC2:AJ2 et/ou AL2:AS2 et/ou ... (autres variantes) avec les chiffres que vous voulez voir.
Hello
Ce que je cherche c'est l'endroit à modifier la macro "formatagefichiers" présente dans le fichier Vérification Formatage CdC V2
afin que ma conso 1 du fichier txt 10' au lieu d'être le premier point 5 minutes soit la moyenne OU la somme que divise deux de mon fichier csv 5
Par exemple si mon fichier INPUT CSV à
| 01/01/2022 | 00:00 | 10000 |
| 01/01/2022 | 00:05 | 30000 |
| 01/01/2022 | 00:10 | 40000 |
| 01/01/2022 | 00:15 | 12000 |
L' export en TXT 10 Mn donnera (exemple 1ER point
01/01/2022 00:00 10 au lieu (10+30/2) donc 20 et ainsi de suite
Je suis en train de faire des tests et c'est bien cette partie que je dois modifier
tablResu(3, ligneFinale) = tablResuTemp(3, ligne) '// Conso 1
mais pour l'instant je n'arrive pas par exemple à rajouter la fonction average
Bon je cherche toujours
'// Format csv
'// ************************************************************************************************
ligneFinale = 0
On Error GoTo 10
For ligne = 1 To UBound(tablResuTemp, 2) Step 12
If ligne + 5 <= UBound(tablResuTemp, 2) Then
ligneFinale = ligneFinale + 1
ttablResu(1, ligneFinale) = tablResuTemp(1, ligne) '// date
tablResu(2, ligneFinale) = tablResuTemp(2, ligne) '// heure
tablResu(3, ligneFinale) = tablResuTemp(3, ligne) '// Conso 1
tablResu(4, ligneFinale) = tablResuTemp(3, ligne + 1) '// Conso 2
tablResu(5, ligneFinale) = tablResuTemp(3, ligne + 2) '// Conso 3
tablResu(6, ligneFinale) = tablResuTemp(3, ligne + 3) '// Conso 4
tablResu(7, ligneFinale) = tablResuTemp(3, ligne + 4) '// Conso 5
tablResu(8, ligneFinale) = tablResuTemp(3, ligne + 5) '// Conso 6
Merci en tout cas
Laurence
bonjour BrunoM45, LCLA67,
votre méthode et ma méthode se ressemblent, elles créent un tableau, mais mon tableau est un tableau intermédiaire qui sera facile à créer des autres tableaux. Regardez la plage C2:P744 = 744 lignes = 31 jours *24 heures / jour + 14 colonnes (2 pour jour + heures et 12 pour tous les 5 minutes). on a dividé le chiffre du csv par 1.000.
Si votre fichier a un intervalle de 10 minutes, la moitié de ces cellules sera 0, les minutes 5, 15, 25, 35, 45 et 55.
Maintenant, vous voulez faire quelque chose avec minutes 0 et 10 d'une ligne, alors ce sont les indexes 3 et 5, donc moyenne = (aOut(x,3)+aOut(x,5))/2, facile non ?
Merci à tous (bsAlv et BrunoM45)
Je clôture le sujet. Je laisse tomber, malgré cet écart de calcul le fichier verif fonctionne quand même.
Si par hasard j'arrive à trouver la faille je vous le dirai
Bon weekend à tous
Je ferai attention pour le code la prochaine fois

