[EXCEL] Somme à plusieurs conditions

Résolu/Fermé
Eric - 14 juil. 2008 à 19:30
just1xpa2 Messages postés 1603 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 3 février 2013 - 15 juil. 2008 à 19:37
Bonjour à tous,

Je cherche à calculer avec Excel une somme avec 2 conditions dont une qui n'est assez particulière je pense. Je m'explique, je voudrais connnaitre le nombre total de commandes (on va dire qui se trouve dans la colonne C) pour tous les produits (colonne B) qui font partiie de la catégorie 1 (colonne A) et qui contiennent le mot Paris. Donc j'ai besoin d'une formule qui me dit pour chaque produit si A=1 et si bien B contient Paris alors je cumule C.

Là où je bloque, c'est que dans les noms des produits, il y a aucune expression qui contient exclusivement le nom Paris ou d'une autre ville, il s'agit uniquement d'expressions style achat voiture paris, voiture bleu lyon, véhicule paris auxquels est associé un nombre de commande. Donc il me faut une formule qui arrive à prendre en compte une partie de la description du produit et non pas sa globalité.

Pour récapituler:
Colonne A = catégorie du véhicule (numérique)
Colonne B = descriptif de la demande (textuel)
Colonne C = nombre de commandes (numérique)

Si quelqu'un a une idée, un GROS merci parce que là je bloque !

Bye

Eric
A voir également:

12 réponses

Utilisateur anonyme
14 juil. 2008 à 19:37
Bonjour, je pratique peu les tableurs, mais je ferais plutôt une suggestion : pour gérer ce genre de cas, une base de données est plus appropriée. Dans une base de données, tu peux réellement créer des applications très complexes avec des totaux, des statistiques, des recherches puissantes. Tu as Access? C'est une bonne base de données et on peut imprimer des feuilles assez complexes visuellement sans trop se casser la tête.

Je sais, ça ne t'aide pas vraiment ce que je dis, mais j'essaie de diriger vers la bonne voie pour traiter ce genre de problèmes. Là je peux t'aider à concevoir les données facilement, par exemple.
0
swann99e Messages postés 250 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 17 février 2013 7
14 juil. 2008 à 19:39
oui
access vaux le coup d'etre utiliser pour un travail organiser.
0
just1xpa2 Messages postés 1603 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 3 février 2013 196
14 juil. 2008 à 19:47
bonjour, avec le fractionnement et le filtre automatique , cela devrait aller en principe, et au finale, il ne te resterais que les lignes concernés à la fin de tes choix, tu peut aussi rajouter trois colonne , supplementaires, avec dispo , entrée et sorti, pour completer, et eventuellement mettre une colonne date... pour affiner
0
Le truc c'est qu'à partir du fichier initial (c'est pas moi non plus qui l'ai créé), j'ai besoin de faire un tableau récapitulatif des commandes pour chaque catégorie de véhicule selon les villes, et comme il y a des milliers d'entrées, j'ai pas trop envie de remanier complètement le document ni de la passer sous Access surtout que je me rappelle plus trop comment ca fonctionne ! Donc il faut que ce tableau soit automatisé de manière à ce qu'il se remette à jour à chaque fois qu'une modification y est apportée.
0
just1xpa2 Messages postés 1603 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 3 février 2013 196
14 juil. 2008 à 20:14
pourrai tu mettre un bout du fichier, environ 500 lignes , que l'on voit ce que l'on peut faire
de plus, ton classeur est il en relation ou sur plusieurs feuille, ou en plusieurs endroit different


https://www.cjoint.com/
0
Ok j'ai super simplifié le doc vu qu'il s'agit là d'info que je peux pas vraiment dévoiler, donc il reste juste les parties qui nous intéressent !

J'ai surligné en bleu les cas qui remplissent les 2 conditions à savoir la colonne A = 1 et la colonne B contient Paris, logiquement le résultat que je cherche à obtenir est 21, ce qui correspondrait au nombre des commandes concernant les cas remplissant les conditions.

Ah oui le lien peut-etre :D : https://www.cjoint.com/?houDMMnGgG

J'avais déjà commencé à chercher la solution avec une formule matricielle style =SOMME((A2:A28=1)*(B2:B28="voiture paris")*(C2:C28)) ... on valide en appuyant sur Ctrl+Maj+Enter. Le problème avec cette formule est que j'ai besoin de rentrer la description exate et non pas juste la ville donc au final ca m'aide pas vraiment.

Si vous avez des idées... :D
0

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

Posez votre question
just1xpa2 Messages postés 1603 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 3 février 2013 196
14 juil. 2008 à 20:55
https://www.cjoint.com/?houYFKG6ir
voila a ce que je pensais , pour moi, utilisant ce principe dans de la gestion de stock, sur des profil, et avec des couleurs differentes sur une base de plus de 300 reference, dans 10 teintes minimum, et a divers endroit, je trouve que cela est rapide, en plus, tu peut personnalisé ta recherche dans chaque colonne, a bientôt

0
Le truc c'est que c pas trop ce que je cherche, sur le fichier initial il y a aussi plusieurs couleurs et les volets sont figés. Je veux juste faire un tableau récapitutif m'indiquant en un coup d'oeil les infos dont on a besoin et pas des astuces pour naviguer plus aisément dans la fichier.

Au final, mon tableau devrait ressembler à un quelque chose comme-ci :

