Cumul par mois sur une autre feuille nommée dans la cellule

chris6999

XLDnaute Impliqué
Bonjour

I y a quelques jours j'avais demandé au FORUM de trouver le moyen de faire un recherchev sur une autre feuille nommée dans une cellule;
J'ai bien compris qu'il fallait utiliser la fonction Indirect.

Maintenant qu'en est-il avec la fonction SOMMEPROD?

Je m'explique :
Je suis sur une feuille cumul mensuel et j'aimerais obtenir
-pour chaque colonne C à T (pour chaque code activité RC, TC, ....)
-le cumul des valeurs pour le mois (colonne B)
-à récupérer dans la feuille individuelle de l'utilisateur nommée en B3.


Jai essayé =SIERREUR(RECHERCHEV($B5;INDIRECT("'"&$B$3&"'!$B$3:$T$1000");2;0);"")
mais bien sûr cela ne me donne pas le cumul de toutes les dates du mois de janvier.

Merci d'avance pour votre aide
 

Pièces jointes

  • TESTSuvi activité.xlsm
    299.3 KB · Affichages: 29

Nairolf

XLDnaute Accro
Salut,

Essaye en mettant la formule matricielle (validation avec CTRL+MAJ+ENTREE) suivante en C5, ensuite à recopier sur la plage cible :
=SOMME(SI(MOIS(INDIRECT("'"&$B$3&"'!$B$5:$B$53"))&ANNEE(INDIRECT("'"&$B$3&"'!$B$5:$B$53"))=MOIS($B5)&ANNEE($B5);INDEX(INDIRECT("'"&$B$3&"'!$C$5:$AA$53");;COLONNE()-2);0))​

A noter :
  • le nom de l'onglet et le texte de la cellule B3 doivent être strictement identiques.
  • la formule est à adapter selon le nombre de cellules de la plage source
 

chris6999

XLDnaute Impliqué
Bonjour à tous,

A essayer:
=SOMMEPROD((Agent1!$C$3:$T$3=C$3)*(MOIS(Agent1!$B$5:$B$53)=MOIS($B5))*(ANNEE(Agent1!$B$5:$B$53)=ANNEE($B5))*Table)


JHA

Bonjour et merci JHA mais le principe est d'intégrer à ma formule le nom de la feuille qui est mentionné en B3.
Dans ta proposition tu mets en dur le nom de l'utilisateur.
Je prendrai bien sûr cette option en dernier recours.
Donc merci à toi
 

chris6999

XLDnaute Impliqué
Bonjour et merci JHA mais le principe est d'intégrer à ma formule le nom de la feuille qui est mentionné en B3.
Dans ta proposition tu mets en dur le nom de l'utilisateur.
Je prendrai bien sûr cette option en dernier recours.
Donc merci à toi
Lorsque je teste cette formule j'obtiens un
Bonjour et merci JHA mais le principe est d'intégrer à ma formule le nom de la feuille qui est mentionné en B3.
Dans ta proposition tu mets en dur le nom de l'utilisateur.
Je prendrai bien sûr cette option en dernier recours.
Donc merci à toi


Re
Lorsque je teste cette formule j'obtiens un #NOM?
A quoi fait référence "Table"?
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Table est une plage nommée: =Agent1!$C$5:$T$53

Autrement tu as un espace en trop dans "B3", tu supprimes l'espace est tu mets la formule suivante en "C5":


=SOMMEPROD((INDIRECT($B$3&"!$C$3:$T$3")=C$3)*(MOIS(INDIRECT($B$3&"!$B$5:$B$53"))=MOIS($B5))*(ANNEE(INDIRECT($B$3&"!$B$5:$B$53"))=ANNEE($B5))*INDIRECT($B$3&"!$C$5:$T$53"))

A tirer vers la droite et vers le bas

JHA
 

Pièces jointes

  • TESTSuvi activité.xlsm
    295.4 KB · Affichages: 23

Modeste

XLDnaute Barbatruc
Re-bonjour chris,
Salut Nairolf,
Salut JHA :)

Rien à redire à la proposition de JHA, évidemment ;)

Pour celle de Nairolf, copie-colle la dans Word, par exemple et en affichant les codes non-imprimables, tu devrais voir apparaître un caractère superflu en fin de formule. En supprimant ce caractère, on peut valider la formule sans souci.
 

Nairolf

XLDnaute Accro
Modeste a répondu avant moi, il s'agit bien d'un caractère supplémentaire invisible qui pose problème.

Tu trouveras le fichier joint complété de ma solution.

Sinon, ça marche peut-être avec la formule insérée sous forme de code:
Code:
=SOMME(SI(MOIS(INDIRECT("'"&$B$3&"'!$B$5:$B$53"))&ANNEE(INDIRECT("'"&$B$3&"'!$B$5:$B$53"))=MOIS($B5)&ANNEE($B5);INDEX(INDIRECT("'"&$B$3&"'!$C$5:$AA$53");;COLONNE()-2);0))
 

Pièces jointes

  • TESTSuvi activité_Nairolf.xlsm
    297.1 KB · Affichages: 27

chris6999

XLDnaute Impliqué
Bonjour à tous

Après quelques jours de congés bien mérités je reviens vers vous pour clôturer mon post.

J'ai finalement opté pour la proposition de Jocelyn mais les corrections apportées au code initial fonctionnent aussi.
Merci encore à tous pour votre aide.
J'avoue encore avoir beaucoup de mal avec la fonction INDIRECT mais je garde espoir..

Bonne journée à tous
 

Discussions similaires

Réponses
15
Affichages
746
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 166
Messages
2 085 894
Membres
103 021
dernier inscrit
Sergyl75