XL 2013 Somme de produits en face chaque client

memed31

XLDnaute Nouveau
Bonjour,

Je reposte un message concernant mon problème je crois qu'hier il y a eu quelques bug avec mon fichier d'origine.

Donc pour faire simple j'ai une macro qui me permet de créer une fiche client avec Nom, Prénom ... ainsi que des options de prestations que je peux choisir via un menu déroulant lors de la création de la fiche client. Je valide et là tout fonctionne bien. La ligne se créée et j'aimerais en fonction de chaque option choisie par client que je puisse avoir le total de la prestation dans la case totale.
Mon souci est que je ne vois pas quelle formule je peux utiliser. Je vous avoue que je fatigue un peu car ça fait une semaine que je bidouille et je crois que mes neurones ont besoin de repos. Je suis sur que lorsque je verrais vos réponses ça sera comme une évidence ou peut être est ce une formule que je n'ai jamais travaillé. J'ai tenté avec somme.si et Somme.si.ens mais rien à faire.

Vous trouverez en colonne AA un tableau avec des exemples bidons. je voudrais faire le lien donc entre ce tableau et ce qu'il y a dans le choix de chaque client. je ne sais pas si c'est clair mais je reste à votre dispo si jamais quelque chose n'est pas clair.

voila l'exemple du fichier

et Je vous remercie par avance
 

Pièces jointes

  • test fiche clients.xlsx
    14.2 KB · Affichages: 17

Rouge

XLDnaute Impliqué
Bonjour,

Si j'ai bien compris, j'ai converti le petit tableau en tableau structuré
VB:
=SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 1]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 1]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 2]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 2]]);($AC$2:$AC$11))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 3]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 3]]);($AC$2:$AC$11))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 4]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 4]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 5]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 5]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 6]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 6]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 7]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 7]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 8]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 8]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 9]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 9]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 10]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 10]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 11]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 11]]);(Tableau2[Prix]))

Cdlt
 

Pièces jointes

  • memed31_Somme de produits en face chaque client.xlsx
    14.3 KB · Affichages: 4

Dugenou

XLDnaute Barbatruc
Bonjour,
Pas certain de bien comprendre ce que vous voulez : le total en € des prestations indiquées en option1, 2 etc ?
voir pj avec sommeprod.
Cordialement
 

Pièces jointes

  • memed31 test fiche clients.xlsx
    15.7 KB · Affichages: 6

memed31

XLDnaute Nouveau
Bonjour,

Si j'ai bien compris, j'ai converti le petit tableau en tableau structuré
VB:
=SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 1]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 1]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 2]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 2]]);($AC$2:$AC$11))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 3]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 3]]);($AC$2:$AC$11))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 4]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 4]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 5]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 5]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 6]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 6]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 7]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 7]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 8]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 8]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 9]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 9]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 10]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 10]]);(Tableau2[Prix]))+
SOMMEPROD((Tableau2[Options]=Tableau1[[#En-têtes];[Option 11]])*(Tableau2[Prestations]=Tableau1[[#Cette ligne];[Option 11]]);(Tableau2[Prix]))

Cdlt
Merci beaucoup pour ces lignes j'étais trop loin du compte. Ca fonctionne bien sur le fichier que vous m'avez envoyé mais ça ne fonctionne pas du coup sur le fichier que j'ai construit de bas j'ai un message d'erreur.

1617284799925.png


est ce que vous savez d'où cela pourrait provenir ?
merci d'avance.
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 008
Membres
101 864
dernier inscrit
elrecruiter