Executer une formule complexe d'une colonne sur plusieurs colonnes

Bonjour, à toutes et à tous

J'ai un petit souci avec une formule un peut complexe pour calculer la moyenne des valeurs par rapport à la premiere colonne qui est une plage horaire

Et à partir de la deuxième colonne j'ai les valeurs, mon résultat est sur un autre feuil

La colonne A c'est la plage horaire représenter comme suit :

A B C D E F

01/03/2020 00:00:00 482 347 1 336 503 208
01/03/2020 01:00:00 478 347 - 497 222
01/03/2020 02:00:00 482 348 - 508 246
01/03/2020 03:00:00 475 352 - 506 244
01/03/2020 04:00:00 476 351 1 357 750 242
01/03/2020 05:00:00 473 352 1 357 731 219

Voici la formule : sachant que le G1 et H1 représente ma condition horaire (G1=21 :00)&(H1=06 :00)

'=SOMMEPROD((MOD(Data!A5:A2825;1)<=$G$1)*(MOD(Data!A5:A2825;1)>=$H$1)*(Data!B5:B2825))/SOMMEPROD((MOD(Data!A5:A2825;1)<=$G$1)*(MOD(Data!A5:A2825;1)>=$H$1))'

et je voudrais exécuter en VBA sur plusieurs colonnes

merci de m'aider ce problème

Vous trouvez le fichier pièce jointe (Feuil "PCS" là où je veux executer ma formule ; Feuil "Data" là ou il y à les données)

Bonjour,

Le code

Sub Moyenne()
    Dim DerLig As Long, DerCol As Long, I As Long, Loig As Long
    Application.ScreenUpdating = False
    DerLig = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
    DerCol = Sheets("Data").Range("B3").End(xlToRight).Column
    Lig = 6
    For I = 2 To DerCol
        Cells(Lig, "E").FormulaR1C1 = "=SUMPRODUCT((MOD(Data!R5C1:R" & DerLig & "C1,1)<=R1C6)*(MOD(Data!R5C1:R" & DerLig & "C1,1)>=R1C7)*(Data!R5C" & I & ":R" & DerLig & "C" & I & "))/SUMPRODUCT((MOD(Data!R5C1:R" & DerLig & "C1,1)<=R1C6)*(MOD(Data!R5C1:R" & DerLig & "C1,1)>=R1C7))"
        Lig = Lig + 1
    Next I
End Sub

Cdlt

Bonjour, Arturo

merci beaucoup pour ton aide la macro fonctionne très bien

bonne journée à toi

Rechercher des sujets similaires à "executer formule complexe colonne colonnes"