Calcul Moyenne

Résolu/Fermé
Cindy02 - 20 déc. 2010 à 19:13
cindy001 Messages postés 102 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 17 août 2011 - 22 déc. 2010 à 16:00
Bonjour,

Bonjour, je veux calculer des moyennes de la facon suivante et je n'ai aucune idée de comment faire

Sur le document ci-joint:
http://www.cijoint.fr/cjlink.php?file=cj201012/cij9YBdcEF.xls

de AM20 à FB619 j'ai des chiffres et de AM1020 à FB1619 j'ai des déciles D1 à D10

cque je veux c pour chaque colonne faire une macro vba qui me calculerait plus bas après la ligne 1619 ou dans une autre feuille pourquoi pas( mais ca ca n'a pas d'importance): la moyenne des chiffres de la ligne 20 à 619 sachant D1D2 ou D1D9 bref pour toutes les combinaisons possible de D

exemple en ligne 1620 on pourrait avoir en AM 1620 la moyenne de AM20 à AM 619 sachant qu'on a un D1 de AM 1020 à AM1619 en AN1620 la moyenne de AN 20 à AN619 si on a un D1 de AN 1020 à AN1619......... jusqu'à la colonne BF
J'ai fais ce premier exemple en utilisant un SOMME.SI de Excel diviser par NB.SI à la ligne 1620 pour les 9 prochaines lignes ca serait par exemple D2 D3 D4 ... D10

Ensuite par exemple D1D2, puis D1D3, D1D4 etc
Mais j'en ai besoin en vba et j'arrive pas ca fait 3 jours que jsuis dessus j'ai 2 lignes
MERCI A tous


A voir également:

6 réponses

eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
Modifié par eriiic le 21/12/2010 à 07:03
Bonsoir,

Un début de réponse...
Le programme a l'air correct sur les premières lignes.
J'ai levé un premier cas de plantage car tu as des cellules sensées avoir des valeurs et il y a un espace seul dedans (sympa à trouver...). Je les annonce, tu pourras enlever le message annonçant leur référence.
Maintenant il plante un peu plus loin mais vu l'heure je ne cherche pas.
Je ne pourrais pas regarder prochainement. Si tu ne trouves pas le pourquoi ça sera après noel. Je détourne l'erreur vers un breack pour pouvoir consulter les variables.
En attendant tu as au moins la structure que le programme pourrait avoir.
http://www.cijoint.fr/cjlink.php?file=cj201012/cijtis1YbD.zip

Edit: j'ai trouvé l'erreur (division par 0), fichier en ligne corrigé.
Je n'affiche plus les valeurs non numériques.
Reste à voir si j'ai bien compris ta demande et si les résultats sont conformes (en tout cas ils sont corrects sur les 5-6 premières valeurs)

eric
0
cindy001 Messages postés 102 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 17 août 2011 2
21 déc. 2010 à 11:04
Merci pour ta macro

http://www.cijoint.fr/cjlink.php?file=cj201012/cijkzy7OiB.xls

Y'a des différences là je suis en train d'essayer de chercher pourquoi:
ca marche très bien pour D1 jusqu'à D9 j'ai utilisé les fonctions excel pour faire les comparaisons.

J'ai mis en évidence (en couleur là ou les différences sont les plus flagrantes)

Mais j'avoue que j'ai du mal à comprendre pourquoi ca marche très bien pour D1 jusqu'à D9 etv pas après

Si tu peux qu'après noel ca sera parfait t déja très gentil de m'aider.

Merci beaucoup Bonne fetes

