Format decimal [Résolu]

Zonteomer74 - 22 déc. 2017 à 23:34 - Dernière réponse : Zonteo 23 Messages postés lundi 18 décembre 2017Date d'inscription 14 janvier 2018 Dernière intervention
- 30 déc. 2017 à 14:38
Bonjour,
J'ai une autre préoccupation.
J'ai conçu grâce à vous sous access, un petit programme ou logiciel de gestion des évaluations au primaire.
Voici mon soucis
Lorsque j'installe le logiciel dans un autre ordinateur je suis obligé d'aller dans le panneau de configuration puis entrer dans modifier le format de nombre de l'ordinateur pour changer le Symbole décimal ou le séparateur de liste, sinon les champs contenant les moyennes et les rangs affichent Erreur.
Je fais cet exercice à chaque fois que je change d'ordinateur.
J'ai inséré dans un module ce code que voici :

Function DecimalSep() As String
DecimalSep = Mid$(1 / 2, 2, 1)
End Function

Function NumberUS(ByVal varValue As Variant) As String
NumberUS = Replace(Str(varValue), DecimalSep(), ".")
End Function

Mais malgré ce code je suis obligé de faire le même exercice à chaque fois que je change d'ordinateur.
Alors que faire pour éviter à chaque fois de modifier le symbole décimal du nouvel ordinateur dans lequel j'installe le logiciel?
Espérant recevoir une réponse, recevez mes sincères remerciements pour les réponses précédentes qui m'ont beaucoup aidé ainsi que ma très haute considération


Afficher la suite 

17 réponses

Répondre au sujet
0
Utile
bonjour
tu peux créer le format du champ numerique dans ces propriétés lors de sa creation
Commenter la réponse de castours
yg_be 4377 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 12 janvier 2018 Dernière intervention - 23 déc. 2017 à 11:26
0
Utile
9
bonjour, quel est le type des champs numériques dans tes tables? (les champs utilisés dans les formules calculant les moyennes et les rangs)
yg_be 4377 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 12 janvier 2018 Dernière intervention > zonteomer74 29 Messages postés mercredi 30 novembre 2016Date d'inscription 3 janvier 2018 Dernière intervention - 23 déc. 2017 à 15:22
eh bien, tu peux par exemple le partager via https://www.cjoint.com/
et ensuite publier le lien dans le forum
zonteomer74 29 Messages postés mercredi 30 novembre 2016Date d'inscription 3 janvier 2018 Dernière intervention - 23 déc. 2017 à 15:23
Ok je lai fais finalement jai réussi je crois
.
yg_be 4377 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 12 janvier 2018 Dernière intervention > zonteomer74 29 Messages postés mercredi 30 novembre 2016Date d'inscription 3 janvier 2018 Dernière intervention - 23 déc. 2017 à 15:56
et ensuite publier le lien dans le forum
zonteomer74 29 Messages postés mercredi 30 novembre 2016Date d'inscription 3 janvier 2018 Dernière intervention - 23 déc. 2017 à 18:43
Voici le lien du bon fichier
https://www.cjoint.com/c/GLxrPUtohlT
yg_be 4377 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 12 janvier 2018 Dernière intervention > zonteomer74 29 Messages postés mercredi 30 novembre 2016Date d'inscription 3 janvier 2018 Dernière intervention - 23 déc. 2017 à 19:52
ok, j'ai le fichier.
je vois une chose qui peut expliquer que tu doives changer le Symbole décimal, je regarde et te tiens au courant.
par ailleurs, je vois une contradiction entre le type (texte) des champs ABSENTS1 et ABSENTS2, et les formules des champs calculés ABST1 et ABST2, où tu les compares à un nombre.
Commenter la réponse de yg_be
yg_be 4377 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 12 janvier 2018 Dernière intervention - Modifié par yg_be le 23/12/2017 à 20:07
0
Utile
2
c'était une bonne idée d'ajouter du code dans un module, et il faut l'utiliser.
exemple:
=DCount("*";"[R_EVA1]";"[MOY1]>" & NumberUS([MOY1]))+1


private Function DecimalSep() As String 
DecimalSep = Mid$(1 / 2, 2, 1) 
End Function 

Function NumberUS(ByVal varValue As Variant) As String 
NumberUS = Replace(Str(varValue), DecimalSep(), ".") 
End Function
zonteomer74 29 Messages postés mercredi 30 novembre 2016Date d'inscription 3 janvier 2018 Dernière intervention - 23 déc. 2017 à 21:05
=DCount("*";"[R_EVA1]";"[MOY1]>" & NumberUS([MOY1]))+1
ou
=CpteDom("*";"[R_EVA1]";"[MOY1]>" &NumberUS( [MOY1]))+1

J'avais une fois utilisée cette formule. Mais à chaque fois il y a une boite de dialogue qui s'affiche dans laquelle s'est écrit ceci:
<<L'expression contient un nom ambigu.Vérifiez que chaque nom de l'expression fait référence à un seul objet>>
Alors elle signal NumberUS comme l’élément posant problème
Donc je me suis passé de NumberUS et la formule fonctionne.
yg_be 4377 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 12 janvier 2018 Dernière intervention > zonteomer74 29 Messages postés mercredi 30 novembre 2016Date d'inscription 3 janvier 2018 Dernière intervention - 24 déc. 2017 à 10:07
tu avais probablement déclaré deux fois la fonction NumberUS, d'où l’ambiguïté.
Commenter la réponse de yg_be
yg_be 4377 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 12 janvier 2018 Dernière intervention - 24 déc. 2017 à 10:41
0
Utile
2
autre possibilité:
=DCount("*";"[R_EVA1]";"round(1000*[MOY1],0)> " & Round(1000*[MOY1];0))+1
zonteomer74 29 Messages postés mercredi 30 novembre 2016Date d'inscription 3 janvier 2018 Dernière intervention - 24 déc. 2017 à 15:39
Ok. Je vais le tester
Zonteo 23 Messages postés lundi 18 décembre 2017Date d'inscription 14 janvier 2018 Dernière intervention - 30 déc. 2017 à 14:38
La formule fonctionne à merveille. J'ai changé les formats de nombre dans panneau de configuration et ça marche.
Merci.
Commenter la réponse de yg_be