utilisation plage nommée

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #22288141
Bonsoir,

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

--
Salutations
JJ


"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.

GG
Le #22288221
http://www.cijoint.fr/



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


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


"GG"

http://www.cijoint.fr/



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


Jex
Le #22289171
On 22 juin, 22:49, "Greffier"
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.
Greffier
Le #22297071
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"
On 22 juin, 22:49, "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.




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.
Publicité
Poster une réponse
Anonyme