Somme de cellule portant le même nom sur Exce

Résolu/Fermé
jimclermont - 30 mars 2011 à 22:38
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 6 oct. 2015 à 19:06
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

Raymond PENTIER Messages postés 58387 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 16 avril 2024 17 087
Modifié par Raymond PENTIER le 31/03/2011 à 06:13
"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 ?
6
jimclermont
31 mars 2011 à 12:48
Malheureusement ca ne fonctionne pas, j'ai fait un test qui devrait donner 300 et avec cette formule le résultat donne 0.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
Modifié par eriiic le 31/03/2011 à 17:10
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
1
jimclermont
31 mars 2011 à 19:35
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
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
31 mars 2011 à 22:07
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
0
gryffin01 > eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023
6 oct. 2015 à 15:10
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 ?
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209 > gryffin01
6 oct. 2015 à 19:06
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
0
jimclermont
31 mars 2011 à 22:24
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
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
31 mars 2011 à 07:18
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
0
jimclermont
31 mars 2011 à 12:55
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
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 353
31 mars 2011 à 13:04
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
0
boulidore Messages postés 89 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 26 août 2014 3
31 mars 2011 à 13:03
bonjour,
tu as moyen d'envoyer ton fichier ? avec ça : http://www.cijoint.fr
0

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

Posez votre question
jimclermont
31 mars 2011 à 15:01
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
31 mars 2011 à 15:16
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
0
jimclermont
31 mars 2011 à 15:24
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
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 353
31 mars 2011 à 15:31
OK Vaucluse, vous avez compris ce qu'il fallait faire. Je n'avais pas du tout saisi à quoi servait cette feuille formule.

Michel
0
jimclermont
31 mars 2011 à 15:51
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
31 mars 2011 à 17:09
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?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
30 mars 2011 à 23:32
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.

-1
jimclermont
31 mars 2011 à 04:32
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
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 353
Modifié par mic13710 le 31/03/2011 à 15:22
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
-1
jimclermont
31 mars 2011 à 15:25
C'est le total de toutes les cellules contenant un tiem.

La solution a été trouvé par Vaucluse

merci
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
Modifié par Patrice33740 le 31/03/2011 à 17:20
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
-1
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
31 mars 2011 à 17:00
PS : la valeur (aqueduc) doit être numérique
0
jimclermont
31 mars 2011 à 17:57
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.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
31 mars 2011 à 18:25
Re,

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