Je souhaite créer un état pour imprimer des chèques.
Je souhaite donc convertir les nombres en lettre. J'ai trouve un code sur le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je
sais pas comment l'intégrer et ou pour que mon champs "total" soit convertit
dans mon etat en lettre.
Si quelqu'un peut m'aider.... Merci d'avance!
Code:
Cette fonction permet de convertir un nombre en toutes lettres dans la
langue française.
L'argument "Nb" correspond au nombre à convertir et l'argument "Devise"
correspond au nom de la devise monétaire de que l'on souhaite mettre à la
suite du nombre.
Public Function ConvertNbLettres(Nb, Devise As String) As String
'traitement du cas 0
If Nb >= 1 Then
resultat = ""
Else
resultat = "zéro"
GoTo fintraitementfrancs
End If
'traitement des millions
varnum = Int(Nb / 1000000)
If varnum > 0 Then
GoSub centaine_dizaine
resultat = varlet + " million"
If varlet <> "un" Then: resultat = resultat + "s"
End If
'traitement des milliers
varnum = Int(Nb) Mod 1000000
varnum = Int(varnum / 1000)
If varnum > 0 Then
GoSub centaine_dizaine
If varlet <> "un" Then: resultat = resultat + " " + varlet
resultat = resultat + " mille"
End If
'traitement des centaines et dizaines
varnum = Int(Nb) Mod 1000
If varnum > 0 Then
GoSub centaine_dizaine
resultat = resultat + " " + varlet
End If
resultat = LTrim(resultat)
varlet = Right$(resultat, 4)
'traitement du "s" final pour vingt et cent et du "de" pour million
Select Case varlet
Case "cent", "ingt"
resultat = resultat + "s"
Case "lion", "ions"
resultat = resultat + " de"
End Select
fintraitementfrancs:
resultat = resultat + " " + Devise
If Nb > 2 Then: resultat = resultat + "s"
'traitement des centimes
varnum = Int((Nb - Int(Nb)) * 100 + 0.5)
If varnum > 0 Then
GoSub centaine_dizaine
resultat = resultat + " et " + varlet + " centime"
If varnum > 1 Then: resultat = resultat + "s"
End If
'renvoi du resultat de la fonction et fin de la fonction
ConvertNbLettres = resultat
Exit Function
'sous programme
centaine_dizaine:
varlet = ""
'traitement des centaines
If varnum >= 100 Then
varlet = Chiffre(Int(varnum / 100))
varnum = varnum Mod 100
If varlet = "un" Then
varlet = "cent "
Else
varlet = varlet + " cent "
End If
End If
'traitement des dizaines
If varnum <= 19 Then
If varnum > 0 Then: varlet = varlet + Chiffre(varnum)
Else
varnumD = Int(varnum / 10)
varnumU = varnum Mod 10
Select Case varnumD
Case Is <= 5
varlet = varlet + dizaine(varnumD)
Case 6, 7
varlet = varlet + dizaine(6)
Case 8, 9
varlet = varlet + dizaine(8)
End Select
If varnumU = 1 And varnumD < 8 Then
varlet = varlet + " et "
Else
If varnumU <> 0 Or varnumD = 7 Or varnumD = 9 Then: varlet =
varlet + " "
End If
If varnumD = 7 Or varnumD = 9 Then: varnumU = varnumU + 10
If varnumU <> 0 Then: varlet = varlet + Chiffre(varnumU)
End If
varlet = RTrim(varlet)
Return
End Function
Cette fonction retournera le nombre écrit en toutes lettres suivi du nom de
la devise stipulée dans l'argument "Devise".
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour. Je ne connais pas ton problème mais en général on place cette fonction dans le formatage de la section détail Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) Me.Moncontrôle = ConvertNbLettres(Me.total, Me.Ladevise) End Sub Me.Ladevise étant le nom de la devise
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Chris" a écrit dans le message de news:eIRnvkO%
Bonjour à tous
Je souhaite créer un état pour imprimer des chèques. Je souhaite donc convertir les nombres en lettre. J'ai trouve un code sur le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je sais pas comment l'intégrer et ou pour que mon champs "total" soit convertit
dans mon etat en lettre. Si quelqu'un peut m'aider.... Merci d'avance!
Bonjour.
Je ne connais pas ton problème mais en général on place cette fonction dans
le formatage de la section détail
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Me.Moncontrôle = ConvertNbLettres(Me.total, Me.Ladevise)
End Sub
Me.Ladevise étant le nom de la devise
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Chris" <snooper@nospam.free.fr> a écrit dans le message de
news:eIRnvkO%23DHA.3264@TK2MSFTNGP10.phx.gbl...
Bonjour à tous
Je souhaite créer un état pour imprimer des chèques.
Je souhaite donc convertir les nombres en lettre. J'ai trouve un code sur
le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je
sais pas comment l'intégrer et ou pour que mon champs "total" soit
convertit
dans mon etat en lettre.
Si quelqu'un peut m'aider.... Merci d'avance!
Bonjour. Je ne connais pas ton problème mais en général on place cette fonction dans le formatage de la section détail Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) Me.Moncontrôle = ConvertNbLettres(Me.total, Me.Ladevise) End Sub Me.Ladevise étant le nom de la devise
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Chris" a écrit dans le message de news:eIRnvkO%
Bonjour à tous
Je souhaite créer un état pour imprimer des chèques. Je souhaite donc convertir les nombres en lettre. J'ai trouve un code sur le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je sais pas comment l'intégrer et ou pour que mon champs "total" soit convertit
dans mon etat en lettre. Si quelqu'un peut m'aider.... Merci d'avance!
Le Méruvien
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
"Raymond [mvp]" a écrit dans le message de news: OlY7llS#
Bonjour. Je ne connais pas ton problème mais en général on place cette fonction dans
le formatage de la section détail Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) Me.Moncontrôle = ConvertNbLettres(Me.total, Me.Ladevise) End Sub Me.Ladevise étant le nom de la devise
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Chris" a écrit dans le message de news:eIRnvkO%
Bonjour à tous
Je souhaite créer un état pour imprimer des chèques. Je souhaite donc convertir les nombres en lettre. J'ai trouve un code sur
le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je sais pas comment l'intégrer et ou pour que mon champs "total" soit convertit
dans mon etat en lettre. Si quelqu'un peut m'aider.... Merci d'avance!
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce
truc!,
J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce
champ, j'ai mis: = ConvertNbLettres(NB)
j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je
lancemon formulaire, dans le champ [B] il y a #non?
roger.
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: OlY7llS#DHA.3816@TK2MSFTNGP09.phx.gbl...
Bonjour.
Je ne connais pas ton problème mais en général on place cette fonction
dans
le formatage de la section détail
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Me.Moncontrôle = ConvertNbLettres(Me.total, Me.Ladevise)
End Sub
Me.Ladevise étant le nom de la devise
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Chris" <snooper@nospam.free.fr> a écrit dans le message de
news:eIRnvkO%23DHA.3264@TK2MSFTNGP10.phx.gbl...
Bonjour à tous
Je souhaite créer un état pour imprimer des chèques.
Je souhaite donc convertir les nombres en lettre. J'ai trouve un code
sur
le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je
sais pas comment l'intégrer et ou pour que mon champs "total" soit
convertit
dans mon etat en lettre.
Si quelqu'un peut m'aider.... Merci d'avance!
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
"Raymond [mvp]" a écrit dans le message de news: OlY7llS#
Bonjour. Je ne connais pas ton problème mais en général on place cette fonction dans
le formatage de la section détail Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) Me.Moncontrôle = ConvertNbLettres(Me.total, Me.Ladevise) End Sub Me.Ladevise étant le nom de la devise
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Chris" a écrit dans le message de news:eIRnvkO%
Bonjour à tous
Je souhaite créer un état pour imprimer des chèques. Je souhaite donc convertir les nombres en lettre. J'ai trouve un code sur
le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je sais pas comment l'intégrer et ou pour que mon champs "total" soit convertit
dans mon etat en lettre. Si quelqu'un peut m'aider.... Merci d'avance!
Anor
Bonjour,
Le plus simple, pour tester une fonction, c'est aussi de l'appeler depuis une requête et de ne pas donner au module le même nom que la fonction.....hum.....
-- à+ Arnaud -------------------------------------------------- Conseils d'utilisation : http://users.skynet.be/mpfa/ Access Memorandum : http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Le Méruvien : | bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner | ce truc!, | J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) | et un champ [B] qui doit m'afficher le chiffre en lettre, et dans | source de ce champ, j'ai mis: = ConvertNbLettres(NB) | j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand | je lancemon formulaire, dans le champ [B] il y a #non? | roger. |
Bonjour,
Le plus simple, pour tester une fonction, c'est aussi de l'appeler depuis une requête
et de ne pas donner au module le même nom que la fonction.....hum.....
--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Access Memorandum : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Le Méruvien <Rvdb.roger@free.fr> :
| bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner
| ce truc!,
| J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre)
| et un champ [B] qui doit m'afficher le chiffre en lettre, et dans
| source de ce champ, j'ai mis: = ConvertNbLettres(NB)
| j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand
| je lancemon formulaire, dans le champ [B] il y a #non?
| roger.
|
Le plus simple, pour tester une fonction, c'est aussi de l'appeler depuis une requête et de ne pas donner au module le même nom que la fonction.....hum.....
-- à+ Arnaud -------------------------------------------------- Conseils d'utilisation : http://users.skynet.be/mpfa/ Access Memorandum : http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Le Méruvien : | bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner | ce truc!, | J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) | et un champ [B] qui doit m'afficher le chiffre en lettre, et dans | source de ce champ, j'ai mis: = ConvertNbLettres(NB) | j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand | je lancemon formulaire, dans le champ [B] il y a #non? | roger. |
Raymond [mvp]
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher. j'en ai une sur mon site mais limitée dans la somme : http://access.seneque.free.fr/sommeenlettres.htm
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" a écrit dans le message de news:4038854b$0$28123$
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher.
j'en ai une sur mon site mais limitée dans la somme :
http://access.seneque.free.fr/sommeenlettres.htm
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" <Rvdb.roger@free.fr> a écrit dans le message de
news:4038854b$0$28123$626a14ce@news.free.fr...
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce
truc!,
J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce
champ, j'ai mis: = ConvertNbLettres(NB)
j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je
lancemon formulaire, dans le champ [B] il y a #non?
roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher. j'en ai une sur mon site mais limitée dans la somme : http://access.seneque.free.fr/sommeenlettres.htm
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" a écrit dans le message de news:4038854b$0$28123$
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
Wanadoo
Bonjour Je l'utilise dans une form facture et ça fonctionne tout à fait bien Un champs texte dont la source contrôle=ConvertNbLettres([total]) Je n'utilise pas d'arguments, je n'utilise que l'euro et je l'ai mis en string dans la fonction. Est-ce grâce à ça que ça marche ? En tout cas ça fonctionne Je viens de l'essayer en mettant un argument (champs Devise que j'ai rajouté à ma table) et ça marche source contrôle=ConvertNbLettres([total];[Devise]) Salut
"Chris" a écrit dans le message de news: eIRnvkO#
Bonjour à tous
Je souhaite créer un état pour imprimer des chèques. Je souhaite donc convertir les nombres en lettre. J'ai trouve un code sur le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je sais pas comment l'intégrer et ou pour que mon champs "total" soit convertit
dans mon etat en lettre. Si quelqu'un peut m'aider.... Merci d'avance!
Code: Cette fonction permet de convertir un nombre en toutes lettres dans la langue française.
L'argument "Nb" correspond au nombre à convertir et l'argument "Devise" correspond au nom de la devise monétaire de que l'on souhaite mettre à la suite du nombre.
Public Function ConvertNbLettres(Nb, Devise As String) As String
'traitement du cas 0 If Nb >= 1 Then resultat = "" Else resultat = "zéro" GoTo fintraitementfrancs End If
'traitement des millions varnum = Int(Nb / 1000000) If varnum > 0 Then GoSub centaine_dizaine resultat = varlet + " million" If varlet <> "un" Then: resultat = resultat + "s" End If
'traitement des milliers varnum = Int(Nb) Mod 1000000 varnum = Int(varnum / 1000) If varnum > 0 Then GoSub centaine_dizaine If varlet <> "un" Then: resultat = resultat + " " + varlet resultat = resultat + " mille" End If
'traitement des centaines et dizaines varnum = Int(Nb) Mod 1000 If varnum > 0 Then GoSub centaine_dizaine resultat = resultat + " " + varlet End If resultat = LTrim(resultat) varlet = Right$(resultat, 4)
'traitement du "s" final pour vingt et cent et du "de" pour million Select Case varlet Case "cent", "ingt" resultat = resultat + "s" Case "lion", "ions" resultat = resultat + " de" End Select
fintraitementfrancs: resultat = resultat + " " + Devise If Nb > 2 Then: resultat = resultat + "s"
'traitement des centimes varnum = Int((Nb - Int(Nb)) * 100 + 0.5) If varnum > 0 Then GoSub centaine_dizaine resultat = resultat + " et " + varlet + " centime" If varnum > 1 Then: resultat = resultat + "s" End If
'renvoi du resultat de la fonction et fin de la fonction ConvertNbLettres = resultat Exit Function
'sous programme centaine_dizaine: varlet = ""
'traitement des centaines If varnum >= 100 Then varlet = Chiffre(Int(varnum / 100)) varnum = varnum Mod 100 If varlet = "un" Then varlet = "cent " Else varlet = varlet + " cent " End If End If
'traitement des dizaines If varnum <= 19 Then If varnum > 0 Then: varlet = varlet + Chiffre(varnum) Else varnumD = Int(varnum / 10) varnumU = varnum Mod 10 Select Case varnumD Case Is <= 5 varlet = varlet + dizaine(varnumD) Case 6, 7 varlet = varlet + dizaine(6) Case 8, 9 varlet = varlet + dizaine(8) End Select If varnumU = 1 And varnumD < 8 Then varlet = varlet + " et " Else If varnumU <> 0 Or varnumD = 7 Or varnumD = 9 Then: varlet > varlet + " " End If If varnumD = 7 Or varnumD = 9 Then: varnumU = varnumU + 10 If varnumU <> 0 Then: varlet = varlet + Chiffre(varnumU) End If varlet = RTrim(varlet) Return
End Function
Cette fonction retournera le nombre écrit en toutes lettres suivi du nom de
la devise stipulée dans l'argument "Devise".
Auteur : Jessy SEMPERE
Bonjour
Je l'utilise dans une form facture et ça fonctionne tout à fait bien
Un champs texte dont la source contrôle=ConvertNbLettres([total])
Je n'utilise pas d'arguments, je n'utilise que l'euro et je l'ai mis en
string dans la fonction.
Est-ce grâce à ça que ça marche ? En tout cas ça fonctionne
Je viens de l'essayer en mettant un argument (champs Devise que j'ai rajouté
à ma table) et ça marche
source contrôle=ConvertNbLettres([total];[Devise])
Salut
"Chris" <snooper@nospam.free.fr> a écrit dans le message de news:
eIRnvkO#DHA.3264@TK2MSFTNGP10.phx.gbl...
Bonjour à tous
Je souhaite créer un état pour imprimer des chèques.
Je souhaite donc convertir les nombres en lettre. J'ai trouve un code sur
le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je
sais pas comment l'intégrer et ou pour que mon champs "total" soit
convertit
dans mon etat en lettre.
Si quelqu'un peut m'aider.... Merci d'avance!
Code:
Cette fonction permet de convertir un nombre en toutes lettres dans la
langue française.
L'argument "Nb" correspond au nombre à convertir et l'argument "Devise"
correspond au nom de la devise monétaire de que l'on souhaite mettre à la
suite du nombre.
Public Function ConvertNbLettres(Nb, Devise As String) As String
'traitement du cas 0
If Nb >= 1 Then
resultat = ""
Else
resultat = "zéro"
GoTo fintraitementfrancs
End If
'traitement des millions
varnum = Int(Nb / 1000000)
If varnum > 0 Then
GoSub centaine_dizaine
resultat = varlet + " million"
If varlet <> "un" Then: resultat = resultat + "s"
End If
'traitement des milliers
varnum = Int(Nb) Mod 1000000
varnum = Int(varnum / 1000)
If varnum > 0 Then
GoSub centaine_dizaine
If varlet <> "un" Then: resultat = resultat + " " + varlet
resultat = resultat + " mille"
End If
'traitement des centaines et dizaines
varnum = Int(Nb) Mod 1000
If varnum > 0 Then
GoSub centaine_dizaine
resultat = resultat + " " + varlet
End If
resultat = LTrim(resultat)
varlet = Right$(resultat, 4)
'traitement du "s" final pour vingt et cent et du "de" pour million
Select Case varlet
Case "cent", "ingt"
resultat = resultat + "s"
Case "lion", "ions"
resultat = resultat + " de"
End Select
fintraitementfrancs:
resultat = resultat + " " + Devise
If Nb > 2 Then: resultat = resultat + "s"
'traitement des centimes
varnum = Int((Nb - Int(Nb)) * 100 + 0.5)
If varnum > 0 Then
GoSub centaine_dizaine
resultat = resultat + " et " + varlet + " centime"
If varnum > 1 Then: resultat = resultat + "s"
End If
'renvoi du resultat de la fonction et fin de la fonction
ConvertNbLettres = resultat
Exit Function
'sous programme
centaine_dizaine:
varlet = ""
'traitement des centaines
If varnum >= 100 Then
varlet = Chiffre(Int(varnum / 100))
varnum = varnum Mod 100
If varlet = "un" Then
varlet = "cent "
Else
varlet = varlet + " cent "
End If
End If
'traitement des dizaines
If varnum <= 19 Then
If varnum > 0 Then: varlet = varlet + Chiffre(varnum)
Else
varnumD = Int(varnum / 10)
varnumU = varnum Mod 10
Select Case varnumD
Case Is <= 5
varlet = varlet + dizaine(varnumD)
Case 6, 7
varlet = varlet + dizaine(6)
Case 8, 9
varlet = varlet + dizaine(8)
End Select
If varnumU = 1 And varnumD < 8 Then
varlet = varlet + " et "
Else
If varnumU <> 0 Or varnumD = 7 Or varnumD = 9 Then: varlet > varlet + " "
End If
If varnumD = 7 Or varnumD = 9 Then: varnumU = varnumU + 10
If varnumU <> 0 Then: varlet = varlet + Chiffre(varnumU)
End If
varlet = RTrim(varlet)
Return
End Function
Cette fonction retournera le nombre écrit en toutes lettres suivi du nom
de
Bonjour Je l'utilise dans une form facture et ça fonctionne tout à fait bien Un champs texte dont la source contrôle=ConvertNbLettres([total]) Je n'utilise pas d'arguments, je n'utilise que l'euro et je l'ai mis en string dans la fonction. Est-ce grâce à ça que ça marche ? En tout cas ça fonctionne Je viens de l'essayer en mettant un argument (champs Devise que j'ai rajouté à ma table) et ça marche source contrôle=ConvertNbLettres([total];[Devise]) Salut
"Chris" a écrit dans le message de news: eIRnvkO#
Bonjour à tous
Je souhaite créer un état pour imprimer des chèques. Je souhaite donc convertir les nombres en lettre. J'ai trouve un code sur le
site http://access.jessy.free.fr/ (que je vous copie ci-dessous) mais je sais pas comment l'intégrer et ou pour que mon champs "total" soit convertit
dans mon etat en lettre. Si quelqu'un peut m'aider.... Merci d'avance!
Code: Cette fonction permet de convertir un nombre en toutes lettres dans la langue française.
L'argument "Nb" correspond au nombre à convertir et l'argument "Devise" correspond au nom de la devise monétaire de que l'on souhaite mettre à la suite du nombre.
Public Function ConvertNbLettres(Nb, Devise As String) As String
'traitement du cas 0 If Nb >= 1 Then resultat = "" Else resultat = "zéro" GoTo fintraitementfrancs End If
'traitement des millions varnum = Int(Nb / 1000000) If varnum > 0 Then GoSub centaine_dizaine resultat = varlet + " million" If varlet <> "un" Then: resultat = resultat + "s" End If
'traitement des milliers varnum = Int(Nb) Mod 1000000 varnum = Int(varnum / 1000) If varnum > 0 Then GoSub centaine_dizaine If varlet <> "un" Then: resultat = resultat + " " + varlet resultat = resultat + " mille" End If
'traitement des centaines et dizaines varnum = Int(Nb) Mod 1000 If varnum > 0 Then GoSub centaine_dizaine resultat = resultat + " " + varlet End If resultat = LTrim(resultat) varlet = Right$(resultat, 4)
'traitement du "s" final pour vingt et cent et du "de" pour million Select Case varlet Case "cent", "ingt" resultat = resultat + "s" Case "lion", "ions" resultat = resultat + " de" End Select
fintraitementfrancs: resultat = resultat + " " + Devise If Nb > 2 Then: resultat = resultat + "s"
'traitement des centimes varnum = Int((Nb - Int(Nb)) * 100 + 0.5) If varnum > 0 Then GoSub centaine_dizaine resultat = resultat + " et " + varlet + " centime" If varnum > 1 Then: resultat = resultat + "s" End If
'renvoi du resultat de la fonction et fin de la fonction ConvertNbLettres = resultat Exit Function
'sous programme centaine_dizaine: varlet = ""
'traitement des centaines If varnum >= 100 Then varlet = Chiffre(Int(varnum / 100)) varnum = varnum Mod 100 If varlet = "un" Then varlet = "cent " Else varlet = varlet + " cent " End If End If
'traitement des dizaines If varnum <= 19 Then If varnum > 0 Then: varlet = varlet + Chiffre(varnum) Else varnumD = Int(varnum / 10) varnumU = varnum Mod 10 Select Case varnumD Case Is <= 5 varlet = varlet + dizaine(varnumD) Case 6, 7 varlet = varlet + dizaine(6) Case 8, 9 varlet = varlet + dizaine(8) End Select If varnumU = 1 And varnumD < 8 Then varlet = varlet + " et " Else If varnumU <> 0 Or varnumD = 7 Or varnumD = 9 Then: varlet > varlet + " " End If If varnumD = 7 Or varnumD = 9 Then: varnumU = varnumU + 10 If varnumU <> 0 Then: varlet = varlet + Chiffre(varnumU) End If varlet = RTrim(varlet) Return
End Function
Cette fonction retournera le nombre écrit en toutes lettres suivi du nom de
la devise stipulée dans l'argument "Devise".
Auteur : Jessy SEMPERE
christian.atzel
Bonsoir, J'obtiens un message d'erreur : 429 un active x ne peut pas créer d'objet. J'ai bien mis la dll dans sytem32 et dans outils, références, elle apparait bien. Encore un mystère. J'ai access 2002. Christian ATZEL "Raymond [mvp]" a écrit dans le message de news:uq9FFOT%
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher. j'en ai une sur mon site mais limitée dans la somme : http://access.seneque.free.fr/sommeenlettres.htm
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" a écrit dans le message de news:4038854b$0$28123$
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
Bonsoir,
J'obtiens un message d'erreur : 429 un active x ne peut pas créer d'objet.
J'ai bien mis la dll dans sytem32 et dans outils, références, elle apparait
bien.
Encore un mystère. J'ai access 2002.
Christian ATZEL
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:uq9FFOT%23DHA.2644@TK2MSFTNGP11.phx.gbl...
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher.
j'en ai une sur mon site mais limitée dans la somme :
http://access.seneque.free.fr/sommeenlettres.htm
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" <Rvdb.roger@free.fr> a écrit dans le message de
news:4038854b$0$28123$626a14ce@news.free.fr...
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce
truc!,
J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et
un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce
champ, j'ai mis: = ConvertNbLettres(NB)
j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je
lancemon formulaire, dans le champ [B] il y a #non?
roger.
Bonsoir, J'obtiens un message d'erreur : 429 un active x ne peut pas créer d'objet. J'ai bien mis la dll dans sytem32 et dans outils, références, elle apparait bien. Encore un mystère. J'ai access 2002. Christian ATZEL "Raymond [mvp]" a écrit dans le message de news:uq9FFOT%
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher. j'en ai une sur mon site mais limitée dans la somme : http://access.seneque.free.fr/sommeenlettres.htm
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" a écrit dans le message de news:4038854b$0$28123$
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
Daniel Carollo
Bonjour Raymond (et tous les autres).
Je viens de tester la fonction de Jessay, a vue de nez elle fonctionne.
Bonne journee a tous.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Raymond [mvp]" wrote in message news:uq9FFOT%
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher. j'en ai une sur mon site mais limitée dans la somme : http://access.seneque.free.fr/sommeenlettres.htm
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" a écrit dans le message de news:4038854b$0$28123$
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
Bonjour Raymond (et tous les autres).
Je viens de tester la fonction de Jessay, a vue de nez elle fonctionne.
Bonne journee a tous.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Raymond [mvp]" <XYZ.access.seneque@free.fr> wrote in message
news:uq9FFOT%23DHA.2644@TK2MSFTNGP11.phx.gbl...
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher.
j'en ai une sur mon site mais limitée dans la somme :
http://access.seneque.free.fr/sommeenlettres.htm
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" <Rvdb.roger@free.fr> a écrit dans le message de
news:4038854b$0$28123$626a14ce@news.free.fr...
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce
truc!,
J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et
un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce
champ, j'ai mis: = ConvertNbLettres(NB)
j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je
lancemon formulaire, dans le champ [B] il y a #non?
roger.
Je viens de tester la fonction de Jessay, a vue de nez elle fonctionne.
Bonne journee a tous.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Raymond [mvp]" wrote in message news:uq9FFOT%
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher. j'en ai une sur mon site mais limitée dans la somme : http://access.seneque.free.fr/sommeenlettres.htm
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" a écrit dans le message de news:4038854b$0$28123$
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
Daniel Carollo
Bonjour Raymond (et tous les autres).
Je viens de tester la fonction de Jessy, a vue de nez elle fonctionne.
Bonne journee a tous.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Raymond [mvp]" wrote in message news:uq9FFOT%
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher. j'en ai une sur mon site mais limitée dans la somme : http://access.seneque.free.fr/sommeenlettres.htm
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" a écrit dans le message de news:4038854b$0$28123$
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
Bonjour Raymond (et tous les autres).
Je viens de tester la fonction de Jessy, a vue de nez elle fonctionne.
Bonne journee a tous.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Raymond [mvp]" <XYZ.access.seneque@free.fr> wrote in message
news:uq9FFOT%23DHA.2644@TK2MSFTNGP11.phx.gbl...
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher.
j'en ai une sur mon site mais limitée dans la somme :
http://access.seneque.free.fr/sommeenlettres.htm
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" <Rvdb.roger@free.fr> a écrit dans le message de
news:4038854b$0$28123$626a14ce@news.free.fr...
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce
truc!,
J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et
un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce
champ, j'ai mis: = ConvertNbLettres(NB)
j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je
lancemon formulaire, dans le champ [B] il y a #non?
roger.
Je viens de tester la fonction de Jessy, a vue de nez elle fonctionne.
Bonne journee a tous.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Raymond [mvp]" wrote in message news:uq9FFOT%
Bonjour Roger.
je ne connais pas la procédure de jessy, mais elle devrait marcher. j'en ai une sur mon site mais limitée dans la somme : http://access.seneque.free.fr/sommeenlettres.htm
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Le Méruvien" a écrit dans le message de news:4038854b$0$28123$
bonjour Raymond, moi aussi je n'ai jamais réussi a faire fonctionner ce truc!, J'ai un formulaire ou j'ai mis un champ [NB] (je saisie un chiffre) et un
champ [B] qui doit m'afficher le chiffre en lettre, et dans source de ce champ, j'ai mis: = ConvertNbLettres(NB) j'ai supprimer "devise" pour simplifier, et bien ça marche pas, quand je lancemon formulaire, dans le champ [B] il y a #non? roger.
Raymond [mvp]
Bonjour Daniel.
C'est bien ce que j'ai dit hier, mais est-elle bien utilisée ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Daniel Carollo" a écrit dans le message de news:um$Te%23e%
Bonjour Raymond (et tous les autres).
Je viens de tester la fonction de Jessy, a vue de nez elle fonctionne.
Bonne journee a tous.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
Bonjour Daniel.
C'est bien ce que j'ai dit hier, mais est-elle bien utilisée ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Daniel Carollo" <danielc@NO_SPAM_PLEASE.computing-tech.com> a écrit dans le
message de news:um$Te%23e%23DHA.2524@TK2MSFTNGP10.phx.gbl...
Bonjour Raymond (et tous les autres).
Je viens de tester la fonction de Jessy, a vue de nez elle fonctionne.
Bonne journee a tous.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...