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

Fonction de domaine: existe ou récréer en VBA?

9 réponses
Avatar
Vinz
Bonjour,

Existe-t-il une fonction de regroupement de domaine tel SomDom pour faire un
produit?

Si ce n'est pas le cas, quelqu'un aurait une idée du code VB pour la créer?

Merci!

9 réponses

Avatar
Gafish
Bonjour,

Oui, tu as la fonction SomDom (ou DSum)

Arnaud

"Vinz" a écrit dans le message news:

Bonjour,

Existe-t-il une fonction de regroupement de domaine tel SomDom pour faire
un

produit?

Si ce n'est pas le cas, quelqu'un aurait une idée du code VB pour la
créer?


Merci!


Avatar
Vinz
Sauf mon respect, je crois que tu as mal compris...

SomDom, ça existe et c'est pour faire une somme.

Je recherche une formule semblable pour faire un produit (c'est à dire une
multiplication).

SI elle n'esxiste pas, comment la programmer?

Merci!


Bonjour,

Oui, tu as la fonction SomDom (ou DSum)

Arnaud

"Vinz" a écrit dans le message news:

Bonjour,

Existe-t-il une fonction de regroupement de domaine tel SomDom pour faire
un

produit?

Si ce n'est pas le cas, quelqu'un aurait une idée du code VB pour la
créer?


Merci!







Avatar
Raymond [mvp]
Bonjour.

je ne vois pas comment faire une telle fonction.
un domaine est une table ou une requête. Ajouter des valeurs de champs, oui,
mais des produits ? des produits de quoi par quoi ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Sauf mon respect, je crois que tu as mal compris...

SomDom, ça existe et c'est pour faire une somme.

Je recherche une formule semblable pour faire un produit (c'est à dire une
multiplication).

SI elle n'esxiste pas, comment la programmer?

Merci!



Avatar
Gafish
Oui, excuse moi, ca doit être le petit creux passé 11h :)
Non, ca n'existe pas, mais quelle est la formule que tu veux passer en
Access ?


"Vinz" a écrit dans le message news:

Sauf mon respect, je crois que tu as mal compris...

SomDom, ça existe et c'est pour faire une somme.

Je recherche une formule semblable pour faire un produit (c'est à dire une
multiplication).

SI elle n'esxiste pas, comment la programmer?

Merci!


Bonjour,

Oui, tu as la fonction SomDom (ou DSum)

Arnaud

"Vinz" a écrit dans le message news:

Bonjour,

Existe-t-il une fonction de regroupement de domaine tel SomDom pour
faire



un
produit?

Si ce n'est pas le cas, quelqu'un aurait une idée du code VB pour la
créer?


Merci!









Avatar
Vinz
Ma table
date1 - 1
date2 - 5
date3 - 4
date4 - 3
date5 - 7

Avec Som Dom ->
date1 - 1
date2 - 6
date3 - 10
date4 - 13
date5 - 20

Moi ce que je veux c'est pas une somme glissante mais un produit glissant:
date1 - 1
date2 - 5
date3 - 20
date4 - 60
date5 - 420

Ok, elle n'existe pas (genre ProdDom lol)

Comment créer une telle fonction en VB?

Merci!

Je suis une quiche en VB Access, mais j'ai très avancé en VB Excel donc vous
parlez à un intié. J'ai une contrainte folle pour ma base: ne pas utiliser
excel même pour les calculs... Aïe!

Merci les gars!

Vinz





Oui, excuse moi, ca doit être le petit creux passé 11h :)
Non, ca n'existe pas, mais quelle est la formule que tu veux passer en
Access ?


"Vinz" a écrit dans le message news:

Sauf mon respect, je crois que tu as mal compris...

SomDom, ça existe et c'est pour faire une somme.

Je recherche une formule semblable pour faire un produit (c'est à dire une
multiplication).

SI elle n'esxiste pas, comment la programmer?

Merci!


Bonjour,

Oui, tu as la fonction SomDom (ou DSum)

Arnaud

"Vinz" a écrit dans le message news:

Bonjour,

Existe-t-il une fonction de regroupement de domaine tel SomDom pour
faire



