[EXCEL] Somme de cellules
Résolu
adrienDN11
Messages postés
467
Date d'inscription
Statut
Membre
Dernière intervention
-
adrienDN11 Messages postés 467 Date d'inscription Statut Membre Dernière intervention -
adrienDN11 Messages postés 467 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement en train de chercher comment on pourrait faire une somme de cellules.
La première entrée est invariable. Mais la deuxième non.
Exemple :
A1 = 2
B1= Somme précédentes >> B1 = 2
INSERTION D'UNE LIGNE
A1 = 2 (pas de changements)
B1 = 2 (Nouvelle entrée)
C1 = Somme précédentes >> C1 = 4
Et ainsi de suite ...
Donc, A1 reste toujours. J'ai essayé =Somme(A1:ActiveCell)
Mais ça ne semble pas fonctionner. Vais-je devoir le faire par VBA ?
Merci
Je suis actuellement en train de chercher comment on pourrait faire une somme de cellules.
La première entrée est invariable. Mais la deuxième non.
Exemple :
A1 = 2
B1= Somme précédentes >> B1 = 2
INSERTION D'UNE LIGNE
A1 = 2 (pas de changements)
B1 = 2 (Nouvelle entrée)
C1 = Somme précédentes >> C1 = 4
Et ainsi de suite ...
Donc, A1 reste toujours. J'ai essayé =Somme(A1:ActiveCell)
Mais ça ne semble pas fonctionner. Vais-je devoir le faire par VBA ?
Merci
A voir également:
- [EXCEL] Somme de cellules
- Somme de plusieurs cellules excel - Guide
- Liste déroulante excel - Guide
- Somme si couleur excel - Guide
- Verrouiller cellules excel - Guide
- Word et excel gratuit - Guide
14 réponses
Re,
C'est COLONNE()-1 qui règle le début de la plage, donc il faut COLONNE()-3 :
=SOMME(INDIRECT("LC(-"&COLONNE()-3&"):LC(-1)";FAUX))
C'est COLONNE()-1 qui règle le début de la plage, donc il faut COLONNE()-3 :
=SOMME(INDIRECT("LC(-"&COLONNE()-3&"):LC(-1)";FAUX))
bonsoir,
Dans le cas d'une insertion de colonne, la formule ci-dessous permet de toujours faire la somme des cellules situées à gauche, même après avoir inséré une colonne "juste avant" :
=SOMME(INDIRECT("LC(-"&COLONNE()-1&"):LC(-1)";FAUX))
exemple, lorsqu'on est en G1, la formule renvoie la somme A1:F1.
Si on insère une colonne entre F et G, elle renvoie la somme de A1:G1
Si vous n'avez besoin de rien, demandez-moi.
Dans le cas d'une insertion de colonne, la formule ci-dessous permet de toujours faire la somme des cellules situées à gauche, même après avoir inséré une colonne "juste avant" :
=SOMME(INDIRECT("LC(-"&COLONNE()-1&"):LC(-1)";FAUX))
exemple, lorsqu'on est en G1, la formule renvoie la somme A1:F1.
Si on insère une colonne entre F et G, elle renvoie la somme de A1:G1
Si vous n'avez besoin de rien, demandez-moi.
Bonsoir,
Non, en fait, c'est une macro qui me permet d'ajouter une colonne devant la colonne sélectionnée.
Mais si je rajoute une colonne entre A1 et B1, B1 devient C1, et donc, ce qui est inscrit dans B1 va dans C1. Mais comment faire pour qu'il prenne désormais en compte B1 dans la somme ?
Adrien
Non, en fait, c'est une macro qui me permet d'ajouter une colonne devant la colonne sélectionnée.
Mais si je rajoute une colonne entre A1 et B1, B1 devient C1, et donc, ce qui est inscrit dans B1 va dans C1. Mais comment faire pour qu'il prenne désormais en compte B1 dans la somme ?
Adrien
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Fonctionne parfaitement, merci.
Mais si je veux qu'elle ne prenne pas en compte les deux premières colonnes (intitulés), je dois indiquer un offset quelque part ?
Merci
Fonctionne parfaitement, merci.
Mais si je veux qu'elle ne prenne pas en compte les deux premières colonnes (intitulés), je dois indiquer un offset quelque part ?
Merci
plus simple :
=SOMME(INDIRECT("A1:A"&LIGNE()-1))
pour ne prendre en compte les 2 1°lignes :
=SOMME(INDIRECT("A3:A"&LIGNE()-1))
=SOMME(INDIRECT("A1:A"&LIGNE()-1))
pour ne prendre en compte les 2 1°lignes :
=SOMME(INDIRECT("A3:A"&LIGNE()-1))
=SOMME(INDIRECT("A1:A"&LIGNE()-1))
fait la somme des cellules au dessus, depuis A1.
mis en A7, par exemple fait la somme de A1:A6.
Si on insère une ligne entre 6 et 7, fait alors la somme de A1:A7
Mais je pense que je n'ai pas du comprendre la question. Il va falloir etre plus explicite...
fait la somme des cellules au dessus, depuis A1.
mis en A7, par exemple fait la somme de A1:A6.
Si on insère une ligne entre 6 et 7, fait alors la somme de A1:A7
Mais je pense que je n'ai pas du comprendre la question. Il va falloir etre plus explicite...
Eh bien c'est ça, et pour une colonne ? Je remplace &ligne par &colonne ?
Eh bien c'est çaet visiblement ce ne l'est pas...
Encore une fois, pouvez vous expliquer clairement ce que vous voulez faire ?
Sinon, vous pouvez déposer un fichier exemple (sans infos personnelles ou confidentielles) sur http://www.cijoint.fr/ et coller le lien fourni par le site sur votre prochain message en indiquant par l'exemple ce que vous cherchez à faire.
=SOMME(INDIRECT("A1:A"&LIGNE()-1)) fait la somme des cellules au dessus, depuis A1. mis en A7, par exemple fait la somme de A1:A6. Si on insère une ligne entre 6 et 7, fait alors la somme de A1:A7
Si cela correspond à ce que vous voulez faire, alors la formule fonctionne : je l'ai testée.
Rebonjour,
Ah, je me heurte à un problème... Lorsque je ne remplis pas la case, il la compte comme un zéro, comment ne pas la prendre en compte ?
Merci
Ah, je me heurte à un problème... Lorsque je ne remplis pas la case, il la compte comme un zéro, comment ne pas la prendre en compte ?
Merci
bonsoir,
effectivement, mais je ne vois pas le problème dans le cas d'une somme... (?)
effectivement, mais je ne vois pas le problème dans le cas d'une somme... (?)
bonjour,
"A1:A"&LIGNE()-1 :
ligne() renvoie le numéro de ligne de la cellule où se situe la formule. (10 si la formule est en ligne 10)
donc ligne()-1 renvoie le numéro de la ligne précédente. (donc 9 pour suivre l'exemple)
"A1:A"&LIGNE()-1 assemble le texte "A1:A9", toujours pour le même exemple.
INDIRECT(....) interprète la chaine de texte ci-dessus comme la référence à la plage correspondante. A1:A9 est donc renvoyé sous forme de plage de cellules par INDIRECT.
On peut ensuite utiliser cette plage dans n'importe quelle formule.
Les lignes sont donc, comme pour n'importe quelle référence de plage, les chiffres de A1:A9 (de la ligne 1 à la ligne 9 - de la colonne A à la colonne A...)
ne pas hésiter non plus à consulter l'aide d'XL pour des explications sur les formules...
PS : pas besoin de SOMME.SI pour sommer les valeurs (objet de la question sur les valeurs 0 dans les sommes...) par contre pour obtenir une moyenne sans 0, il faut effectivement NB.SI (...;">0") au diviseur.
=SOMME(INDIRECT("A1:A"&LIGNE()-1))/NB.SI(INDIRECT("A1:A"&LIGNE()-1);">0")
"A1:A"&LIGNE()-1 :
ligne() renvoie le numéro de ligne de la cellule où se situe la formule. (10 si la formule est en ligne 10)
donc ligne()-1 renvoie le numéro de la ligne précédente. (donc 9 pour suivre l'exemple)
"A1:A"&LIGNE()-1 assemble le texte "A1:A9", toujours pour le même exemple.
INDIRECT(....) interprète la chaine de texte ci-dessus comme la référence à la plage correspondante. A1:A9 est donc renvoyé sous forme de plage de cellules par INDIRECT.
On peut ensuite utiliser cette plage dans n'importe quelle formule.
Les lignes sont donc, comme pour n'importe quelle référence de plage, les chiffres de A1:A9 (de la ligne 1 à la ligne 9 - de la colonne A à la colonne A...)
ne pas hésiter non plus à consulter l'aide d'XL pour des explications sur les formules...
PS : pas besoin de SOMME.SI pour sommer les valeurs (objet de la question sur les valeurs 0 dans les sommes...) par contre pour obtenir une moyenne sans 0, il faut effectivement NB.SI (...;">0") au diviseur.
=SOMME(INDIRECT("A1:A"&LIGNE()-1))/NB.SI(INDIRECT("A1:A"&LIGNE()-1);">0")