[RESOLU]Calcul de moyenne sur une plage contenant

RoadRunner

XLDnaute Nouveau
Bonjour à tous,

Je voudrai calculer une moyenne (en hh:mm:ss) d'une plage B4:B300 dont les lignes contiennent la lettre 'A' dans la colonne D4:D300.
puis mettre le résultat dans la cellule B401

Ca remplacera la partie verte qui ne tient pas compte de la présence de la lettre 'A' dans D4:D300

With .Range('B401')
.Formula = '=AVERAGE(B4:B300)'
.NumberFormat = 'hh:mms'
End With

With .Range('C401')
.Formula = '=AVERAGE(C4:C300)'
.NumberFormat = 'hh:mms'
End With


puis refaire la meme chose pour la partie bleue mais
en faisant une moyenne Colonne C de toutes les lignes qui contiennent la lettre 'A' et mettre cette moyenne en C401

je pense qu'il y aura juste à changer la colonne B en C pour la deuxieme moyenne

Donc grand besoin de votre aide car la ça me semble très compliqué !

merci d'avance !

Message édité par: RoadRunner, à: 18/08/2005 22:34
 

Monique

Nous a quitté
Repose en paix
Re:Calcul de moyenne sur une plage contenant lettreA

Bonjour,

Sans macro, dans la feuille

Formule à mettre en B301
=MOYENNE(SI($D4:$D300='A';B4:B300))
à valider par ctrl, maj et entrée
puis copier coller en C301

En C301, ça donne :
=MOYENNE(SI($D4:$D300='A';C4:C300))
 

RoadRunner

XLDnaute Nouveau
Re:Calcul de moyenne sur une plage contenant lettr

re

Bravo

je n'avais pas fait ctrl+maj+entrée !
maintenant c'est OK !

merci beaucoup ! je ne pensais vraiment pas y arriver sans l'utilisation d'une macro mais si j'ai besoin de mettre ça dans une macro comment dois l'écrire ? j'ai essayé ça sans succes :

With .Range('B400')
.Formula = '=AVERAGE(SI($D4:$D300='A';B4:B300))'
.NumberFormat = 'hh:mm:ss'
End With

as tu une solution ?

merci encore...
 

RoadRunner

XLDnaute Nouveau
Re:Calcul de moyenne sur une plage contenant lettr

re

ok en tout cas merci pour la solution à mettre en cellule

J'ai fais un enregstrement macro ce qui me donne ce code et ça fonctionne pour ceux qui en ont besoin...

Range('B401').Select
Selection.FormulaArray = _
'=AVERAGE(IF(R[-397]C4:R[-101]C4=''A'',R[-397]C:R[-101]C))'

Range('C401').Select
Selection.FormulaArray = _
'=AVERAGE(IF(R[-397]C4:R[-101]C4=''A'',R[-397]C:R[-101]C))'

Range('B400').Select
Selection.FormulaArray = _
'=AVERAGE(IF(R[-396]C4:R[-100]C4=''B'',R[-396]C:R[-100]C))'

Range('C400').Select
Selection.FormulaArray = _
'=AVERAGE(IF(R[-396]C4:R[-100]C4=''B'',R[-396]C:R[-100]C))'


bonne soirée !

Message édité par: RoadRunner, à: 18/08/2005 22:32
 

Discussions similaires