Somme sans les vides.

Adrien

XLDnaute Junior
Bonjour,

Je rencontre actuellement un petit problème pour créer un classeur qu'on m'a commandé.

C'est un classeur "somme de points" tout à fait classique mais que j'essaye d'automatiser le plus possible avec le VBA.

Donc, je peux ajouter une cotation avec une macro qui m'ajoute une colonne avant la dernière ( la dernière étant le total ).

Or, dans le total, j'ai ceci :

=SI(A8="";"";((SOMME(INDIRECT("LC(-"&COLONNE()-3&"):LC(-1)";FAUX)))/DATA!C6)*10)

DATA!C6 est en fait une autre formule :

=SOMME.SI('Lire - 1'!C7:G7;">"&0;'Lire - 1'!C7:G7)

Jusque là, tout va bien ...

Là où ça coince, c'est quand je ne rentre pas de valeur ... Normalement, je sais qu'on peut demander de ne prendre que les valeurs, mais cette formule de somme indirecte des cellules précédentes est nouvelle pour moi.

Donc, ma question :

Comment faire pour ne pas prendre en compte les cases vides ?

Dans l'attente de votre réponse,

Adrien


PS : Si quelqu'un a le moyen que en plus d'une case vide, une lettre puisse annuler la prise en compte. Un "A" comme "absent" pourrait aussi compter comme si c'était "rien".

Merci !
 

hoerwind

XLDnaute Barbatruc
Re : Somme sans les vides.

Bonjour et bienvenu sur le forum,

Avec en pièce jointe un extrait de ton fichier ou un exemple de tes données ainsi que le résultat que tu souhaites obtenir, ce serait bien plus facile pour te donner un coup de main.
 

hoerwind

XLDnaute Barbatruc
Re : Somme sans les vides.

Re,

La lecture de la formule ne me permet pas d'en déduire ce que tu veux faire.

Si c'est la moyenne, essaie cette formule : =MOYENNE($D$:G6)
elle renvoie 8, ne tient pas compte des cellules vides, des cellules contenant du texte.

Si tu désires insérer une ou plusieurs colonnes avant celle contenant le résultat (la moyenne et non la somme) :
=MOYENNE(INDIRECT("D6:"&CAR(63+COLONNE())&6))

Si c'est encore autre chose que tu cherches, soit quelque peu plus explicite.
 

Adrien

XLDnaute Junior
Re : Somme sans les vides.

Re,

La lecture de la formule ne me permet pas d'en déduire ce que tu veux faire.

Si c'est la moyenne, essaie cette formule : =MOYENNE($D$:G6)
elle renvoie 8, ne tient pas compte des cellules vides, des cellules contenant du texte.

Si tu désires insérer une ou plusieurs colonnes avant celle contenant le résultat (la moyenne et non la somme) :
=MOYENNE(INDIRECT("D6:"&CAR(63+COLONNE())&6))

Si c'est encore autre chose que tu cherches, soit quelque peu plus explicite.


Salut, Je ne comprends pas ta formule ... Où se situe la variable de la colonne ? De la ligne ?
 

hoerwind

XLDnaute Barbatruc
Re : Somme sans les vides.

Re,

Comme ton exemple ne comporte qu'une ligne je ne pouvais en déduire que tu souhaitais copier la formule vers le bas et qu'elle s'incrémente automatiquement !

Essaie celle-ci :
=MOYENNE(INDIRECT("D"&LIGNE()&":"&CAR(63+COLONNE())&LIGNE()))

Les lignes s'incrémentent par la fonction LIGNE()
Les colonnes s'incrémentent par la fonction CAR()
 

Adrien

XLDnaute Junior
Re : Somme sans les vides.

Pardon,

je me suis mal exprimé, c'est juste que je cherchais à comprendre la cellule. J'ai souvent du mal à exprimer clairement ma pensée. Eh eh, pas facile à 15 ans ^^

Bon, je vais essayer ceci.


EDIT :

Re, je viens de tester, la formule fonctionne, mais elle réalise la moyenne, mais elle réalise une moyenne arithmétique !

Par exemple :

J'ai 1/10 et 2/20

La moyenne va indiquer 1.5 alors qu'elle doit être de 1 puisque 1/10 = 2/20


Merci
 
Dernière édition:

hoerwind

XLDnaute Barbatruc
Re : Somme sans les vides.

Bonjour,

Si tu apportes une modification à ton dernier message, celui-ci n'est pas remonté dans la liste des messages et personne en peut se rendre compte de cette modification.
Par contre un petit up permet de s'en apercevoir.

Ceci dit, pourrais-tu expliquer ce que tu cherches à réaliser ?
Il me semblait que c'était la moyenne, mais apparemment ce ne doit pas être cela.
Avec un exemple comportant plusieurs lignes (une dizaine est amplement suffisant) et les résultats à obtenir, ce sera certainemnt plus facile à comprendre.

