Somme en fonction de plusieurs critere

Résolu/Fermé
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015 - Modifié par Shana00 le 4/09/2014 à 13:43
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015 - 12 sept. 2014 à 10:42
Bonjour,
J'aimerai faire une somme de poid en fonction de la pièce et du fournisseur , http://cjoint.com/data3/3Ienv1tBoND.htm
en regardant cette exemple on vois qu'il fait la somme pour le 1kg , pc ou L de la pièce par fournisseur , j'aimerai faire la même chose de manière automatisé , on sait pas cb il y a de pièce ou de fournisseur.
Le tableau croisé dynamique le fait sans problème mais je ne peux pas passer par un tableau croisé dynamique car j'ai besoin de la valeur pour faire un ratio directement dans ce tableau pour ensuite faire un graphique
A voir également:

14 réponses

ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
5 sept. 2014 à 15:04
Bonjour

A priori, pas besoin de macro
F2=SI(SOMMEPROD(($A$2:$A2=A2)*($B$2:$B2=B2)*($C$2:$C2=C2))>1;"";SOMMEPROD(($A$2:$A$13=A2)*($B$2:$B$13=B2)*($C$2:$C$13=C2)*($D$2:$D$13)))

Si ça ne convient pas et qu'une macro est indispensable, peux tu préciser sous quelle forme tu veux le résultat (au format excel 2003)

Cdlmnt
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
5 sept. 2014 à 15:27
Je voulais faire une macro parce que la plage de donnée n'est pas défini a l'avance elle est variable mais j'ai changé le problème voici le nouveau fichier

https://www.cjoint.com/?0IfpCaYwPvI

Je voulais faire ça ( fin maintenant désolé de changer un peu le truc )
En gros je veux que pour chaque pièce de fournisseur il additionne le poid et qu'il laisse une ligne par fournisseur/piece sans oublié qu'il peut avoir 1 fournisseur comme 10 fournisseur , pareil pour les pieces
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
6 sept. 2014 à 10:49
Tu ne dis pas comment sont calculés les prix dans le tableau Résultat
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
6 sept. 2014 à 13:18
Ils sont pas calculer , les prix sont donné comme ça par pièces du coup on peut les zapé , pas besoin de les additionner , il reste fixe
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 6/09/2014 à 13:49
Un début de réponse
J'ai supposé que les références (même_fournisseur - même_pièce) avaient le même prix

https://www.cjoint.com/?3IgnYMvQ01J

Cdlmnt
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
8 sept. 2014 à 10:39
Merci pour cette solution c'est parfait
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
8 sept. 2014 à 12:52
J'essaye de le reprendre pour mon programme mais j'avais jamais fait ce genre de programmation avec objet , j'espère savoir m'en resservir
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
8 sept. 2014 à 13:10
Bon j'ai re-adapté ton code a ma base de donnée de 16colonne , enfaite y a un petit problème .
En gros ma base de donnée est composé du nom de la pièce et de tout les petit objet qui la compose ainsi que leur poid mais certain objet n'ont pas de poids comme c'est des litre et que moi j'importe que les KG cependant j'importe tout parce que je n'ai pas besoin que du poid pour mes calcul j'ai besoin des renseignement des 16colonne , du coup j'ai des case vides et j'ai l'impression que a cause des cases vide en poids il me met 0
0

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

Posez votre question
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
8 sept. 2014 à 14:24
Tu peux peut être t'en sortir avec un petit test
Si xx="" alors machin = machin & "" sinon machin = machin & xx

Cdlmnt
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
8 sept. 2014 à 16:10
Je t'avouerai que je sais pas trop comment utiliser ton code , pour le readapter a ma situation j'ai un peu triché , en gros des 16colonne j'en ai recup 4 sur une autre feuille pour ensuite utiliser ton code donc la condition je sais pas ou la mettre
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
8 sept. 2014 à 19:45
Envoies quelques lignes de ton fichier (avec les 16 colonnes) et des explications/exemples de ce que tu attends

