Somme de cellule portant le même nom sur Exce [Résolu/Fermé]

Signaler
-
Messages postés
23401
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
-
Bonjour,

J'ai une feuille (A) de calcul avec plusieurs cellule portant des noms. ex. "=aqueduc" donne exemple 20$ se rapporte à une cellule d'une autre feuille (B).

Moi je veux faire la somme de toute les cellules de la feuille (A) qui comporte "=aqueduc".

Le problème c'est que j'ai une formule qui fonctionne à moitié SOMPROD. Elle adittionne tous les cellule qui on 20$ comme résultat.

Comment faire pour que la formule prenne en compte le nom de la cellule et non le montant donné par le nom de la cellule

Merci

9 réponses

Messages postés
51747
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
13 312
"Moi je veux faire la somme de toute les cellules"
Tu voulais dire "... faire le décompte de ..." ?

=NB.SI(plage;"*aqueduc*") à essayer ... (j'ai pas vérifié !)
C'est bien, la retraite ! Surtout aux Antilles ... :-)
? Raymond ?
4
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 86943 internautes nous ont dit merci ce mois-ci


Malheureusement ca ne fonctionne pas, j'ai fait un test qui devrait donner 300 et avec cette formule le résultat donne 0.
Messages postés
23401
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 160
Re,

Un peu de retard sur patrice, mais comme elle est faite voici ma version de la fonction personnalisée :
Function SommeSiNom(plage As Range, nom As String) As Double  
    Dim c As Range    
    For Each c In plage    
        If Mid(c.Formula, 2) = nom Then SommeSiNom = SommeSiNom + 1    
    Next c    
    SommeSiNom = SommeSiNom * Range(nom)    
End Function

Ex syntaxe :
=SommeSiNom(formule!$E$5:$E$12;B9)

Eric

Edit: fichier exemple : SommeSiNom.xls

Eriiic tu as la solution exact. C'est parfait et testé tout est ok.

Il me reste juste une chose à régler dans mon fichier. Je t'envoi ton fichier avec mes modification. Dans la "formule" j'ai ajouté 2 collones, je dois avoir le total des donnés qui son dans la collone H quand il y a la cellule acqueduc dans la collone F. voir explication FEUIL3.

http://www.cijoint.fr/cjlink.php?file=cj201103/cijUHcfQsZ.xls

MERCI D'AVANCE
Messages postés
23401
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 160
Re,

Nouvelle fonction qui accepte 2 syntaxes (le 3ème paramètre est optionnel) :
Function SommeSiNom(plage As Range, nom As String, Optional plage_valeurs As Range) As Double
    Dim c As Range, lig As Long, opt As Boolean
    If Not plage_valeurs Is Nothing Then opt = True
    For Each c In plage
    lig = lig + 1
        If Mid(c.Formula, 2) = nom Then
            If Not opt Then
                SommeSiNom = SommeSiNom + c.Value
            Else
                SommeSiNom = SommeSiNom + Application.Transpose(plage_valeurs.Value)(lig)
            End If
        End If
    Next c
End Function

Syntaxe1 (idem 1ère fonction) :
=SommeSiNom(formule!$F$5:$F$12;B9)
Syntaxe2 :
=SommeSiNom(formule!$F$5:$F$12;B9;formule!$H$5:$H$12)
Si le 3ème paramètre optionnel est présent ce sont les valeurs de cette plage qui seront additionnées.
Remarque1 :
=SommeSiNom(formule!$F$5:$F$12;B9;formule!$F$5:$F$12) donne le même résultat que la syntaxe1
Remarque2:
On peut tout aussi bien effectuer la multiplication et se passer de la colonne intermédiaire H.

SommeSiNom.xls
eric
>
Messages postés
23401
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020

Bonjour, je suis en train de me poser la même question mais vu que je ne sais pas a quoi correspond le B9, la colonne F ou la colonne H, je ne sais pas l'appliquer correctement. Pouvez vous donner une explication a cette formule SVP ?
Messages postés
23401
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 160 > gryffin01
Bonjour gryffin01,

4 ans après je ne me rappelle pas les détails et rien ne dit que ce soit adapté à ton problème.
Démarre ta question dans un nouveau topic avec un fichier de travail, les explications et le résultat attendu (le déposer sur cjoint.com et coller dans ta question le lien fourni)
Ajoute le lien vers ce post aussi : https://forums.commentcamarche.net/forum/affich-21436548-somme-de-cellule-portant-le-meme-nom-sur-exce#18

eric

Eriiic c'est parfait tu es un vrai pro

Merci infiniment, là je peux dire que le problème est résolu à 100%

Merci encore
Messages postés
23401
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 160
Bonjour,

Parles-tu réellement de nom ou de contenu ?
Sur excel on peut nommer une cellule ou une plage...
Si tu parles de contenu :
=SOMME.SI(Feuil1!A1:E10;"aqueduc";Feuil2!A1:E10)
si tu parles de nom :
=SOMME(aqueduc)

eric

C'est la cellule qui porte un nom, ca me facilite la tache, car je dois mettre les même valeurs à plusieurs endroit.

C'est un très gros fichier. J'ai 134 noms de cellule sur 17 feuilles excel. C'est pour faire le suivi d'un projet. Le but d'additionner les noms de cellule, c'est que je veux avoir comme un liste d'épicerie, quantité d'items à acheter.

Malheureusement les 2 formules ne fonctionne pas, j'ai l'impression que les formules ne veulent pas tenir compte du nom de la cellule.

Merci
Messages postés
1089
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
2 juin 2018
320
S'il s'agit d'additionner des cellules portant le même nom, la formule =somme(le nom des cellules) fonctionne très bien même sur des cellules non contiguës.
Avez vous nommé vos cellules en même temps ? En clair, êtes vous sûr que vos cellules font partie du même nom ?

Michel
Messages postés
89
Date d'inscription
lundi 29 janvier 2007
Statut
Membre
Dernière intervention
26 août 2014
3
bonjour,
tu as moyen d'envoyer ton fichier ? avec ça : http://www.cijoint.fr

Bonjour boulidore

Je ne peux t'envoyer le fichier original, car c'est un peu confidentiel. Parcontre, je t'envoi un fichier avec explication sur la FEUIL3 qui représente ce que je recherche.

Merci de votre aide

http://www.cijoint.fr/cjlink.php?file=cj201103/cij7WlfK5K.xls
Messages postés
25107
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 mai 2020
5 269
Bonjour en attendant Eric qui travaille le pauvre.

un peu compliquée votre construction, mais enfin, c'est vous qui voyez;
essayez en C9, à tirer vers le bas:

=SOMME.SI(formule!$E$5:$E$12;INDIRECT(B9);formule!$E$5:$E$12)

à priori ça donne le résultat que vous attendez en E9!

crdlmnt

Vaucluse tu as la bonne solution merci énormément je viens d'éviter une autres journée de recherche.

Le problème est résolu

Good

Merci encore

Bonne fin de journée
Messages postés
1089
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
2 juin 2018
320
OK Vaucluse, vous avez compris ce qu'il fallait faire. Je n'avais pas du tout saisi à quoi servait cette feuille formule.

Michel

Vaucluse

Je viens de transposer la formule dans mon fichier. Il y a encore un problème.

La formule addition encore toutes les valeurs et non les nom de cellule. Exemple, aqueduc vaut 20 alors ta formule addition toutes les cellule ayant 20 a l'intérieur.

Ca fait la même chose si 2 nopm de cellule on la même valeur

Je te renvoi le fichier avec le probleme

http://www.cijoint.fr/cjlink.php?file=cj201103/cijue6NIQr.xls
Messages postés
25107
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 mai 2020
5 269
là je ne comprend pas
pourquoi il y aurait dans la feuille nom colonne D des cellules qui auraient une valeur 20 qui ne soit pas nommée =Aqueduc?
Qu'est ce qui différencierait ces cellules des réelles Aqueduc?
Pourquoi taper 20 dans la cellule si le choix d'origine (compliqué) est de placer =Aqueduc pour afficher 20?
Messages postés
8170
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
28 mai 2020
1 410
Bonjour,

Si tu as simplement besoin de la somme (mais du résultat dans une cellule) voici une méthode manuelle :
Excel 2007 : Accueil / Rechercher
Excel 2003 Édition / Rechercher

Rechercher : =aqueduc / Rechercher tout / Ctrl + A (sélectionne toutes les cellules concernées)
La somme est affichée en bas, dans la barre d'état.

Sinon, je ne pense pas que ce soit possible avec une formule, il faut écrire une macro.


Merci pour ta réponse Patrice33740, mais malheureusement j'ai besoin d'avoir la somme dans une cellule(le résultat), car je dois mettre d'autres formules à partir de cette cellule. Est-ce que tu connais la macro nécessaire, j'en est essayé plusieurs et rien ne fonctionne.

merci
Messages postés
1089
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
2 juin 2018
320
Pas très clair ce que vous demandez.

Dans les résultats vous dites aqueduc devrait donner 60. Pour moi aqueduc = 20.
Aqueduc 700 devrait donner 70 et vous dites que le résultat devrait donner 140.

En clair je ne vois pas de corrélation entre les données et le résultat que vous souhaitez obtenir.
Pourquoi il n'y aurait pas de valeur en face des aqueduc 500, 600, 800 et 900 ?
A quoi sert la feuille formule ?

Bref, il faudrait nous en dire plus pour qu'on comprenne.

Michel

C'est le total de toutes les cellules contenant un tiem.

La solution a été trouvé par Vaucluse

merci
Messages postés
8170
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
28 mai 2020
1 410
Re,

Avec une fonction personnalisée (macro) à mettre dans un module :

Private Function SommeNom(Nom As String) As Double 
Dim cel As Range 
   
  Application.Volatile 
  Application.Calculation = xlCalculationManual 
  For Each cel In ActiveSheet.UsedRange.Cells 
    If cel.Formula = "=" & Nom Then 
      SommeNom = SommeNom + cel.Value 
    End If 
  Next cel 
  Application.Calculation = xlCalculationAutomatic 
   
End Function 


Pour l'utiliser mettre la formule suivante dans la cellule :
=Sommenom("aqueduc")


Cordialement
Patrice
Messages postés
8170
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
28 mai 2020
1 410
PS : la valeur (aqueduc) doit être numérique

Merci Patrice33740

La macro fait le traivail. Mais je ne veux pas t'en demander trop, mais est-ce que tu peux ajouter une sélection de champ à cette macro. Pour l'instant, je dois utiliser la macro dans chaque feuille et transférer dans une feuille totaux. Avec la possibilité de sélectionner, ce serait parfait.

Merci beaucoup Patrice, tu ne sais pas comment tu m'aide.
Messages postés
23401
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 160
Re,

Tu peux jeter un oeil à ma proposition juste en dessous (post 18) voir si c'est ce qui te manque
eric