Macro excel: opération sur les colonnes

Résolu/Fermé
fab250 Messages postés 5 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 24 juillet 2014 - 4 juin 2014 à 10:27
fab250 Messages postés 5 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 24 juillet 2014 - 4 juin 2014 à 18:17
Je suis novice en écriture de macros avec VB et j'aimerai avoir de l'aide par rapport au problème suivant :
J'ai un système de régulation (pompe à chaleur, centrale traitement d'air, ballon de stockage...) avec un relevé de mesure (température, débit...) toutes les semaines....cela représente à peu près 10000 lignes par colonne et j'aimerai donc pouvoir « automatiser » le calcul de certaines grandeurs à l'aide de macros (coefficient de performance, puissances...).
Je vais essayer de décrire les différentes étapes le plus précisément possible pour que vous saisissiez bien la démarche :
1) Calcul de la puissance produite par le système : 1.16*colonne B* (colonne C-colonne E) => à mettre colonne P (faire sur les colonnes entières => jusqu'à la dernière ligne où il y a une valeur=> à peu près la 10083éme lignes)
2) Calcul de la puissance consommé : colonne H* colonne I => mettre colonne Q
3) Calcul du COP (coefficient de performance) : il faut inclure une condition IF
=> Si la colonne I<=3 et que colonne Q=0 alors COP=0 sinon COP= (colonne P /colonne Q) (ce sont deux colonnes créent précédemment) => A mettre dans colonne R



Merci d'avance pour l'aide que vous allez m'apporter. Je sais que ce n'est que la démarche mais je préfère vous laisser libre dans l'écriture de cette macro.

Cordialement,
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 4/06/2014 à 10:39
Bonjour
..."je préfère vous laisser libre dans l'écriture de cette macro..."
Autrement dit dém....dez vous :o)

Sans voir le contexte, difficile
pour joindre une pièce
mettre un extrait du classeur (2000 lignes maxi) sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse


Michel
0
fab250 Messages postés 5 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 24 juillet 2014
4 juin 2014 à 10:49
Pour faciliter la compréhension, je joins le document excel:
https://www.cjoint.com/?DFekTn6qCyo

Je vais essayer de vous proposer une macro excel dans ce cas.

Cordialement,
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 juin 2014 à 18:01
Re,

ton problème peut se résoudre facilement sans macro! pourquoi vouloir du VBA ?
0
fab250 Messages postés 5 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 24 juillet 2014
4 juin 2014 à 18:17
Re,

En effet, mon problème peut se résoudre sans macro mais le faire à chaque fois c'est long et fastidieux (10000 lignes et à faire le calcul d'un nouveau fichier chaque semaine...).
J'ai d'ailleurs réussi à la faire finalement:

Sub Calcul_système_AEDOMIA()
Dim LstRw As Long
With Sheets("SemN°52")
'LstRow = Numéro de la dernière ligne remplie en colonne A (1)
LstRw = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("$CS$4:$CS$" & LstRw).FormulaLocal = "=1,16*CQ4*(AI4-AN4)"
.Range("$CT$4:$CT$" & LstRw).FormulaLocal = "=BN4*BO4"
.Range("$CU$4:$CU$" & LstRw).FormulaLocal = "=BL4*BM4"
.Range("$CV$4:$CV$" & LstRw).FormulaLocal = "=BR4*BS4"
.Range("$CW$4:$CW$" & LstRw).FormulaLocal = "=SI(OU(BO4<=3;BO4=0);0;CS4/CT4)"
.Range("$CX$4:$CX$" & LstRw).FormulaLocal = "=SI(OU(BO4<=3;BO4=0);0;CS4/(CT4+CU4+CV4))"
.Range("$CY$4:$CY$" & LstRw).FormulaLocal = "=SI(OU(BO4<=3;BO4=0);0;(273+AI4)/(AI4-R4))"
.Range("$CR$4:$CR$" & LstRw).FormulaLocal = "=AI4-AN4"
End With
End Sub

Maintenant, mon soucis est de tracer les graphes avec un autre logiciel que Excel (gnuplot par exemple) car de même si je pouvais automatiser l'analyse des graphes, cela me ferait gagner un temps monstre (au lieu de faire une sélection de données, etc,etc....)
Si vous avez une idée la procédure à suivre pour faire un graphe à l'aide de ce logiciel à partir d'une colonne d'un fichier excel, je suis preneur.

Merci d'avance.
0