Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2011, 17h39   #1
Invité de passage
 
Homme yvan
Inscription : mars 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme yvan
Localisation : Canada

Informations forums :
Inscription : mars 2011
Messages : 3
Points : 0
Points : 0
Par défaut Access 97 vers Access 2007, formules=arrondi

Bonjour,

J'ai un programme pour mes clients qui a été fait avec Access 97, j'ai loader la version 2007 et j'ai une erreur.
Dans un formulaire de facture j'ai la formule suivante qui arrondi le résultat.
Code :
=VraiFaux(EstNull([SousTotal]);0;arrondi(([SousTotal]+[Tx1Amt])*[Tx2Pourcent]/100;2))
Access 2007 n'accepte pas le arrondi, alors comment je fais ?
Merci
helyvan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 19h12   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 742
Points : 10 742
Envoyer un message via MSN à jpcheck
Salut,

je n'ai pas 2007 au boulot, mais j'ai des doutes sur la disparition de la fonction.

Peux-tu verifier qu'aucune reference ne manque a ton projet stp ?

Au pire, tu peux "simuler" cete fonction avec le code propose depuis la
http://access.developpez.com/sources...onctionRound97
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 00h00   #3
Invité de passage
 
Homme yvan
Inscription : mars 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme yvan
Localisation : Canada

Informations forums :
Inscription : mars 2011
Messages : 3
Points : 0
Points : 0
Citation:
Envoyé par jpcheck Voir le message
Salut,

je n'ai pas 2007 au boulot, mais j'ai des doutes sur la disparition de la fonction.

Peux-tu verifier qu'aucune reference ne manque a ton projet stp ?

Au pire, tu peux "simuler" cete fonction avec le code propose depuis la
http://access.developpez.com/sources...onctionRound97
Cette formule est dans une cellule zone texte d'un formulaire et cette cellule calcule les taxes. Je ne suis pas trop connaissant dans les formules ni rien d'ailleur.
Le message d'erruer me mentionne "la fonction "arrondi" n'est pas défini.
Je dois faire "Public arrondi As Integer" dans le module variable ???
Merci
helyvan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 08h22   #4
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Bonjour,

La fonction Arrondi n'existe pas sous Access, mais sous Excel.

Tu as la fonction Arrond - qui travaille sur la partie entière
et aussi la fonction Round - qui fait à peu près la même chose que la fonction Arrondi de Excel, mais qui a un mode de fonctionnement très "bizarre"...

Donc, si tu veux quelque chose qui ressemble à de l'arrondi au sens réel, tu peux te recréer la fonction.
Mais il y a fort à parier que la fonction était déjà définie dans ton projet initial dans un module...

Tu pourrais donc faire une fonction du Genre :

Code :
1
2
3
4
5
Function Arrondi(a_dNombre as double, a_bDec as byte) as double
    Dim lNbTemp as Long
    lNbTemp = clng(a_dNombre * 10^a_bDec)
    Arrondi = cDbl(lNbTemp / 10^a_bDec)
End function
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 16h06   #5
Invité de passage
 
Homme yvan
Inscription : mars 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme yvan
Localisation : Canada

Informations forums :
Inscription : mars 2011
Messages : 3
Points : 0
Points : 0
Voici ce que j'ai dans dans le code.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Public Function Arrondi(Nombre, Decimals) As Double
'Simuler la fonction Arrondi d'Excel.
Dim Reste, Comparaison As Double
Dim Multiplicateur As Long
If IsNull(Nombre) Then
    Nombre = 0
End If
If IsNull(Decimals) Then
    Decimals = 0
End If
Multiplicateur = Val("1" + String$(Decimals, "0"))
Comparaison = Val("0." + String$(Decimals, "0") + "5")
Reste = Nombre - Int(Nombre * Multiplicateur) / Multiplicateur
If Reste >= Comparaison Then
    Arrondi = Int((Nombre * Multiplicateur) + 1) / Multiplicateur
Else
    Arrondi = Int(Nombre * Multiplicateur) / Multiplicateur
End If
End Function
Merci de votre aide, c'est apprécié
helyvan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 16h22   #6
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Re

d'abord, avec les balises de code, ce serait plus lisible
Ensuite... c'est quoi la question ?
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h45.


 
 
 
 
Partenaires

Hébergement Web