Fonction multiplier zone de cellule par une autre zone cellule

Le
Esox38
Bonsoir,

J'essaye d'écrire ma première fonctiondur dur.

Je veux pouvoir multiplier une zone de cellule (par exemple de A1:A5)
par une autre zone de cellule (B1:B5) afin d'avoir le résultat dans une
cellule (fonction)

Voici mon bout de code pour la fonction :

Public Function TM(ZoneCellule1, ZoneCellule2) ' As String
Dim i ' As Range
Dim j ' As Range
Dim Cell As Object

For i = 1 To Cells.Count
TM = ZoneCellule1(i) * ZoneCellule2(i)
Next i

End Function

Exemple dans une feuille
Colonne A Colonne B
3 4
4 3
2 4
5 6

Résultat de la fonction : 62

Merci pour vos réponses.
Cordialement
Esox
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #17971891
Bonsoir.
La fonction existe déjà dans Excel. C'est SOMMEPROD.
J'ai rectifié ton code :

Public Function TM(ZoneCellule1, ZoneCellule2) As Double
Dim i As Long

For i = 1 To ZoneCellule1.Count
TM = TM + ZoneCellule1(i) * ZoneCellule2(i)
Next i

End Function

Cordialement.
Daniel

Bonsoir,

J'essaye d'écrire ma première fonction...dur dur.

Je veux pouvoir multiplier une zone de cellule (par exemple de A1:A5) par une
autre zone de cellule (B1:B5) afin d'avoir le résultat dans une cellule
(fonction)

Voici mon bout de code pour la fonction :

Public Function TM(ZoneCellule1, ZoneCellule2) ' As String
Dim i ' As Range
Dim j ' As Range
Dim Cell As Object

For i = 1 To Cells.Count
TM = ZoneCellule1(i) * ZoneCellule2(i)
Next i

End Function

Exemple dans une feuille
Colonne A Colonne B
3 4
4 3
2 4
5 6

Résultat de la fonction : 62

Merci pour vos réponses.
Cordialement
Esox


isabelle
Le #17971881
bonjour Esox,

tu veut multiplier les 10 chiffres, ou bien simuler une multiplication
de 2 chiffres ?

exemple 1 :

1-2-3-4-5
2-3-4-5-6
--------------
86400

exemple 2 :

1-2-3-4-5
2-3-4-5-6
--------------
289564320

isabelle

Esox38 a écrit :

Bonsoir,

J'essaye d'écrire ma première fonction...dur dur.

Je veux pouvoir multiplier une zone de cellule (par exemple de A1:A5)
par une autre zone de cellule (B1:B5) afin d'avoir le résultat dans
une cellule (fonction)

Voici mon bout de code pour la fonction :

Public Function TM(ZoneCellule1, ZoneCellule2) ' As String
Dim i ' As Range
Dim j ' As Range
Dim Cell As Object

For i = 1 To Cells.Count
TM = ZoneCellule1(i) * ZoneCellule2(i)
Next i

End Function

Exemple dans une feuille
Colonne A Colonne B
3 4
4 3
2 4
5 6

Résultat de la fonction : 62

Merci pour vos réponses.
Cordialement
Esox



Esox38
Le #17980741
Bonsoir Daniel,

Merci pour la modification, cela fonctionne est correspond à ce que je
voulais.
Merci pour la précision sur sommeprod.

Cordialement
--
Esox38


"Daniel.C" a écrit :

Bonsoir.
La fonction existe déjà dans Excel. C'est SOMMEPROD.
J'ai rectifié ton code :

Public Function TM(ZoneCellule1, ZoneCellule2) As Double
Dim i As Long

For i = 1 To ZoneCellule1.Count
TM = TM + ZoneCellule1(i) * ZoneCellule2(i)
Next i

End Function

Cordialement.
Daniel

> Bonsoir,
>
> J'essaye d'écrire ma première fonction...dur dur.
>
> Je veux pouvoir multiplier une zone de cellule (par exemple de A1:A5) par une
> autre zone de cellule (B1:B5) afin d'avoir le résultat dans une cellule
> (fonction)
>
> Voici mon bout de code pour la fonction :
>
> Public Function TM(ZoneCellule1, ZoneCellule2) ' As String
> Dim i ' As Range
> Dim j ' As Range
> Dim Cell As Object
>
> For i = 1 To Cells.Count
> TM = ZoneCellule1(i) * ZoneCellule2(i)
> Next i
>
> End Function
>
> Exemple dans une feuille
> Colonne A Colonne B
> 3 4
> 4 3
> 2 4
> 5 6
>
> Résultat de la fonction : 62
>
> Merci pour vos réponses.
> Cordialement
> Esox





Esox38
Le #17980731
Bonsoir Isabelle,

Je souhaite multiplié ainsi
> 3 * 4
> 4 * 3
> 2 * 4
> 5 * 6


puis additionner ce qui donne comme résultat 62
Daniel à modifier le code pour la fonction et ma préciser que SOMMEPROD
faisait la même chose.

Merci à vous deux pour vos réponses.
Cordialement

> Résultat de la fonction : 62



--
Esox38


"isabelle" a écrit :

bonjour Esox,

tu veut multiplier les 10 chiffres, ou bien simuler une multiplication
de 2 chiffres ?

exemple 1 :

1-2-3-4-5
2-3-4-5-6
--------------
86400

exemple 2 :

1-2-3-4-5
2-3-4-5-6
--------------
289564320

isabelle

Esox38 a écrit :

> Bonsoir,
>
> J'essaye d'écrire ma première fonction...dur dur.
>
> Je veux pouvoir multiplier une zone de cellule (par exemple de A1:A5)
> par une autre zone de cellule (B1:B5) afin d'avoir le résultat dans
> une cellule (fonction)
>
> Voici mon bout de code pour la fonction :
>
> Public Function TM(ZoneCellule1, ZoneCellule2) ' As String
> Dim i ' As Range
> Dim j ' As Range
> Dim Cell As Object
>
> For i = 1 To Cells.Count
> TM = ZoneCellule1(i) * ZoneCellule2(i)
> Next i
>
> End Function
>
> Exemple dans une feuille
> Colonne A Colonne B
> 3 4
> 4 3
> 2 4
> 5 6
>
> Résultat de la fonction : 62
>
> Merci pour vos réponses.
> Cordialement
> Esox
>



Publicité
Poster une réponse
Anonyme