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

utilisation plage nommée

5 réponses
Avatar
Greffier
Bonsoir,

Je galère ce soir pour utiliser en VBA 2 plages nommées :

- Prix_des-produits : représentant les prix unitaires de
divers produits ex : cellule(2,5) cellule(2,30)
- Zone_achat : représentant les quantités achetées
de ces produits ex : cellule(4,5) cellule(4,30)

le résultat s'effectue dans une cellule.

Sur la feuille il suffit de faire sommeprod(prix_des_produits;Zone_achat) et
l'on obtient le prix.

En vba TotalAchat = WorksheetFunction.SumProduct(Prix_des_produits,
Zone_achat) ne marche pas.

Que manque-t-il?
Comment signaler les zones nommées?.

Merci.

Greffier.

5 réponses

Avatar
Jacky
Bonsoir,

Peux-tu mettre un brouillon du classeur sur
http://www.cijoint.fr/

--
Salutations
JJ


"Greffier" a écrit dans le message de news: 4c2121dd$0$2960$
Bonsoir,

Je galère ce soir pour utiliser en VBA 2 plages nommées :

- Prix_des-produits : représentant les prix unitaires de divers produits ex :
cellule(2,5) cellule(2,30)
- Zone_achat : représentant les quantités achetées de ces produits ex :
cellule(4,5) cellule(4,30)

le résultat s'effectue dans une cellule.

Sur la feuille il suffit de faire sommeprod(prix_des_produits;Zone_achat) et l'on obtient le prix.

En vba TotalAchat = WorksheetFunction.SumProduct(Prix_des_produits, Zone_achat) ne marche pas.

Que manque-t-il?
Comment signaler les zones nommées?.

Merci.

Greffier.

Avatar
GG
http://www.cijoint.fr/



Mieux et sans pub http://cjoint.com :)
Pas de pub ni racollage.
--
Cordialement.
GG.
Avatar
Jacky
Bonsoir,
Pas de pub ni racollage.


Certes, mais limité à 1 mo et pas de conservation au delà de 3 semaines
--
Salutations
JJ


"GG" a écrit dans le message de news: 4c212b02$0$5839$

http://www.cijoint.fr/



Mieux et sans pub http://cjoint.com :)
Pas de pub ni racollage.
--
Cordialement.
GG.


Avatar
Jex
On 22 juin, 22:49, "Greffier" wrote:
Bonsoir,

    Je galère ce soir pour utiliser en VBA 2 plages nommées :

            - Prix_des-produits    : représentant les p rix unitaires de
divers produits                ex : cellule(2,5)        cellule(2,30)
            - Zone_achat             : représen tant les quantités achetées
de ces produits            ex : cellule(4,5)        c ellule(4,30)

le résultat s'effectue dans une cellule.

Sur la feuille il suffit de faire sommeprod(prix_des_produits;Zone_achat) et
l'on obtient le prix.

En vba TotalAchat = WorksheetFunction.SumProduct(Prix_des_produits,
Zone_achat) ne marche pas.

                    Que manque-t-il?
                    Comment signaler les zones nomm ées?.

Merci.

Greffier.




Bonjour,

plusieurs méthodes d'écriture sont possibles, mais la plus simple est
d'utiliser les [] crochets ouvrants et fermants.
ce qui donne dans ce cas :

[TotalAchat] = WorksheetFunction.SumProduct([Prix_des_produits],
[Zone_achat])

Nb : les arguments de SumProduct sont séparés par une virgule en VBA.

J.
Avatar
Greffier
Bonjour,

J'ai été long et je m'en excuse, mais j'ai cherché, cherché ... et j'ai
trouvé en plus de Jex, jacquouille, michdenis sur un sujet identique ou
approchant.

J'ai donc utilisé les lignes suivantes dans un premier temps :

ActiveWorkbook.Worksheets("Feuille Hebdo 2").Range("F3:AR3").Name =
"Prix_des_produits"
ActiveWorkbook.Worksheets("Feuille Hebdo 2").Range("F6:AR6").Name =
"Zone_achat"


TotalAchat = WorksheetFunction.SumProduct(Range("Prix_des_produits"),
Range("Zone_Achat"))

Puis dans la feuille excel j'ai défini la même zone pour Prix_des_produits,
et cela marche.

La zone achat est toujours la même zone, c'est une ligne que j'insère dans
mon tableau toujours à la même position, pour conserver la mise en forme.

Mais comme lorsque j'insère une ligne les formules ne sont pas conservées,
du moins je ne sais pas encore le faire, je suis donc obligé de calculé le
prix d'achat.

Je vous remercie tous, quant à jex je mets sa formulation dans un coin pour
un prochain emploi, vu que dans ce cas je n'ai pas pu le faire marcher.


Greffier.







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

On 22 juin, 22:49, "Greffier" wrote:
Bonsoir,

Je galère ce soir pour utiliser en VBA 2 plages nommées :

- Prix_des-produits : représentant les prix unitaires de
divers produits ex : cellule(2,5) cellule(2,30)
- Zone_achat : représentant les quantités achetées
de ces produits ex : cellule(4,5) cellule(4,30)

le résultat s'effectue dans une cellule.

Sur la feuille il suffit de faire sommeprod(prix_des_produits;Zone_achat)
et
l'on obtient le prix.

En vba TotalAchat = WorksheetFunction.SumProduct(Prix_des_produits,
Zone_achat) ne marche pas.

Que manque-t-il?
Comment signaler les zones nommées?.

Merci.

Greffier.




Bonjour,

plusieurs méthodes d'écriture sont possibles, mais la plus simple est
d'utiliser les [] crochets ouvrants et fermants.
ce qui donne dans ce cas :

[TotalAchat] = WorksheetFunction.SumProduct([Prix_des_produits],
[Zone_achat])

Nb : les arguments de SumProduct sont séparés par une virgule en VBA.

J.