somme sur plusieurs onglets avec des critère de noms

poctoy

XLDnaute Nouveau
bonjour
j'ai plusieurs onglets avec des listes.
sur le premier onglet, une liste générale avec des noms par exemple

colonne A
citron
pomme
poire
tomate
cerise
banane

dans mon deuxième onglet, j'ai une autre liste avec qq noms seulement qui figurent dans le premier onglet, et des quantités associés, par exemple

colonne A colonne B colonne C colonne D
citron 1 4 2
tomate 0 2 1
cerise 1 0 4

dans mon troisième onglet idem
colonne A colonne B colonne C
cerise 0 1
citron 1 3
poire 1 0

ce que je souhaite, c'est que dans le premier onglet, j'ai la somme pour chaque nom des valeurs qui se trouvent dans les onglets suivants. ici ça donnerait :

colonne A colonne B
citron 11
pomme 0
poire 1
tomate 3
cerise 6
banane 0

dans la réalité j'ai plus de 500 noms dans la première page, sur les suivantes ça varie entre 100 et 300 noms et une trentaine de colonnes, donc il me faut absolument l'automatiser. en théorie ça veut dire qu'il faut qu'il recherche chaque mot figurant dans la colonne A du premier onglet dans les autres A, et qu'il additionne toutes les valeurs dans la plage de mes données.

avec la fonction recherche je m'en sors pas, donc si vous avez une solution ça serait cool. dans le temps je savais utiliser la fonction somme.prod, mais j'ai oublié...

merci beaucoup :D
A+
DJ
 

Softmama

XLDnaute Accro
Re : somme sur plusieurs onglets avec des critère de noms

Bonjour Poctoy et bienvenue sur le forum,

Une solution en pj (la somme s'effectue à chaque fois que la feuille1 est activée) :
VB:
Sub total()
Dim c As Range, d As Range, Som As Integer
Set c = Sheets(1).Range("A1")
Do While c <> ""
    Som = 0
    For t = 2 To ThisWorkbook.Sheets.Count
        Set d = Sheets(t).Columns(1).Find(what:=c.Text, LookIn:=xlValues, lookat:=xlWhole)
        If Not d Is Nothing Then Som = Som + Application.Sum(Sheets(t).Rows(d.Row))
    Next
    c(1, 2) = Som
    Set c = c(2, 1)
Loop
End Sub
 

Pièces jointes

  • Somme Feuilles.xls
    28.5 KB · Affichages: 137

poctoy

XLDnaute Nouveau
Re : somme sur plusieurs onglets avec des critère de noms

bonsoir et merci de ta réponse.
j'ai ouvert le fichier joint mais rien ne se passe sur l'onglet 1. je dois préciser qu'étant à la maison, j'utilise openoffice, alors qu'au bureau j'ai excel et c'est pour le bureau que j'en ai besoin. je ne pourrai essayer au bureau que lundi si le problème vient d'openoffice.

là j'ai ouvert le fichier, je vais sur l'onglet, rien ne s'affiche. je suis allé dans outils/macros pour essayer d'exécuter la macro. elle est dans le dossier module, j'exécute mais rien ne se passe.

peut-être que je fais pas la bonne manip. qu'entends-tu par "la somme s'effectue à chaque fois que la feuille1 est activée)"

merci de ton complément d'info.
A+
 

poctoy

XLDnaute Nouveau
Re : somme sur plusieurs onglets avec des critère de noms

j'avais pas vu qu'on pouvait joindre un fichier.
le voici ci-joint, les colonnes correspondent en fait au jour du mois...
 

Pièces jointes

  • exemple.xls
    8.5 KB · Affichages: 105
  • exemple.xls
    8.5 KB · Affichages: 108
  • exemple.xls
    8.5 KB · Affichages: 103

Softmama

XLDnaute Accro
Re : somme sur plusieurs onglets avec des critère de noms

re poctoy,

Ton fichier en retour, j'ai rien changé à la macro, à part A1 transformé en A2. Les chiffres se mettent à jour dès que tu actives la feuil1, c'est à dire, lorsque tu es sur une autre feuille, et que tu cliques sur l'onglet Feuil1 pour l'afficher.
 

Pièces jointes

  • exemple-1.xls
    25.5 KB · Affichages: 132
  • exemple-1.xls
    25.5 KB · Affichages: 134
  • exemple-1.xls
    25.5 KB · Affichages: 125

poctoy

XLDnaute Nouveau
Re : somme sur plusieurs onglets avec des critère de noms

re,
ben ça marche tjs pas grrr. ça doit venir d'openoffice, je vois pas sinon. j'ai vérifié que les macros soient actives, je clique sur feuille2 puis je reviens sur feuille1mais rien ne se passe.
j'essaierai dimanche, je dois récupérer un portable avec excel, je verrai si ça marché. je posterai la réponse.
merci bien
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : somme sur plusieurs onglets avec des critère de noms

