Création de listes par date

Résolu/Fermé
Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 - 16 avril 2015 à 16:51
Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 - 14 mai 2015 à 15:15
Bonjour,

Dans un classeur Excel, j'ai 3 feuilles, la première contient :
[URL=http://www.hostingpics.net/viewer.php?id=22374897x1.jpg][IMG]http://img11.hostingpics.net/pics/22374897x1.jpg/IMG[/URL]
A partir de ce tableau je veux que dans les feuilles 2 et 3 les tableaux suivants soient automatiquement enrichis... mais je n'y arrive pas. Pouvez-vous m'aider ?
[URL=http://www.hostingpics.net/viewer.php?id=85674640x2.jpg][IMG]http://img11.hostingpics.net/pics/85674640x2.jpg/IMG[/URL]
[URL=http://www.hostingpics.net/viewer.php?id=48800622x3.jpg][IMG]http://img11.hostingpics.net/pics/48800622x3.jpg/IMG[/URL]


8 réponses

Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 227
16 avril 2015 à 18:09
En fait j'ai trouvé. Ca intéressera peut-être quelqu'un alors je dis ce que j'ai fait.

D'abord je nomme "plage" la plage A2:A20 de Feuil1.

Dans Feuil2 je crée les colonnes intermédiaires B et C qui seront masquées, le résultat apparaîtra dans la colonne D. Je pourrais m'en passer mais la formule finale est plutôt lourde...

Formules :

pour B2
=NB.SI(plage;A2)

pour C2
=EQUIV(A2;plage;0)

pour D2
=SI(ESTERREUR(C2);0;SOMME(DECALER(Feuil1!B$2;Feuil2!C2-1;0;Feuil2!B2;1)))

Dans Feuil3, idem avec MAX à la place de SOMME.

Ça marche mais c'est bien compliqué. Quelqu'un connaît-il plus simple ? Avec du calcul matriciel ?
Je laisse le fil ouvert pour le cas où quelqu'un aurait une idée plus simple.
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
16 avril 2015 à 19:03
Bonjour,
Pour le total par jour en Feuil2!B2
=SOMMEPROD((Feuil1!$A$2:$A$20=A2)*(Feuil1!$B$2:$B$20))
À recopier
Pour le maxi par jour en Feuil3!B2 une matricielle à valider par Ctrl+Shift+Enter
=MAX(SI(Feuil1!$A$2:$A$20=A2;Feuil1!$B$2:$B$20;0))
À recopier.

Note personnelle:la bonne solution est celle que l'on maitrise bien;-)
0
Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 227
16 avril 2015 à 19:11
Super, Tontong, merci beaucoup, c'est mieux que ce que j'ai fait.

Bonne soirée.
0
Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 227
16 avril 2015 à 20:47
Rebonjour Tontong,

Je ne connais pas ça :
(Feuil1!$A$2:$A$20=A2)

c'est une colonne comportant des VRAI et des FAUX ?
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
17 avril 2015 à 11:57
Ce ne sera une colonne avec des Vrai et des Faux que lorsque cette condition sera effectuée dans une matricielle. Sommeprod est une matricielle cachée sous l'aspect d'une fonction ordinaire et validée comme telle avec Enter.
On peut écrire (Feuil1!$A$2:$A$20=Feuil2!A2) ou (maplage=Feuil2!A2) si Feuil1!$A$2:$A$20 a été nommé maplage.
0

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

Posez votre question
Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 227
16 avril 2015 à 20:54
Pourquoi n'écrit-on pas
=SOMMEPROD((Feuil1!$A$2:$A$20=A2);(Feuil1!$B$2:$B$20))
?
Dans l'outil de saisie de fonction on doit saisir successiement 2 plages...
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
17 avril 2015 à 12:09
Pourquoi n'écrit-on pas
=SOMMEPROD((Feuil1!$A$2:$A$20=A2);(Feuil1!$B$2:$B$20))

parce que ce n'est pas correct lorsque la fonction veut effectuer les produits avant d'en faire la somme.
Il faut transformer la première condition.
On pourrait écrire:
=SOMMEPROD(--(Feuil1!$A$2:$A$20=Feuil2!A2);Feuil1!$B$2:$B$20) ou
=SOMMEPROD(--(Feuil1!$A$2:$A$20=A2);Feuil1!$B$2:$B$20) ou
=SOMMEPROD((Feuil1!$A$2:$A$20=Feuil2!A2)*1;Feuil1!$B$2:$B$20) ou
=SOMMEPROD((Feuil1!$A$2:$A$20=A2)*Feuil1!$B$2:$B$20) ou
...On peut en trouver d'autres.
Nota l'opérateur --( ) est équivalent à ( )*1
0
Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 227
14 mai 2015 à 13:57
Bonjour Tontong,

J'ai été absent d'Internet pendant longtemps ! Alors excuse mon silence.

Je vais regarder ta réponse mais ça m'a l'air compliqué !!
LR
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
14 mai 2015 à 15:08
Bonjour,
Ce n'est pas très compliqué, ce n'est qu'un problème de syntaxe avec une fonction qui fonctionne comme une matricielle. La syntaxe de base proposée par l'assistant de fonction: Sommeprod(champA;champB), va faire la somme des produits soit (A1*B1)+(A2*B2)+(A3*B3).

Pour exprimer une condition sur l'un des champs il faut adapter la syntaxe.
Essayez de faire un petit exemple:
A1 =10 A2=20 A3=30
B1=1 B2=2 B3=3
=SOMMEPROD(A1:A3;B1:B3) --> 140
=SOMMEPROD((A1:A3=A1)*1;B1:B3) -->1 (*1 effectue la condition)
=SOMMEPROD((A1:A3=A1);B1:B3) -->0

Vous pouvez essayer les syntaxes suggérée au #7, je ne les ai citées que parce qu'on peut les rencontrer, à chacun ses petites manies.
0
Licorne rose Messages postés 997 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 18 janvier 2024 227
14 mai 2015 à 15:15
Super, merci Tontong, mille mercis pour ta gentillesse.
Demain je ferai dans l'ordre tout ce que tu as dit, cette fonction est vraiment intéressante.
0