![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2008
Messages: 65
|
Bonjour,
J'ai 2 feuilles:"Statistiques" et "traitement" Je souhaite qu'un bouton permette de multiplier les colonnes B et C de la feuille "traitement" et envoi le résultat dans la cellule C10 de la feuille "Statistiques". En gros que le bouton face le calcul suivant: B1*C1 + B2*C2+ B3*C3... jusqu'à la derniére ligne non vide. Je joint un fichier Excel pour une meilleur compréhension. Merci d'avance pour votre aide Cdt lien:http://cjoint.com/?iAk3NI567G |
|
|
|
|
|
#2 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2008
Messages: 65
|
Je me suis trompé sur les calculs que je souhaitais et je n'arrive pas à trouver la bonne formule maintenant (je suis débutant)
J'avais dit: B1*C1 + B2*C2+ B3*C3... En faite c'est: B1*C1 +G1*H1+ B2*C2+ G2*H2+ B3*C3+ G3*H3.... La formule qu'on m'avait donnée été celle là: Code :
Sub Calcul() Dim Ligne As Long Ligne = ThisWorkbook.Worksheets("Traitement").Range("B6553 6").End(xlUp).Row ThisWorkbook.Worksheets("Statistiques").Range("C10 ").FormulaR1C1 = "=SUMPRODUCT(Traitement!R1C2:R" & Ligne & "C2,Traitement!R1C3:R" & Ligne & "C3)" End Sub Merci d'avance pour votre aide Dernière modification par fring ; 26/08/2008 à 14h42 Motif: Veuillez utiliser les balises [code] (sélection du code + clic sur #) |
|
|
|
|
|
#3 (permalink) |
|
Membre éclairé
![]() Date d'inscription: juillet 2007
Localisation: Quelque part en Hexagone
Messages: 346
|
Essaie ça.
Sachant que pour ton problème, il n'ya pas lieu d'utiliser une macro ---> juste une formule matricielle dans la cellule C10 fera l'affaire. Code :
Sub TestCalcul() '===== Déclaration des Variables ====== Dim A As Double Dim LaSomme As Double: LaSomme = 0 With Worksheets("Traitement") '=== Boucle qui effectue le calcul demandé ============= ' Ici on considère que le calcul commence à partir de la ligne 2 jusqu'à la dernière ligne de la colonne B ' ' /!\ tu peux tester toutes les colonnes et determiner quelle est la dernière ligne non vide (que ce soit ' dans B, C, G ou H ou autre) ---> Dans ce cas tu adaptes le code. For i = 2 To .Cells(65536, 2).End(xlUp).Row A = (.Cells(i, 2) * .Cells(i, 3)) + (.Cells(i, 7) * .Cells(i, 8)) LaSomme = LaSomme + A Next End With '====== Affichage du résultat dans la cellule C10 de la feuille "Statistiques" Worksheets("Statistiques").Cells(10, 3) = LaSomme End Sub Dernière modification par casavba ; 28/08/2008 à 13h16 |
|
|
|
![]() |
![]() |
||
Calcul avec une boucle
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|