Bonjour,

Formules
=SOMMEPROD(SOMME.SI(INDIRECT("'"&NomsFeuilles&"'!A2:A10");A2;DECALER(INDIRECT("'"&NomsFeuilles&"'!B2:B10");0;COLONNE(A:AE)-1)))

VBA

=S3D(2; 3; "A2:A10";A2; "B2:B10";31)

Code:
Function S3D(début, fin, champCritère, critère, champSomme, nbCol)
  tot = 0
  For s = début To fin
    For c = 1 To nbCol
      tot = tot + Application.SumIf(Sheets(s).Range(champCritère), critère, Sheets(s).Range(champSomme).Offset(, c - 1))
    Next c
  Next s
  S3D = tot
End Function

JB
 

Pièces jointes

  • S3DConditionChampMultiColonnes.xls
    34 KB · Affichages: 136
  • S3DConditionChampMultiColonnes2.xls
    32.5 KB · Affichages: 111
Dernière édition:

poctoy

XLDnaute Nouveau
Re : somme sur plusieurs onglets avec des critère de noms

Bonjour,

Formules
=SOMMEPROD(SOMME.SI(INDIRECT("'"&NomsFeuilles&"'!A2:A10");A2;DECALER(INDIRECT("'"&NomsFeuilles&"'!B2:B10");0;COLONNE(A:AE)-1)))

peux-tu être plus explicite stp, je comprends pas la formule et qd j'ouvre le premier fichier ça me met #macro ?
faut-il que je copie la macro, l'exécuter???

VBA

=S3D(2; 3; "A2:A10";A2; "B2:B10";31)

Code:
Function S3D(début, fin, champCritère, critère, champSomme, nbCol)
  tot = 0
  For s = début To fin
    For c = 1 To nbCol
      tot = tot + Application.SumIf(Sheets(s).Range(champCritère), critère, Sheets(s).Range(champSomme).Offset(, c - 1))
    Next c
  Next s
  S3D = tot
End Function

quand j'ouvre le deuxième fichier, ça me met erreur 504 dans la colonne de résultat.
faut-il remplacer &nomfeuille& par Feuille1, feuille 2?
désolé mais j'ai du mal à traduire la formule donc à la corriger, quand aux macros, j'y comprends rien donc pas facile à lire et comprendre ces solutions. :confused:

merci de tes précisions si tu peux. :rolleyes:
A+
 

poctoy

XLDnaute Nouveau
Re : somme sur plusieurs onglets avec des critère de noms

bonjour, :)
comme promis voici le fichier d'origine pour que vous puissiez comprendre ce que je souhaite.
J'ai donc 1 feuille "recap" et 4 onglet pour 4 mois.
dans l'onglet recap j'ai une liste de nom globale (il s'agit de la liste de tous les enfants inscrits dans un CLAE).
dans les onglets des mois, j'ai leurs présence les mercredis de chaque mois, certains ne viennent plus, certains viennent de tps en tps, d'autres tous les mercredis selon les mois.

on fait des pointages par période de 2 mois (hors vacances, c'est pour ça que certains mercredis n'apparaissent pas, ils sont comptabilisés dans un autre tableau.)

ce que je souhaite :
- avoir dans la feuille recap, dans la colonne "presence sep/oct 2010", la somme des présences de ces 2 mois pour chaque enfant. par exemple pour le premier enfant, il aura un total de 0. le premier enfant à avoir un total différent de 0 est Arnaudet tristant qui aura un total de 3 pour ces 2 mois...

puis idem pour "présence nov/dec 2010", avoir les sommes des présences pour ces 2 mois.

la difficulté que je vois c'est que dans l'onglet recap les noms et prenoms des enfants sont dans 2 champs différents, alors que dans les onglets des mois il n'y a qu'une seule cellule. je ne peux pas faire autrement, il s'agit d'extraction d'un logiciel qui me sors les listes comme ça... mais je sais qu'il y a moyen de fusionner les 2 champs "nom" et "prenom" dans une seule cellule pour faciliter ?

ensuite, remarque importante, là il s'agit du fichier où je dois pointer les mercredis, donc au maximum il y a 4 dates. sur un autre fichier, je vais pointer les présences des enfants à la garderie le matin et le soir tous les jours du mois (hors mercredi et hors vacances...), donc il y aura selon les mois entre 20 et 26 colonnes.
je vous dis ça pour que votre solution puisse s'adapter à tous les tableaux quelque soit leur taille et le nombre de colonnes.

voilà, merci beaucoup, à votre disposition si vous avez besoin de compléments. :)
 

Pièces jointes

  • Accueil (importé) simple.xls
    42 KB · Affichages: 239
  • Accueil (importé) simple.xls
    42 KB · Affichages: 251
  • Accueil (importé) simple.xls
    42 KB · Affichages: 259

Discussions similaires

Réponses
24
Affichages
789

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino