Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire une somme conditionnelle sur plusieurs feuilles

6 réponses
Avatar
Damien
Bonjour à tous,
Je me bats depuis un moment avec XL 03 pour arriver à faire une somme
sur plusieurs feuilles...

Ca ça marche :
=somme(janvier:décembre!B1)

Mais je veux pouvoir indiquer à excel dans une cellule sur combien de
feuilles faire la somme.

J'ai essayé :
=somme.si(janvier:décembre!a1;"T";janvier:décembre!B1)

en mettant une cellule "contrôle" à A1 sur chaque feuille.

XL me renvoie "#VALEUR!"

Et ça ne marche pas non plus :
=somme(indirect(concatener("janvier:";"décembre";"!B1")))

renvoie "#REF"
Je précise que "décembre" est obtenu ailleurs d'où l'intérêt de la
fonction ;)

Chuis tout perdu :( Merci d'avance pour toute contribution !
Damien

6 réponses

Avatar
isabelle
bonjour Damien,

il faut chargez la macro complémentaire Utilitaire d'analyse.
(l'installez à partir du cd si elle n'y est pas)

isabelle


Bonjour à tous,
Je me bats depuis un moment avec XL 03 pour arriver à faire une somme
sur plusieurs feuilles...

Ca ça marche :
=somme(janvier:décembre!B1)

Mais je veux pouvoir indiquer à excel dans une cellule sur combien de
feuilles faire la somme.

J'ai essayé :
=somme.si(janvier:décembre!a1;"T";janvier:décembre!B1)

en mettant une cellule "contrôle" à A1 sur chaque feuille.

XL me renvoie "#VALEUR!"

Et ça ne marche pas non plus :
=somme(indirect(concatener("janvier:";"décembre";"!B1")))

renvoie "#REF"
Je précise que "décembre" est obtenu ailleurs d'où l'intérêt de la
fonction ;)

Chuis tout perdu :( Merci d'avance pour toute contribution !
Damien


Avatar
Damien

bonjour Damien,

il faut chargez la macro complémentaire Utilitaire d'analyse.
(l'installez à partir du cd si elle n'y est pas)

isabelle

(snip)


Bonjour Isabelle,
Merci pour le tuyau, j'aurais dû y penser vu que je le conseille
régulièrement (rougissement)...

Mais, no luck... 'marche toujours pas. J'ai installé Somme
conditionnelle, utilitaire d'analyse, et UA VBA.

En faut-il d'autres ? je ne veux pas alourdir excel pour rien...

Merci d'avance !
Damien

Avatar
isabelle
oup's désolé Damien cette réponse était destiné à Soso, envoie de 12:27,
je me penche sur ton problème mais je n'ai pas encore trouvé de
solution, une en vba ferait elle l'affaire ?

isabelle



bonjour Damien,

il faut chargez la macro complémentaire Utilitaire d'analyse.
(l'installez à partir du cd si elle n'y est pas)

isabelle

(snip)


Bonjour Isabelle,
Merci pour le tuyau, j'aurais dû y penser vu que je le conseille
régulièrement (rougissement)...

Mais, no luck... 'marche toujours pas. J'ai installé Somme
conditionnelle, utilitaire d'analyse, et UA VBA.

En faut-il d'autres ? je ne veux pas alourdir excel pour rien...

Merci d'avance !
Damien



Avatar
Damien
oup's désolé Damien cette réponse était destiné à Soso, envoie de 12:27,
je me penche sur ton problème mais je n'ai pas encore trouvé de
solution, une en vba ferait elle l'affaire ?

isabelle
(snip)


Pas grave :)

Du VBA ? Hmmm, pourquoi pas... J'espérais qu'ilen serait pas nécessaire
de sortir l'artillerie lourde... Si c'est pour commencer à pondre du
code, à la limite je me met sous Delphi ou PHP :(

Je comprends pas,en fait, pourquoi ça ne marche pas... J'imagine que la
gestion des ongles à dû être rajoutée par dessus le "coeur" et que du
coup c'est mal géré ?

Bon, je continue à chercher ;)

@+
Damien

Avatar
isabelle
salut Damien,

une fonction perso dans ce cas,

Function MaSommeSi(CelluleSomme As Range, _
CelluleCritère As Range, ValeurCritère As String)
For Each f In Worksheets
If f.Range(CelluleCritère.Address) = ValeurCritère Then _
MaSommeSi = MaSommeSi + f.Range(CelluleSomme.Address)
Next
End Function

isabelle


oup's désolé Damien cette réponse était destiné à Soso, envoie de 12:27,
je me penche sur ton problème mais je n'ai pas encore trouvé de
solution, une en vba ferait elle l'affaire ?

isabelle
(snip)


Pas grave :)

Du VBA ? Hmmm, pourquoi pas... J'espérais qu'ilen serait pas nécessaire
de sortir l'artillerie lourde... Si c'est pour commencer à pondre du
code, à la limite je me met sous Delphi ou PHP :(

Je comprends pas,en fait, pourquoi ça ne marche pas... J'imagine que la
gestion des ongles à dû être rajoutée par dessus le "coeur" et que du
coup c'est mal géré ?

Bon, je continue à chercher ;)

@+
Damien



Avatar
narutobaka
isabelle a écrit le 27/07/2004 à 22h50 :
salut Damien,

une fonction perso dans ce cas,

Function MaSommeSi(CelluleSomme As Range, _
CelluleCritère As Range, ValeurCritère As String)
For Each f In Worksheets
If f.Range(CelluleCritère.Address) = ValeurCritère Then _
MaSommeSi = MaSommeSi + f.Range(CelluleSomme.Address)
Next
End Function

isabelle


oup's désolé Damien cette réponse était
destiné à Soso, envoie de 12:27,
je me penche sur ton problème mais je n'ai pas encore trouvé de
solution, une en vba ferait elle l'affaire ?

isabelle
(snip)



Pas grave :)

Du VBA ? Hmmm, pourquoi pas... J'espérais qu'ilen serait pas
nécessaire
de sortir l'artillerie lourde... Si c'est pour commencer à pondre du
code, à la limite je me met sous Delphi ou PHP :(

Je comprends pas,en fait, pourquoi ça ne marche pas... J'imagine que la
gestion des ongles à dû être rajoutée par dessus le
"coeur" et que du
coup c'est mal géré ?

Bon, je continue à chercher ;)

@+
Damien





Bonjour,

Je sais qu'il s'agit d'un message assez ancien, mais ce code m'intéresse.

Cependant je ne vois pas biens son cadre de mise en oeuvre.

Voilà ce que j'ai compris de votre code :

Pour chaque feuille du classeur
on vérifie si la valeur de la zone Cellule Critère correspond à notre critère
si c le cas on récupère la valeur de la zone Cellule Somme que l'on additionne à notre valeur de somme si.

Je ne sais pas si j'ai bien tout compris sur cette algo.

Quoiqu'il en soit je n'arrive pas à voir comment l'intégrer dans une feuille excel.

Auriez-vous un exemple d'utilisation ou une marche à suivre pour intégrer cette fonction?

cordialement.