Somme des produit de deux colonne
Résolu/Fermé
A voir également:
- Excel multiplier deux colonnes
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Fusionner deux colonnes excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
11 réponses
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
26 sept. 2017 à 20:13
26 sept. 2017 à 20:13
1. L'objectf est un peu atteint malgré des erreurs inattendues des varibles.
Peux tu en dire plus ?
2. J'avoue que je comprend pas trop la syntaxe utilisee pour l'initialisation
Voir le commentaire
3. Quelques modification histoire de faire plus propre. J'ai aussi supprimé ta ligne de calcul de Bilan qui avait échappé aux ciseaux
Cdlmnt
Peux tu en dire plus ?
2. J'avoue que je comprend pas trop la syntaxe utilisee pour l'initialisation
Voir le commentaire
3. Quelques modification histoire de faire plus propre. J'ai aussi supprimé ta ligne de calcul de Bilan qui avait échappé aux ciseaux
' un tableau par catégorie de textbox Dim TE(1 To 10) As String ' equipements Dim Tp(1 To 10) As Single ' puissances Dim Tq(1 To 10) As Single ' quantites ' initialisation des tableaux depuis les textbox ' la propriété Controls permet d'acceder aux textbox via leur nom Sub initT() Dim k As Byte For k = 1 To 10 TE(k) = Me.Controls("txtE" & k).Text Tp(k) = Val(Me.Controls("txtp" & k).Text) Tq(k) = Val(Me.Controls("txtq" & k).Text) Next k End Sub ' transfert des tableaux vers feuille Source Private Sub btnAjout_Click() Dim lideb As Long, k As Long Call initT With Sheets("Source") lideb = 4 '.Range("A" & Rows.Count).End(xlUp).Row If lideb < 2 Then lideb = 2 For k = 1 To 10 .Range("A" & lideb + k - 1).Value = TE(k) .Range("B" & lideb + k - 1).Value = Tp(k) .Range("C" & lideb + k - 1).Value = Tq(k) Next k End With End Sub ' calcul bilan Private Sub btnPuissance_Click() Dim k As Byte, Bilan As Single Bilan = 0 Call initT For k = 1 To 10 Bilan = Bilan + Val(Tq(k)) * Val(Tp(k)) Next k MsgBox " Le bilan de puissance est : " & Bilan End Sub
Cdlmnt
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 413
Modifié le 22 sept. 2017 à 07:27
Modifié le 22 sept. 2017 à 07:27
bonjour
tout dépend de ce que vous voulez faire
s'il s'agit simplement de faire le total des produits lignes par ligne de deux colonnes:
soit colonne A par colonne B de ligne 1 à ligne 100 par exemple, à adapter:
simplement:
=SOMMEPROD((A1:A100)*(B1:B100))
Avec des Excel récents, cette formule peut fonctionner avec des hauteurs "totales" de champ (A:A ou B:B)
Toutefois vu qu'elle est assez lourde, mieux vaut limiter au minimum utile nombre de lignes.
mais si vous voulez soumettre ces opérations à d'autres conditions , revenez avec plus d'explications
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
tout dépend de ce que vous voulez faire
s'il s'agit simplement de faire le total des produits lignes par ligne de deux colonnes:
soit colonne A par colonne B de ligne 1 à ligne 100 par exemple, à adapter:
simplement:
=SOMMEPROD((A1:A100)*(B1:B100))
Avec des Excel récents, cette formule peut fonctionner avec des hauteurs "totales" de champ (A:A ou B:B)
Toutefois vu qu'elle est assez lourde, mieux vaut limiter au minimum utile nombre de lignes.
mais si vous voulez soumettre ces opérations à d'autres conditions , revenez avec plus d'explications
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
Oui Vaucluse, il s'agit bien de faire le total des produits lignes par ligne de deux colonnes.
La formule que vous m'avez donnée est - elle valable aussi sur VBA car la synthase ressemble a celle du classeur excel.
si possible puis je avoir un exemple sur VBA.
Merci davance
La formule que vous m'avez donnée est - elle valable aussi sur VBA car la synthase ressemble a celle du classeur excel.
si possible puis je avoir un exemple sur VBA.
Merci davance
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
22 sept. 2017 à 14:58
22 sept. 2017 à 14:58
Bonjour elzo
Salut Vaucluse, ca va ? ;o)
je ne vois pas trop l'intér^t d'utiliser VBA mais si si ta plage n'est pas trop grande
Salut Vaucluse, ca va ? ;o)
je ne vois pas trop l'intér^t d'utiliser VBA mais si si ta plage n'est pas trop grande
MsgBox [SumProduct((A2:A200)*(B2:B200))]
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour la précision Michel,
J'utilise VBA pour faire un formulaire qui fait la somme de produit en donnant le résultat apres avoir cliqué sur un bouton.
Merci pour les reponses
J'utilise VBA pour faire un formulaire qui fait la somme de produit en donnant le résultat apres avoir cliqué sur un bouton.
Merci pour les reponses
Bonjour
Au fait je suis entrain de faire un formulaire Userform qui comporte 2 colonne (TextBox) a partir desquels je veux faire leur somme de produit.
1erement, j'ai posé ma formule pour le calcul. mais je constate que s'il ya pas d'entree dans une des plage des colonne, le calcul ne passe pas.
Sur ceux je sollicite votre aide.
2ement, le meme probleme je le constate dans les plages d'exel car apres avoir entrer les donnees dans le userform, je l'enregistre dans une base de donnees sous forme de tableau. une fois enregistré, je procede au calcul de leur SOMMEPROD. celle-ci ne passe pas aussi.
je suis disponible pour éventuels details afin de resoudre mon probleme car cela fait partie de mon Projet de fin d'etude.
merci d'avance
Au fait je suis entrain de faire un formulaire Userform qui comporte 2 colonne (TextBox) a partir desquels je veux faire leur somme de produit.
1erement, j'ai posé ma formule pour le calcul. mais je constate que s'il ya pas d'entree dans une des plage des colonne, le calcul ne passe pas.
Sur ceux je sollicite votre aide.
2ement, le meme probleme je le constate dans les plages d'exel car apres avoir entrer les donnees dans le userform, je l'enregistre dans une base de donnees sous forme de tableau. une fois enregistré, je procede au calcul de leur SOMMEPROD. celle-ci ne passe pas aussi.
je suis disponible pour éventuels details afin de resoudre mon probleme car cela fait partie de mon Projet de fin d'etude.
merci d'avance
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
26 sept. 2017 à 10:35
26 sept. 2017 à 10:35
Bonjour,
questions:
1/Ton projet de fin d'études: études +/- informatique ou non ?
2/ nombre de lignes (environ) de la base de données
suis absent cet aprèm et demain matin...
Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic coller le raccourci dans votre message
questions:
1/Ton projet de fin d'études: études +/- informatique ou non ?
2/ nombre de lignes (environ) de la base de données
suis absent cet aprèm et demain matin...
Elzo
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
26 sept. 2017 à 13:39
26 sept. 2017 à 13:39
Mon projet consiste a faire un outil de suivi de consommation d'energie electrique via VBA. Sur ceux je dois faire des formulaire pour l'execution du programme.
Actuellement je suis sur le premier formulaire qui consiste a faire un bilan de puissance composé de 2 colonne de 10 ligne a faire leur somme de produit.
Ci apres le lien de téléchargement du fichier avec comme mot de passe : formulaire
Merci d'avance
https://mon-partage.fr/f/nzR5h1kU/
Actuellement je suis sur le premier formulaire qui consiste a faire un bilan de puissance composé de 2 colonne de 10 ligne a faire leur somme de produit.
Ci apres le lien de téléchargement du fichier avec comme mot de passe : formulaire
Merci d'avance
https://mon-partage.fr/f/nzR5h1kU/
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
26 sept. 2017 à 14:46
26 sept. 2017 à 14:46
Bonjour
En attendant le retour de Michel (salut amical), une proposition pour simplifier un peu ton code
https://mon-partage.fr/f/EOrGasvL/
Cdlmnt
En attendant le retour de Michel (salut amical), une proposition pour simplifier un peu ton code
https://mon-partage.fr/f/EOrGasvL/
Cdlmnt
tres claire mon grand
Impeccable, je ne cesse d'en profiter.
Sachez que je reviendrai avec d'autres questions lol.. puisque je suis debutant et je dois realiser un projet avec.
Un grand Merci encore
Impeccable, je ne cesse d'en profiter.
Sachez que je reviendrai avec d'autres questions lol.. puisque je suis debutant et je dois realiser un projet avec.
Un grand Merci encore
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
27 sept. 2017 à 09:10
27 sept. 2017 à 09:10
bien vu, Ccm, +1 !
:o)
:o)
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
28 sept. 2017 à 13:44
28 sept. 2017 à 13:44
Salut Michel
Merci pour le +1, c'est marrant, ce sont ceux qui n'en ont pas besoin qui trouvent une utilité aux solutions proposées ;-)
Au passage, supprimer l'utilisation de la fonction Val ici (un reste d'un premier jus)
Bilan = Bilan + Val(Tq(k)) * Val(Tp(k))
Bonne journée à toi
Cdlmnt
Merci pour le +1, c'est marrant, ce sont ceux qui n'en ont pas besoin qui trouvent une utilité aux solutions proposées ;-)
Au passage, supprimer l'utilisation de la fonction Val ici (un reste d'un premier jus)
Bilan = Bilan + Val(Tq(k)) * Val(Tp(k))
Bonne journée à toi
Cdlmnt