en attendant jcontinu à chercher
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
21 déc. 2010 à 12:22
Mais j'avoue que j'ai du mal à comprendre pourquoi ca marche très bien pour D1 jusqu'à D9 etv pas après
Peut-être que c'est parce que j'ai mal compris ta demande.
Pour D1D2 par exemple je fais la somme dans la colonne (contrôler cette somme en mettant un point d'arret dans la macro) de toutes les valeur ayant D1 ou D2 en vis à vis, et je compte le nombre de D1 et de D2 pour faire la moyenne.
Je n'ai fait aucun contrôle sur cette partie, je n'ai dépassé la ligne D4 sans planter que ce matin. Il y a peut-être une erreur dans le programme

D'ailleur au passage si nb=0 je met 0 comme moyenne, tu préfères peut-être une cellule vide (?)

eric
0
cindy001 Messages postés 102 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 17 août 2011 2
21 déc. 2010 à 16:04
quand ya rien dans une cellule ouais faut que ca reste une cellule vide pour le calcule des moyennes ( parceque si on met 0 à la place des cellules vides ca va tout changer)

je vois pas de moyenne dans ta macro mais cqui faut faire c bien
faire la somme des chiffres de AM20 à AM619 (pour la colonne AM par exemple) à chaque fois que y'a le D1 ou D2 (c'est l'équivalent du SOMME.SI dans ma formule) dans la zone AM1020-AM1619
un exemple très simple:
si on aurait dans la zone AM1020-AM1619 un D1 en AM1058 un D2 en AM1101 et puis un autre D1 en AM1613 et que dans cette zone AM1020-AM1619 y'a aucun autre D1 ni D2
Et si on a les chiffres 5 en AM58, 10 en AM101, et 15 en AM613
Alors pour D1D2 pour la colonne AM on aurait la moyenne de 5 10 et 15: donc 10 c bien la somme des chiffres pour lesquels on a D1 ou D2 1000 lignes plus bas(c'est l'équivalent su SOMME.SI) diviser par 3(car on a 3 fois D1 ou D2.

C'est pas urgent

Merci encore
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
21 déc. 2010 à 18:39
Si tu pouvais fournir un fichier exemple plus petit (10 lignes 2 colonnes suffisent, précise moi les 2 plages) avec les valeurs atttendues pour D1D2 et D2D4 par exemple ça serait plus facile pour le débogage.
merci
eric
0
cindy001 Messages postés 102 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 17 août 2011 2
22 déc. 2010 à 12:23
Merci encore et
dsl si jte réponds pas encore mais jsuis en train dfaire des verif pour voir parceque jme suis ptetre trompé dans mon SOMME.SI, jsuis pas encore sur.

Mais j'avou que jcomprends pas très bien ta macro que tu m'as gentillement filler.

Serait il possible que tu donne plus d'explication en commentaires parceque j'arrive pas très bien à voir comment t'as fais ces moyennes?

Merci encore.

Pour la macro elle est peut etre bonne jcontinu à verifier et à refaire mes calculs sur excel por savoir si c moi qui à faux.

Merci beucoup jpense que cet aprem jpourrais trépondre définitivement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cindy001 Messages postés 102 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 17 août 2011 2
22 déc. 2010 à 12:55
Ca y est j'ai trouvé d'ou elles viennent les différences parceque moi quand je fais ces MOYENNE.SI avec Excel quand je calcule pour D4D6 je fais pas la moyenne de D4 D6 mais de tous les chiffres qui sont entre D4 D6 donc D4 D5 et D6.

Sinon on pourra voir ca la semaine prochaine après noel
bonnes fetes Merci encore
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
Modifié par eriiic le 22/12/2010 à 14:48
Bonjour,

Apparemment les calculs sont corrects alors...
Une version avec quelques petits changement, améliorations et qcq commentaires en plus (aucun impact sur les calculs, pas la peine de tout recontrôler, juste 2-3 comparaisons).

Si la macro est très fréquemment utilisée (plusieurs fois par jours) on peut envisager de l'accélérer en travaillant en mémoire (je n'ai prêté attention à la quantité de données que trop tard pour corriger le tir...)
http://www.cijoint.fr/cjlink.php?file=cj201012/cijVJYjmzu.zip
eric
0
cindy001 Messages postés 102 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 17 août 2011 2
Modifié par cindy001 le 22/12/2010 à 16:02
ouais c bon c ce que je voulais pour la lenteur de la macro c pas grave ca mdérange pas.

Merci beaucoup dmavoir aider, c super sympa.
0