OVH Cloud OVH Cloud

Calcul en VBA

8 réponses
Avatar
olivierdd
Bonjour,

(d=E9butant en VBA)

Dans un formulaire, j'ai plusieurs champs en pourcentage et un champs
de contr=F4l calcul=E9 qui est la somme (normalement =E9gale =E0 100%)

Dans le cas ou ce n'est pas =E9gale =E0 100%, j'ai cr=E9=E9 un bouton qui
permet quand on clique dessus de recalculer tous les champs pour les
mettre sur une base 100%.

J'ai donc mis :

If Me.total_natio > 1 Or Me.total_natio < 1 Then

Me.FRA =3D Me.FRA / Me.total_natio
Me.ITA =3D Me.ITA / Me.total_natio
[=2E..]
Me.AFRQ =3D Me.AFRQ / Me.total_natio
Me.AUTRE =3D Me.AUTRE / Me.total_natio

End If

Mon probl=E8me est que le champs Me.total_natio se reclacul au fur et =E0
mesure et donc au final je ne suis pas =E0 100%. Il me faudrait donc
stocker ce chiffre au d=E9but, mais je ne sais pas comment faire.

Merci

8 réponses

Avatar
Pierre CFI [mvp]
bonjour
à compléter
Dim total as double
If Me.total_natio <> 1 Then
total = Me.total_natio

Me.FRA = Me.FRA / total


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

"olivierdd" a écrit dans le message de news:
Bonjour,

(débutant en VBA)

Dans un formulaire, j'ai plusieurs champs en pourcentage et un champs
de contrôl calculé qui est la somme (normalement égale à 100%)

Dans le cas ou ce n'est pas égale à 100%, j'ai créé un bouton qui
permet quand on clique dessus de recalculer tous les champs pour les
mettre sur une base 100%.

J'ai donc mis :

If Me.total_natio > 1 Or Me.total_natio < 1 Then

Me.FRA = Me.FRA / Me.total_natio
Me.ITA = Me.ITA / Me.total_natio
[...]
Me.AFRQ = Me.AFRQ / Me.total_natio
Me.AUTRE = Me.AUTRE / Me.total_natio

End If

Mon problème est que le champs Me.total_natio se reclacul au fur et à
mesure et donc au final je ne suis pas à 100%. Il me faudrait donc
stocker ce chiffre au début, mais je ne sais pas comment faire.

Merci
Avatar
Jessy Sempere [MVP]
Bonjour

Passe par une variable pour stocker ton total :

Dim total as double
total = me.total_nation

if total >1 or total <1 then
Me.FRA = Me.FRA / total
Me.ITA = Me.ITA / total
[...]
Me.AFRQ = Me.AFRQ / total
Me.AUTRE = Me.AUTRE / total
end if


--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"olivierdd" a écrit dans le message news:

Bonjour,

(débutant en VBA)

Dans un formulaire, j'ai plusieurs champs en pourcentage et un champs
de contrôl calculé qui est la somme (normalement égale à 100%)

Dans le cas ou ce n'est pas égale à 100%, j'ai créé un bouton qui
permet quand on clique dessus de recalculer tous les champs pour les
mettre sur une base 100%.

J'ai donc mis :

If Me.total_natio > 1 Or Me.total_natio < 1 Then

Me.FRA = Me.FRA / Me.total_natio
Me.ITA = Me.ITA / Me.total_natio
[...]
Me.AFRQ = Me.AFRQ / Me.total_natio
Me.AUTRE = Me.AUTRE / Me.total_natio

End If

Mon problème est que le champs Me.total_natio se reclacul au fur et à
mesure et donc au final je ne suis pas à 100%. Il me faudrait donc
stocker ce chiffre au début, mais je ne sais pas comment faire.

Merci
Avatar
olivierdd
Genial ca marche, merci beaucoup
Avatar
Pierre CFI [mvp]
précise bien qui tu remercie, car y a des jeunots qui ont vite la grosse téte :o)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

"olivierdd" a écrit dans le message de news:
Genial ca marche, merci beaucoup



Avatar
olivierdd
houu je sens qu'il y a un message personnel là dessous...
Jessy a été plus rapide à repondre c'est pourquoi je l'ai remercié
en premier.

Mais Merci à toi aussi Pierre
Avatar
Pierre CFI [mvp]
forcement, je lui souffle d'abord les réponses, puis je réponds, il est content, de bonne humeur, c'est bien pour sa petite famille
:o)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

"olivierdd" a écrit dans le message de news:
houu je sens qu'il y a un message personnel là dessous...
Jessy a été plus rapide à repondre c'est pourquoi je l'ai remercié
en premier.

Mais Merci à toi aussi Pierre
Avatar
Jessy Sempere [MVP]
Salut Pierre

Je m'absente un long moment mais je constate que rien ne change...
tant mieux, c'est pas pour me déplaire... ;-)))

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Pierre CFI [mvp]" a écrit dans le message news:

forcement, je lui souffle d'abord les réponses, puis je réponds, il est
content, de bonne humeur, c'est bien pour sa petite famille

:o)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

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


houu je sens qu'il y a un message personnel là dessous...
Jessy a été plus rapide à repondre c'est pourquoi je l'ai remercié
en premier.

Mais Merci à toi aussi Pierre




Avatar
Pierre CFI [mvp]
oui, tu t'absente un long moment, tu constate que rien ne change...et tu repars pour un long moment, un reliquat de conges de l'an
2000 ???... ;-)))
bon, demain je suis sur le sable, mais sans le soleil


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

"Jessy Sempere [MVP]" a écrit dans le message de news: 42ca7442$
Salut Pierre

Je m'absente un long moment mais je constate que rien ne change...
tant mieux, c'est pas pour me déplaire... ;-)))

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Pierre CFI [mvp]" a écrit dans le message news:

forcement, je lui souffle d'abord les réponses, puis je réponds, il est
content, de bonne humeur, c'est bien pour sa petite famille

:o)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

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


houu je sens qu'il y a un message personnel là dessous...
Jessy a été plus rapide à repondre c'est pourquoi je l'ai remercié
en premier.

Mais Merci à toi aussi Pierre