En dehors de cela je tiens à te féliciter.
Beaucoup de tes ainés pourraient prendre leçon à ton orthographe parfaite.
C'est tellement rare le jour d'aujourd'hui qu'il faut le souligner.
Mais peut-être n'as-tu pas de GSM (lol) ?
 

Adrien

XLDnaute Junior
Re : Somme sans les vides.

Bonsoir,

Eh eh, tout d'abord, merci pour ton commentaire, ça fait toujours plaisir un petit commentaire. Mais bon, je suis pas normal, on me le dit tout le temps; je milite pour le comité contre le langage Sms et les fautes volontaires sur les forum : Comit de lutte contre le langage sms et les fautes volontaires sur Internet


Bon, pour en revenir au problème :

Oui, c'est une moyenne arithmétique que je souhaite réaliser. Mais l'ennui, c'est qu'une moyenne de ce type avec la fonction excel fait cette manipulation :
Somme de toutes les valeurs/nombre des valeurs

Or, c'est peut-être valable pour des valeurs ayant le même dénominateur, mais pas pour des dénominateurs différents.



J'essaye en maths (car apparemment, beaucoup de programmeurs sont forts en maths) ;

La fraction 1/1 peut devenir 8/8
Pour obtenir 1/1, on peut additionner d'autres valeurs
Par exemple : 1/8 + 7/8 = 1

Or, si on change les numérateur et dénominateurs, on peut démontrer que :
1/1 = 4/8 + 4/8 = 4/8 + 16/32

On peut dire que :
4<16
Mais
4/8 = 16/32

Et c'est le même problème pour mes valeurs. Si je change la cotation maximale, il fait la moyenne des numérateurs, sans tenir compte des dénominateurs.

Par exemple; imaginons qu'à mes interrogations j'ai eu 10/10 et 20/20.

Je rentre ces valeurs, il me fait une moyenne de 15 ! Alors que la moyenne doit être 10.


Dans l'attente de vos réponses à ma question qui, je l'espère, ne sera pas trop embrouillée.

Adrien
 

Adrien

XLDnaute Junior
Re : Somme sans les vides.

Bonsoir,

Eh eh, tout d'abord, merci pour ton commentaire, ça fait toujours plaisir un petit commentaire. Mais bon, je suis pas normal, on me le dit tout le temps; je milite pour le comité contre le langage Sms et les fautes volontaires sur les forum : Comit de lutte contre le langage sms et les fautes volontaires sur Internet


Bon, pour en revenir au problème :

Oui, c'est une moyenne arithmétique que je souhaite réaliser. Mais l'ennui, c'est qu'une moyenne de ce type avec la fonction excel fait cette manipulation :
Somme de toutes les valeurs/nombre des valeurs

Or, c'est peut-être valable pour des valeurs ayant le même dénominateur, mais pas pour des dénominateurs différents.



J'essaye en maths (car apparemment, beaucoup de programmeurs sont forts en maths) ;

La fraction 1/1 peut devenir 8/8
Pour obtenir 1/1, on peut additionner d'autres valeurs
Par exemple : 1/8 + 7/8 = 1

Or, si on change les numérateur et dénominateurs, on peut démontrer que :
1/1 = 4/8 + 4/8 = 4/8 + 16/32

On peut dire que :
4<16
Mais
4/8 = 16/32

Et c'est le même problème pour mes valeurs. Si je change la cotation maximale, il fait la moyenne des numérateurs, sans tenir compte des dénominateurs.

Par exemple; imaginons qu'à mes interrogations j'ai eu 10/10 et 20/20.

Je rentre ces valeurs, il me fait une moyenne de 15 ! Alors que la moyenne doit être 10.


Dans l'attente de vos réponses à ma question qui, je l'espère, ne sera pas trop embrouillée.

Adrien

up ? (à nouveau, je sais)
 

hoerwind

XLDnaute Barbatruc
Re : Somme sans les vides.

Re, salut James,

J'ai enfin compris ce que notre ami Adrien souhaitais.
Pas tout à fait de ma faute, sous la première pièce jointe tous les maximum (ligne 5) étaient égaux à 10, mais quand même, j'aurais pu supposer que ... !

La proposition de James renvoie un résultat qui me semble correct, mais ne tient pas compte d'une contrainte :
je peux ajouter une cotation avec une macro qui m'ajoute une colonne avant la dernière (la dernière étant le total ).
Même en supprimant les $ devant les G, la formule dans la colonne "total" ne s'adapte pas automatiquement.

Je regarde si je trouve une solution.
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 345
Membres
102 868
dernier inscrit
JJV