XL 2019 [Résolu] VBA SommeProd, résultat en formule

  • Initiateur de la discussion Initiateur de la discussion Fredox
  • Date de début Date de début

Fredox

XLDnaute Occasionnel
Bonjour,

Je cherche a faire une macro afin d'obtenir dans ma cellule la formule sommeprod sur une plage dynamique:

Je ne sais pas si on peut m'aider:
VB:
Sub Test2()

Set Sh_Active = ActiveSheet
Dlig = Range("C" & Rows.Count).End(xlUp).Row

With ActiveSheet.Cells
Set cellule = .Find("Qté.", LookIn:=xlValues)
    If Not cellule Is Nothing Then ColQ = cellule.Column
End With

Col = ActiveCell.Column

Set Zone1 = Range(Cells(9, ColQ), Cells(Dlig, ColQ))
Set Zone2 = Range(Cells(9, Col), Cells(Dlig, Col))

Cells(4, Col).NumberFormat = "#,##0.00 $"

' Fonctionne -->> Affiche le résultat
Cells(4, Col).Formula = Application.WorksheetFunction.SumProduct(Zone1, Zone2)

' Ne fonctionne pas, j'aimerais que dans la cellule s'affiche la formule, non le résultat
Cells(4, Col + 1).Formula = "=sommeprod(" & Zone1 & "*" & Zone2 & ")"

End Sub

Avec Zone1 et Zone2, je défini mes deux plages dynamique.
Cela fonctionne bien si je veux le simple résultat, en revanche, pour écrire la formule je n'y arriva pas.


Une idée ?
Merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Fredox,
Il faut reconstituer la chaine de caractères correspondant à Zone1 et Zone2, c'est du texte et non des range.
Essayez :
VB:
Zone1 = Cells(9, ColQ).Address & ":" & Cells(Dlig, ColQ).Address
Zone2 = Cells(9, Col).Address & ":" & Cells(Dlig, Col).Address
Cells(4, Col + 1).FormulaLocal = "=sommeprod(" & Zone1 & ";" & Zone2 & ")"
Ce qui donne : =SOMMEPROD($C$6:$C$9;$E$6:$E$9)
 

Discussions similaires

  • Question Question
Microsoft 365 créer un macro vba
Réponses
0
Affichages
359
  • Question Question
Microsoft 365 SOMMEPROD en vba excel
Réponses
12
Affichages
460
Réponses
2
Affichages
449
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
473
Réponses
0
Affichages
606
Réponses
4
Affichages
384

Statistiques des forums

Discussions
315 292
Messages
2 118 107
Membres
113 430
dernier inscrit
Exyr