un
produit?

Si ce n'est pas le cas, quelqu'un aurait une idée du code VB pour la
créer?


Merci!














Avatar
Vinz
Merci de votre aide, je m'en sors en faisant:

exp(SomDom(log(x)))

Ce qui me donne bien un produit glissant!!!

Merci aux archives







Ma table
date1 - 1
date2 - 5
date3 - 4
date4 - 3
date5 - 7

Avec Som Dom ->
date1 - 1
date2 - 6
date3 - 10
date4 - 13
date5 - 20

Moi ce que je veux c'est pas une somme glissante mais un produit glissant:
date1 - 1
date2 - 5
date3 - 20
date4 - 60
date5 - 420

Ok, elle n'existe pas (genre ProdDom lol)

Comment créer une telle fonction en VB?

Merci!

Je suis une quiche en VB Access, mais j'ai très avancé en VB Excel donc vous
parlez à un intié. J'ai une contrainte folle pour ma base: ne pas utiliser
excel même pour les calculs... Aïe!

Merci les gars!

Vinz





Oui, excuse moi, ca doit être le petit creux passé 11h :)
Non, ca n'existe pas, mais quelle est la formule que tu veux passer en
Access ?


"Vinz" a écrit dans le message news:

Sauf mon respect, je crois que tu as mal compris...

SomDom, ça existe et c'est pour faire une somme.

Je recherche une formule semblable pour faire un produit (c'est à dire une
multiplication).

SI elle n'esxiste pas, comment la programmer?

Merci!


Bonjour,

Oui, tu as la fonction SomDom (ou DSum)

Arnaud

"Vinz" a écrit dans le message news:

Bonjour,

Existe-t-il une fonction de regroupement de domaine tel SomDom pour
faire



un
produit?

Si ce n'est pas le cas, quelqu'un aurait une idée du code VB pour la
créer?


Merci!
















Avatar
Raymond [mvp]
C'est très bien.

pourrais-tu mettre ici ta requête pour qu'elle puisse servir pour un autre ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Merci de votre aide, je m'en sors en faisant:

exp(SomDom(log(x)))

Ce qui me donne bien un produit glissant!!!

Merci aux archives


Avatar
Vinz
Si je peux?!? Bien sûr!

CDbl(nz((((Exp(SomDom("log(1+[Numéro]/(360*100)) ";"TEST";" [DateGénérale]
<=#" & Format([TEST]![DateGénérale];"mm/jj/aaaa") & "#")))-1)*100)*360))

Je crée ça dans le générateur d'expression.

log(1+[Numéro]/(360*100)) -> c'est le LN de mon taux annuel transformé en
journalier, c'est le premier terme dans SomDom, c'est celui là qui va être
sommé.

TEST -> c'est ma table dans laquelle mon taux Numéro est.

DateGénérale] <=#" & Format([TEST]![DateGénérale];"mm/jj/aaaa") & "#"))) ->
C'est le critère de mon SomDom, pour somme toutes les dates antérieurs

Elevé à l'exponantielle-> ça donne le produit de mes 1+[Numéro]/(360*100)

-1)*100)*360)) -> Pour ramener à un taux annuel.


Donc pour cconclure, exp(somdom(log(champ,table,critère))) crée une formule
qu'on pourait appeller ProdDom qui crée un produit par regroupement (ici des
dates antérieures).




En SQL:
SELECT CDbl(nz((((Exp(DSum("log(1+[Numéro]/(360*100)) ","TEST","
[DateGénérale] <=#" & Format([TEST]![DateGénérale],"mm/dd/yyyy") &
"#")))-1)*100)*360)) AS Expr3
FROM TEST;


Merci à vous!




C'est très bien.

pourrais-tu mettre ici ta requête pour qu'elle puisse servir pour un autre ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Merci de votre aide, je m'en sors en faisant:

exp(SomDom(log(x)))

Ce qui me donne bien un produit glissant!!!

Merci aux archives







Avatar
Raymond [mvp]
Merci beaucoup pour tous les contributeurs et surtout demandeurs.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Si je peux?!? Bien sûr!