Cdlmnt
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
8 sept. 2014 à 20:10
https://www.cjoint.com/?0IiuikKNps6

Dans la Feuil2 , j'importe le fournisseur , le nom de la piece , le prix ainsi que le poid pour ensuite faire le ratio prix/poid , le but c'est comme tu vois dans la Feuil2 , quand le fournisseur + nom pièce est pareil , le prix est forcement pareil mais on vois que le ratio est détraque parce qu'il fait pas l'addition des poids , du coup j'aimerai faire l'addition des poids pour chaque fournisseur/nom pièce avec le même prix , par contre fait pas attention au bouton graphe j'ai pas réussi a le finir pour le moment il bug , il choisis bien le nom des fournisseur mais il arrive pas a trouvé la bonne plage de donnée propre a chaque fournisseur
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
9 sept. 2014 à 10:46
Je ne peux pas lire ton fichier il faudrait le mettre au format excel 2003 comme indiqué au post #1

Cdlmnt
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
9 sept. 2014 à 10:52
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
9 sept. 2014 à 15:59
certain objet n'ont pas de poids comme c'est des litre et que moi j'importe que les KG cependant j'importe tout parce que je n'ai pas besoin que du poid pour mes calcul j'ai besoin des renseignement des 16 colonne , du coup j'ai des case vides et j'ai l'impression que a cause des cases vide en poids il me met 0
1. dans l'extraction, effectivement la somme des poids est la valeur associée à la clé (fournisseur+piece)
Donc le 0 est normal s'il n'y a pas de poids dans la colonne poids.
c'est au niveau du remplissage du tableau TTFB qu'il faut intervenir
    If valeurs(liFB - 1) = 0 Then
TTFB(liFB, 4) = ""
Else
TTFB(liFB, 4) = valeurs(liFB - 1)
End If
est ce que j'ai bien compris?
2. Ton dernier fichier ne comporte pas d'exemple de ce type

Cdlmnt
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
9 sept. 2014 à 20:02
1. quand je remplis mon tableau de base ( la base de donnée ) j'importe tout pour pas trop chargé niveau des conditions et que pour si y a une erreur la personne puisse la voir , mon outil sers surtout a voir les erreurs de remplissage des feuilles fournisseur qui viennent alimenter la base de donnée , mais quand j'importe les valeur de la base de donnée a la feuil2 je met une condition pour qu'il importe que les KG du coup y a des poid vide vu que c'est poids sont des pc ou L

2. Oui normal mon fichier ne comporte pas ton exemple parce qu'il est dans la feuil2 normalement et comme je sais pas re utiliser ton code je ne peux pas le faire moi même sinon en gros je prend la feuil2 et ensuite je refais une feuil grâce a ton code mais j'ai pas trop passer par des intermédiaire
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
10 sept. 2014 à 16:10
Avec ce que j'ai compris
https://www.cjoint.com/?3IkqmciZwYh

RQ. Pas besoin d'extraire les 4 colonnes, j'ai travaillé directement dur la feuille Liste

Cdlmnt
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
11 sept. 2014 à 08:26
Coucou , c'est presque ça , juste qu'il faut additionné les poids seulement si unit="Kg" , qu'il soit vide ou pas , juste qu'il fait qu'il soit egale a Kg
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 11/09/2014 à 12:16
Je suppose que tu as modifié le code
au cas où

ajouter à la liste des constantes
Const coUn = "S"
et modifier ici
    cle = .Range(coNP & liFB) & ";" & .Range(coFO & liFB)
If UCase(.Range(coUn & liFB)) = "KG" Then
valeur = .Range(coPO & liFB)
Else
valeur = 0
End If

Cdlmnt
0
Shana00 Messages postés 87 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 14 octobre 2015
12 sept. 2014 à 10:42
C'est niquel un grand merci a toi ! grâce a toi j'ai presque fini mon programme , je vais tenté de trouver quelqu'un pour finir mon graphique feuil1
0