total de commande de voiture de catégorie 1 sur Paris : (en l'occurence 21)
total de commande de voiture de catégorie 2 sur Paris :
total de commande de voiture de catégorie 3 sur Paris :
total de commande de voiture de catégorie 1 sur Nantes :
etc...
0
just1xpa2 Messages postés 1603 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 3 février 2013 196
14 juil. 2008 à 21:53
j'ai modifier le tableau evacl'ajout de 4 colonnes, et meme sur ce principte, tu a encore trop de conditionnel pour parvenir a ta demande final, sans meme pouvoir savoir la quantité totals par selection, ton fichier initiale est trop aleatoire, ci joint fichier modifier, mais une reprise totale de tes donnée serais necessaire
https://www.cjoint.com/?hovXkMkmRE
mais a cette seule condition tu pourras voir a envisager la comptabilisation de ce que tu veux..
bonne soirée
0
Merci de donner du mal pour moi en tout cas... donc tu penses que je dois obligatoirement rajouter une colonne avec les lieux pour obtenir mon résultat? Parce que c'est plus ou moins ce que je voudrais éviter mais bon ca doit etre un mal nécessaire comme on dit.

Je trouve ca quand meme bizarre qu'il n'y ait pas une sorte d'astuce pour dire voila si tu trouves ce mot là dans cette cellule alors tu prends en compte le chiffre de telle autre cellule. Je vais continuer de me renseigner encore un peu et si je trouve rien j'adopterai ta solution.

Merci encore une fois.
0
just1xpa2 Messages postés 1603 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 3 février 2013 196 > Eric
15 juil. 2008 à 19:37
bonsoir, comme tu dit, mais il faut essayer de saisir toujours de la meme facon les données, c'est un peu comme si tu prend 4 chiffres, que tu les mettes dans n'importe quel ordre a chaque fois, tu a un minimum de 16 solution, plus si tu n'en saisie que trois ou deux par exemple, c'etait pour cela que ton fichier est aléatoire, , , si ce n'est pas toi aqui a fait le fichier de base, demande a la personne qui l'a fait de le modifier, pour ton bien...
sur ce ,bon courage, je suivait simplement ce post , sans autre commentaire....
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
15 juil. 2008 à 03:43
Bonjour,
Une petite solution avec une fonction...
https://www.cjoint.com/?hpdOdcSVqm
A+
0
Steefif Messages postés 485 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 15 février 2013 19
15 juil. 2008 à 08:13
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="=*paris*", Operator:=xlAnd
Selection.AutoFilter


ca va filterer les éléments contenant paris
maintenant je vais voir si je peux me servir de ca pour faire le calcul demandé
0
Steefif Messages postés 485 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 15 février 2013 19
15 juil. 2008 à 08:32
Sheets(Feuil1").activate
for i = 1 to Cells(Rows.Count, 1).End(xlUp).Row
Set check_data = Sheets("Feuil1").Columns(2).Find(What:="paris", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False)
If Not check_data Is Nothing Then
check_data.Offset(0, 1).Value = 1
End If
Next i


Alors ce programme te permet de parcourir la colone 2 de ta feuille 1 et de chercher les cellule contenant paris dans une partie de leur contenu (je ne suis pas sur a 100% des guillemets autour d'ailleurs) et ca met la valeur 1 dans la colone à droite de la celule ou il a trouvé paris il ne reste plus ensuite qu'a faire la somme des éléments de cette colonne.
Tu peux aussi t'assurer une sécurité en faisant un petit test sur quelques valeurs.
Tu peux encore effacer la colonne permettant de faire la somme à chaque lancement du programme (cela permet d'effacer les 1 mal placés en cas de MAJ des données.
Tu peux encore revenir ici si ce programme ne marche pas.
voila!

bonne journée a toi en tout cas
0
Salut à tous et merci pour vos réponses,

C'est bon, on a trouvé la solution avec cette formule :

=SOMMEPROD((A2:A28=1)*ESTNUM(CHERCHE("paris";B2:B28))*C2:C28)

Comme ca je peux savoir le nombre de commandes sur Paris pour les voitures de catégorie 1. J'ai plus qu'à appliquer des variantes de cette formule en fonction des autres combinaisons que je cherche.

Merci à tous
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
15 juil. 2008 à 11:37
Tu a essayé le classeur que je t'ai passé ?
0
Oui je l'ai essayé et ca donne les memes résultats que l'autre formule, le problème étant que le nom de la ville ou d'un autre terme que je pourrais rechercher ne sera pas toujours en dernière position (le tableau que j'ai fourni étant une version ultra simplifiée de celui sur lequel je travaille). De plus, je suis vraiment pas expert Excel donc si j'ai la possibilité d'éviter les macros, je préfère parce que je serai incapable de retoucher la formule si nécessaire, je suis meme pas sur d'etre capable de transférer ta solution sur mon tableur !

Merci bien en tout cas.
0
swann99e Messages postés 250 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 17 février 2013 7
14 juil. 2008 à 19:33
bonjour,
pour connaitre un total de la collone C par exemple, tu as la formule =somme(C1; CXXXXXXX)
-1
Oui le problème c pas de savoir le total de la colonne C pour toutes les descriptions en colonne B, mais le total de la colonne C pour les descriptions qui répondent aux 2 conditions. La première condition pose pas de problème (A2:A99=1) ca passe mais je peux pas faire (B2:B99="paris") parce qu'aucune descprition ne contient uniquement le mot paris d'où mon problème. Donc j'ai besoin d'un truc qui me dise (B2:B99 contient "paris"), c'est tout ! :D
0