XL 2013 Transformer formule SOMEPROD en VBA

nobru26

XLDnaute Junior
Bonjour,

Petit soucis pour moi aujourd'hui, je souhaite transformer cette formule
=SOMMEPROD((X_BASE!A6:A20=Sxx!A4)*(X_BASE!B6:B20=Sxx!G3)*(X_BASE!C6:C20))
en VBA et je bloque.

Je souhaite que le VBA se lance automatiquement au changement de valeur des deux points A4 ET G3

Le fait de passer en VBA sur évènement permet ensuite de modifier ou ajuster le résultat sans supprimer ce qu'il y a marqué dans la cellule d'arrivée contrairement a la formule.

Merci pour votre aide
 

gilbert_RGI

XLDnaute Barbatruc
Re : Transformer formule SOMEPROD en VBA

Bonjour,

cette formule doit afficher le résultat dans quelle cellule ?

si c'est dans la cellule active

VB:
Sub test()
    ActiveCell.FormulaLocal = "=SOMMEPROD((X_BASE!A6:A20=Sxx!A4)*(X_BASE!B6:B20=Sxx!G3)*(X_BASE!C6:C20))"
End Sub
 
Dernière édition:

nobru26

XLDnaute Junior
Re : Transformer formule SOMEPROD en VBA

Bonjour,

Alors il y aura plusieurs cellules de résultat, donc peu importe.

disons A1 de feuil1

J'aurai 15 cellules avec le même type de recherche, je sais pas si cela va alourdir le VBA?

Je testerai

Merci
 

gilbert_RGI

XLDnaute Barbatruc
Re : Transformer formule SOMEPROD en VBA

j'ai ajouté un code pour la cellule active

Bonjour,

Alors il y aura plusieurs cellules de résultat, donc peu importe.

disons A1 de feuil1

J'aurai 15 cellules avec le même type de recherche, je sais pas si cela va alourdir le VBA?

Je testerai

Merci


sinon pour A1

VB:
Sub test()

    Range("a1").FormulaLocal = "=SOMMEPROD((X_BASE!A6:A20=Sxx!A4)*(X_BASE!B6:B20=Sxx!G3)*(X_BASE!C6:C20))"
End Sub
 
Dernière édition:

nobru26

XLDnaute Junior
Re : Transformer formule SOMEPROD en VBA

Je suis en train de me demander si c'est plutôt possible en fonction des deux critères de copier une zone et de coller ailleurs....
afin de pouvoir faire de la mise en page... suivant une matrice.

Je suis encore dans l'incertitude.
Comment faire un copier coller en fonction de deux critères?

Merci
 

nobru26

XLDnaute Junior
Re : Transformer formule SOMEPROD en VBA

Re, me revoilà avec un autre soucis, impossible de transférer cette formule en VBA, le 1er ' me met mon indirect en vrac (commentaire), j'ai essayé sans mettre les ' car j'ai pas d'espaces dans mes noms de feuilles mais ça ne fonctionne pas non plus...

=SOMMEPROD((X_BASE!A6:A100=INDIRECT("'" & A3 & "'" & "!a4"))*((X_BASE!B6:B100=INDIRECT("'" & A3 & "'" & "!G3"))*(X_BASE!D6:D100)))

fonctionne dans cellule mais pas dans VBA?

Merci
 

Dranreb

XLDnaute Barbatruc
Re : Transformer formule SOMEPROD en VBA

Bonsoir.
Il faut doubler les doubles guillemet qu'on veut reproduire :
VB:
.FormulaLocal =  "=SOMMEPROD((X_BASE!A6:A100=INDIRECT(""'""&A3&""'!A4""))*(X_BASE!B6:B100=INDIRECT(""'""&A3&""'!G3""));X_BASE!D6:D100)"
 
Dernière édition:

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 461
dernier inscrit
dams94