Modification macro complexe
Bonjour à tous je travaille sur la modification d'un classeur comportant plusieurs phases permettant à l'utilisateur de déposer ses courbes dans un format (fichier csv joint ici 5minutes/3 col watt) et l'outil effectue différents test et les exportent en fichier txt 10mn/8 col kw
il faudrait que je puisse obtenir le même résultat avec format input 30mn csv une idée?
J ai réussi à faire la manip pour un input 10mn/ 3 col watt) mais je n'y arrive pas pour le format 30
Mille merci
la MACRO est formatageFichiers et c'est la partie fichier csv notamment j ai fait qq tests
If formatFichier = "csv" Then
ReDim tablResuTemp(1 To 3, 1 To 1) As Double
'// Lecture du fichier csv (3 colonnes)
'// Cette macro retourne un fichier avec 3 lignes (date, temps, 1 conso) et xx colonnes
Call lectureFichierCSV(cptErreur, cptZero, repertoireLecture & "\" & NomFichier, tablResuTemp())
'// tablResuTemp() contient en colonne 1 = date, en colonne 2 = heure, colonne 3 = la puissance
'// On prend l'arrondi supérieur...
'// ubound = Renvoie un type de donnéeslong contenant le plus grand indice disponible pour la dimension indiquée d'untableau.
nbHeuresHist = Application.WorksheetFunction.RoundUp(UBound(tablResuTemp, 2) / 12, 0)
'// nombre max de valeur de puissance et chaque valeur représente 10 min et redivise par 60 pour convertior en heures donc
'// ca fait nombre max de valeur x 10 / 60 ie /12
'// ...mais s'il n'y a pas de donnees (ie nbHeuresHist<6), on impose nbHeuresHist à 0
If nbHeuresHist = 1 Then nbHeuresHist = 0
Else
Bonjour LCLA67
Quel est votre souci exactement ?
Sur quelle feuille est le problème ?
Il faudra nous en dire plus si vous voulez être aidé
A+
Bonjour à tous
Pour répondre à BrunoM45 et vous donner plus d'éléments de contexte voici en plus détaillé l'utilité de cette macro et l' attendu
- l'utilisateur dépose sur un répertoire des courbes de charge (consommation d'électricité)
- le format qu'il récupère et soit du point 5 minutes 3 col soit du point 30 3 col en CSV en WATT
- avant le format était du point 10' 3 col, j'ai réussi à faire prendre en compte le fichier en point 5 mais je n'arrive pas à faire prendre en compte le fichier 30' 3COL
(avec deux fichiers de macro distinctes)
_ 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 verifs
N'hésitez pas à me demander des compléments
Bonne journée à tous
ci dessous un exemple du fichier txt attendu qui est généré par la macro (ici sur un mois) la plupart du temps les courbes sont sur un an
Bonne journée à tous
re,
je ne comprends pas bien le but, pour le moment un simple essai avec des formules, sans VBA, sans export vers csv, colonnes R:X
ligne 1 = à 00:30 = 2.452 W utilisé, cela veut dire 0,81 kW (divisé par 3.000) pendant les 3 périodes précédents de 10 minutes ?
ligne 2 = à 1:00 = 3.142 W utilisé = 1,04 kW pendant les 3 périodes précédents de 10 minutes.
Bonjour à tous
merci BsAlv pour tes investigations
En fait les courbes de charge en watt ou kwatt permettent de calculer sur une période les kwh
du coup pour
Une coube en point 30 mn 1 col on divise par deux
Par exemple
ligne 1 = à 00:30 = 2.454 W utilisé et ligne 2 = à 1:00 = 3.142 W cela donne 5596watt soit 4025Watt heure ou 4,025 kWh
pour lea points 10 on divise donc par 6
du coup pour transcrire des points 30 vers des points 10 on a deux solutions qui se valent
soit on reporte 4,025 sur la ligne 6 points + 1H
| 4,025 | 4,025 | 4,025 | 4,025 | 4,025 | 4,025 |
soit on reporte (c'est plus propre) comme si c etait une moyenne
| 2,454 | 2,454 | 2,454 | 3,142 | 3,142 | 3,142 |
En fait cette macro a surtout pour but de permettre à l'utilisateur de changer de format
J'avoue que c'est compliqué
bien à vous
