VBA - Somme de prix qui ont la même référence de commande
Bonjour,
J'utilise un tableau Excel dans lequel un numéro de commande est saisi, celui ci est compléter d'un numéro d'article avec un prix unitaire et une quantité, le calcul du prix total ce fait directement dans le tableau.
Une même commande peut-être composées de plusieurs articles et donc de plusieurs prix totaux pour un seul numéro.
Actuellement un mail se génère grâce à une macro, il reprend les informations de la commande, mon but est de faire en sorte que le mail reprenne le montant total de la commande, donc une somme de tous les prix totaux des articles correspondants à un même numéro de commande.
Sachant que pour remplir les lignes du tableau l'utilisateur rempli un userform qui lui demande notamment combien d'article comporte la commande.
Par exemple : J'aimerais que dans le mail générer grâce à une macro le total de la Commande numéro 001 soit égal à 300€. (Actuellement je n'arrive à lui faire afficher uniquement la dernière valeur soit 200€
Pourriez-vous m'aider à compléter ma macro pour arriver au résultat souhaité ?
Merci !
Bonjour,
Sans fichier représentatif difficile de vous répondre avec exactitude, donc à adapter à votre fichier. Vous stockez le résultat dans une variable (ici TOTAL) et insérez cette variable dans votre corps de mail. Je suis parti du principe que votre référence était saisie dans une TextBox et que vous vous trouviez sur la feuille représentée par votre capture d'écran lorsque vous cliquez sur le bouton de validation :
TOTAL = Application.Evaluate("=SUMIF(A:A," & Me.TextBox1 & ",E:E)")Cdlt,
Bonjour,
Je vous remercie pour votre réponse, mais je n'ai pas l'impression qu'elle soit adapté au code qui à été développé pour le fichier.
J'ai essayé de simplifier ma demande dans le premier post mais en réalité le ficher est un peu plus complexe.
Je vous transmet donc le fichier que j'ai quand même simplifié, j'ai uniquement laisser la feuille concernant les commandes ainsi que les modules et userform qui nous intéressent (alors que normalement d'autres tableau sont gérer sur d'autres feuilles.
Voici donc la démarche d'utilisation :
Ps : Il y a des corrections par rapport à ce que je vous ai présenté dans mon premier post
L'utilisateur clique sur le bouton "Commande" en bleu en haut à gauche pour entrer une nouvelle commande. Le code lui demande de renseigner le numéro d'affaire qui est normalement présent dans la feuille devis du classeur (ici supprimer), le code viens alors récupérer les informations présente dans le tableau des devis ainsi que les informations supplémentaires rentrées par l'utilisateur grâce à des userforms.
Dans l'ordre voici le premier dans lequel l'utilisateur renseigne le nombre de poste qui peut correspondre pour simplifié à des numéro d'article. Le lieu de livraison est normalement une liste déroulante qui prend pour source une feuille "Liste" (ici supprimer).
Une fois que l'utilisateur clique sur ajouter le deuxième userform s'affiche.
Grâce à tous ses éléments le tableau se rempli.
A la fin (dans le code de l'userform Commande_Commande) un mail est générer pour prévenir la personne en charge de l'affaire que la commande à bien été saisi dans le tableau, on en profite pour faire un rappel des infos de la commande, notamment de son prix total. Puisque le numéro de référence est celui de l'affaire, il faut que le mail concernant l'affaire reprenne bien la somme de tous les montant totaux de tous les postes qui concernent le même numéro d'affaire.
Ps : une particularité du fonctionnement de ce code c'est que les colonnes ont des noms qui sont définis dans le module variable ce qui permet de se repérer dans le code grâce à des noms. J'aimerais si possible un code qui s'adapte à ce système.
Si vous pouvez me trouver une solution ça serait vraiment super !
Bonjour,
Désolé le fichier est inutile en l'état, je clic sur commande > message d'erreur, je clic sur les userform > aucune réactivité. Car il manque des feuilles, probablement des données, et je ne me vois pas compléter les trous du fichier pour le reconstituer et réussir à faire fonctionner vos codes.
Vous perdrez moins de temps à adapter la ligne que je vous ai fourni. C'est un simple SOMME.SI a stocker dans une variable et à intégrer dans votre mail.
Bon courage.
Cdlt,
Re Bonjour,
Merci beaucoup pour le temps que vous m'avez accordé, effectivement ce n'est pas facile avec une partie du code manquant, mais je n'ai pas l'autorisation de communiquer les tableaux en leur état d'origine.
Je vais essayer d'adapter la formule que vous m'avez communiqué.
Merci encore.