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

VBA créer une formule SOMMEPROD utilisant une variable

3 réponses
Avatar
Céline Brien
Bonjour à tous,
Une variable x égale au nombre de cellules de la colonne B.
La création d'une formule en D2 utilisant la variable x.
Finalement la copie de la formule de D2 à Dx
J'obtiens un message d'erreur sur la formule : erreur de syntaxe.
La formule en Excel est :
=SI(B2<>B1;SOMMEPROD((B2:B87=B2)*C2:C87);"")
La formule en VBA voir les codes ci-dessous.
Pouvez-vous m'aider ??
Merci beaucoup,
Céline
----------------------------------
x = [b65536].End(3).Row
Range("D2").Select
Range("D2").Formula = "=IF(B2<>B1,SUMPROD(("B2:B" & x =B2)*"C2:C" & x),"")"
Selection.AutoFill Destination:=Range("D2:D" & x)

3 réponses

Avatar
MichDenis
Dim V As Long
V = 5
Range("D2").Formula = "=IF(B2<>B1,SUMPROD((B2:B" & V & "²)*(C2:C" & V & ")),"""")"



"Céline Brien" a écrit dans le message de news:

Bonjour à tous,
Une variable x égale au nombre de cellules de la colonne B.
La création d'une formule en D2 utilisant la variable x.
Finalement la copie de la formule de D2 à Dx
J'obtiens un message d'erreur sur la formule : erreur de syntaxe.
La formule en Excel est :
=SI(B2<>B1;SOMMEPROD((B2:B87²)*C2:C87);"")
La formule en VBA voir les codes ci-dessous.
Pouvez-vous m'aider ??
Merci beaucoup,
Céline
----------------------------------
x = [b65536].End(3).Row
Range("D2").Select
Range("D2").Formula = "=IF(B2<>B1,SUMPROD(("B2:B" & x ²)*"C2:C" & x),"")"
Selection.AutoFill Destination:=Range("D2:D" & x)
Avatar
Céline Brien
Bonjour à tous,
Bonjour Mich,
Merci pour ta réponse.
Pourquoi V = 5 ?
Je crois que je vais garder mes codes actuels.
La formule est en D2.
=SI(B2<>B1;SOMMEPROD((B2:$B$500²)*C2:$C$500);"")
J'espère seulement quelle ne sera pas effacée par erreur et qu'il n'y aura
pas plus de 500 lignes.
x = [b65536].End(3).Row
Range("d2").Select
Selection.AutoFill Destination:=Range("d2:d" & x)
Merci encore,
Céline


"MichDenis" a écrit dans le message de news:

Dim V As Long
V = 5
Range("D2").Formula = "=IF(B2<>B1,SUMPROD((B2:B" & V & "²)*(C2:C" & V &
")),"""")"



"Céline Brien" a écrit dans le message de
news:

Bonjour à tous,
Une variable x égale au nombre de cellules de la colonne B.
La création d'une formule en D2 utilisant la variable x.
Finalement la copie de la formule de D2 à Dx
J'obtiens un message d'erreur sur la formule : erreur de syntaxe.
La formule en Excel est :
=SI(B2<>B1;SOMMEPROD((B2:B87²)*C2:C87);"")
La formule en VBA voir les codes ci-dessous.
Pouvez-vous m'aider ??
Merci beaucoup,
Céline
----------------------------------
x = [b65536].End(3).Row
Range("D2").Select
Range("D2").Formula = "=IF(B2<>B1,SUMPROD(("B2:B" & x ²)*"C2:C" &
x),"")"
Selection.AutoFill Destination:=Range("D2:D" & x)





Avatar
MichDenis
| Pourquoi V = 5 ?

Je n'avais pas "vu" x = [b65536].End(3).Row

Tu n'as qu'à remplacer V par x



"Céline Brien" a écrit dans le message de news:

Bonjour à tous,
Bonjour Mich,
Merci pour ta réponse.
Pourquoi V = 5 ?
Je crois que je vais garder mes codes actuels.
La formule est en D2.
=SI(B2<>B1;SOMMEPROD((B2:$B$500²)*C2:$C$500);"")
J'espère seulement quelle ne sera pas effacée par erreur et qu'il n'y aura
pas plus de 500 lignes.
x = [b65536].End(3).Row
Range("d2").Select
Selection.AutoFill Destination:=Range("d2:d" & x)
Merci encore,
Céline


"MichDenis" a écrit dans le message de news:

Dim V As Long
V = 5
Range("D2").Formula = "=IF(B2<>B1,SUMPROD((B2:B" & V & "²)*(C2:C" & V &
")),"""")"



"Céline Brien" a écrit dans le message de
news:

Bonjour à tous,
Une variable x égale au nombre de cellules de la colonne B.
La création d'une formule en D2 utilisant la variable x.
Finalement la copie de la formule de D2 à Dx
J'obtiens un message d'erreur sur la formule : erreur de syntaxe.
La formule en Excel est :
=SI(B2<>B1;SOMMEPROD((B2:B87²)*C2:C87);"")
La formule en VBA voir les codes ci-dessous.
Pouvez-vous m'aider ??
Merci beaucoup,
Céline
----------------------------------
x = [b65536].End(3).Row
Range("D2").Select
Range("D2").Formula = "=IF(B2<>B1,SUMPROD(("B2:B" & x ²)*"C2:C" &
x),"")"
Selection.AutoFill Destination:=Range("D2:D" & x)