Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fonction multiplier zone de cellule par une autre zone cellule

4 réponses
Avatar
Esox38
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

4 réponses

Avatar
Daniel.C
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


Avatar
isabelle
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



Avatar
Esox38
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





Avatar
Esox38
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
>