begin process at 2012 02 16 22:27:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

conversion( chiffres en lettres)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

conversion( chiffres en lettres)

mardi 21 novembre 2006 à 20:29:56 | conversion( chiffres en lettres)

benzaid

bonjour tout le monde
       je cherche comment faire pour convertir un chiffre en lettre en utilisant deux deux zone de texte : une pour saisir le nombre et une autre pour l'afficher en lettre et un bouton de cmd qui va declencher l'evenement  , merci d'avance.
mardi 21 novembre 2006 à 20:48:39 | Re : conversion( chiffres en lettres)

leSaleGauSS

Réponse acceptée !

te veux dire 1 = un ?
dans ce cas va falloir saisir tous les nombres possibles (un, deux, trois, ..., dix, vingts,...,cent, mille ...)
Moi je voi que ca comme solution ...

Quand je suis là tout va mal  

mardi 21 novembre 2006 à 20:54:22 | Re : conversion( chiffres en lettres)

jmfmarques

Membre Club
J'ai bien fait une application pour celà. Traduction en Français-Français, en Français-Belge, en Anglais, en Espagnol... et une (assez drôle) en jmfien (langage inconnu, sauf de moi).... mais n'ose pas l'étaler ici... (suis timide).

On la veut ?
yakadir ==>> je l'offrirai en source.
mardi 21 novembre 2006 à 21:01:50 | Re : conversion( chiffres en lettres)

leSaleGauSS

Tu ve dire quoi par francais-francais ?

Quand je suis là tout va mal  

mardi 21 novembre 2006 à 21:13:14 | Re : conversion( chiffres en lettres)

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Heu... recherche dans les sources... comme indiqué dans le point 1 du règlement !!!


Et oui, tu sais le gros lien en rouge qui s'est affiché lorsque tu as posé ta question, il est pas là pour faire joli !
mardi 21 novembre 2006 à 21:23:08 | Re : conversion( chiffres en lettres)

jmfmarques

Membre Club
Pour te répondre, meSaleGauss :
En français, par exemple, on ne dit pas septante-et-un mais soisxante-et-onze
mardi 21 novembre 2006 à 21:24:00 | Re : conversion( chiffres en lettres)

jmfmarques

Membre Club
soixante, pardon (gros doigts)
mardi 21 novembre 2006 à 21:29:51 | Re : conversion( chiffres en lettres)

leSaleGauSS


Ha d'accord (petit doigts)...

Quand je suis là tout va mal  

mardi 21 novembre 2006 à 22:49:35 | Re : conversion( chiffres en lettres)

Dolphin Boy

Membre Club

Salut,

Voici un code que j'avais péché il y a longtemps sur le site d'un certain CanisLupus et dont je ne retrouve pas l'URL. Ce code fonctionne très bien pour le français/français (à mettre dans un module) :

'
' ---------------------------------------------
' FONCTION DE TRADUCTION D'UN NOMBRE EN LETTRES
' ---------------------------------------------
'
Option Explicit
Option Base 1

Public Unité As Variant
Public Dizaine As Variant
Public Décimales As Currency
Public CasPart As Variant
Public Lettres As String
Public Cent_Pluriel As Boolean
Public Vingt_Pluriel As Boolean

'
' -------------------
' FONCTION PRINCIPALE
' -------------------
'
Function NombresEnLettres_EURO(Nombre As Currency) As String

' Limitation à 999 999 999 999 . 99
    If Nombre >= 1000000000000# Then
        MsgBox "Ce nombre est trop grand !", 0, "Message"
        Exit Function
    End If
   
' Initialisation des tableaux
    Unité = Array("UN", "DEUX", "TROIS", "QUATRE", "CINQ", "SIX", "SEPT", "HUIT", "NEUF")
    Dizaine = Array("DIX", "VINGT", "TRENTE", "QUARANTE", "CINQUANTE", "SOIXANTE", "SOIXANTE", "QUATRE-VINGT", "QUATRE-VINGT")
    CasPart = Array("DIX", "ONZE", "DOUZE", "TREIZE", "QUATORZE", "QUINZE", "SEIZE")
   
' Mise à vide de la chaîne de réception de la traduction du nombre
    Lettres = ""
   
' Initialisation des indicateurs de pluriel des nombres cent et vingt
    Cent_Pluriel = True
    Vingt_Pluriel = True
   
' Conversion de la partie décimale en un nombre de 0 à 99
' arrondi à l'unité la plus proche
    Décimales = CInt((Nombre - Fix(Nombre)) * 100)
   
' Conservation de la partie entière du nombre
    Nombre = Fix(Nombre)
   
' Orientation du traitement suivant valeur de la partie entière
    Select Case Nombre
        Case 0
            Lettres = "ZERO"
        Case 1 To 9
            Lettres = Unité(CInt(Nombre))
        Case 10 To 99
            Trt_Dizaines Nombre
        Case 100 To 999
            Trt_Centaines Nombre
        Case 1000 To 999999999999#
            Trt_Multiples_de_Mille Nombre
    End Select
      
' Indication de la monnaie
    If Nombre > 1 Then
        Lettres = Lettres & " EUROS "
    Else
        Lettres = Lettres & " EURO "
    End If

' Orientation du traitement suivant valeur de la partie décimale
    Select Case Décimales
        Case 1 To 9
            Lettres = Lettres & Unité(CInt(Décimales))
        Case 10 To 99
            Trt_Dizaines Décimales
    End Select
       
' Indication des centimes
    Select Case Décimales
        Case 1
            Lettres = Lettres & " CENT"
        Case Is > 1
            Lettres = Lettres & " CENTS"
    End Select

' Renvoi du nombre traduit en lettres
    NombresEnLettres_EURO = Lettres
   
End Function

'
' --------------------------------
' TRAITEMENT DES MULTIPLES DE 1000
' --------------------------------
'
Sub Trt_Multiples_de_Mille(Nombre As Currency)

Dim Rank As Currency
Dim Nom_Rang As String
Dim Reste As Currency

    Cent_Pluriel = False
    Vingt_Pluriel = False
   
' Initialisation suivant taille du nombre : milliers, millions ou milliards
    Select Case Nombre
        Case 1000 To 999999
            Rank = Fix(Nombre / 1000)
            Reste = Nombre Mod 1000
            Nom_Rang = "MILLE"
        Case 1000000 To 999999999
            Rank = Fix(Nombre / 1000000)
            Reste = Nombre Mod 1000000
            If Rank > 1 Then
                Nom_Rang = "MILLIONS"
            Else
                Nom_Rang = "MILLION"
            End If
        Case Is > 999999999
            Rank = Fix(Nombre / 1000000000)
            Reste = Nombre - Rank * 1000000000
            If Rank > 1 Then
                Nom_Rang = "MILLIARDS"
            Else
                Nom_Rang = "MILLIARD"
            End If
    End Select
   
' Traitement du rang des milliers, millions ou milliards
    Select Case Rank
        Case 1
            If Nom_Rang = "MILLE" Then
                Lettres = Lettres & Nom_Rang
            Else
                Lettres = Lettres & Unité(CInt(Rank)) & " " & Nom_Rang
            End If
        Case 2 To 9
            Lettres = Lettres & Unité(CInt(Rank)) & " " & Nom_Rang
        Case 10 To 99
            Trt_Dizaines (Rank)
            Lettres = Lettres & " " & Nom_Rang
        Case 100 To 999
            Trt_Centaines Rank
            Lettres = Lettres & " " & Nom_Rang
    End Select
       
    Cent_Pluriel = True
    Vingt_Pluriel = True
       
' Orientation du traitement du reste si > 0
    Select Case Reste
        Case 1 To 9
            Lettres = Lettres & " " & Unité(CInt(Reste))
        Case 10 To 99
            Lettres = Lettres & " "
            Trt_Dizaines Reste
        Case 100 To 999
            Lettres = Lettres & " "
            Trt_Centaines Reste
        Case Is > 999
            Lettres = Lettres & " "
            Trt_Multiples_de_Mille Reste
    End Select
   
    Lettres = Lettres

End Sub

'
' -----------------------------------
' TRAITEMENT DES NOMBRES DE 100 à 999
' -----------------------------------
'
Sub Trt_Centaines(Nombre As Currency)

Dim Rank As Currency
Dim Reste As Currency

    Rank = Fix(Nombre / 100)
    Reste = Nombre Mod 100
   
' Traitement du rang des centaines
    If Rank = 1 Then
        Lettres = Lettres & "CENT"
    Else
        If Reste = 0 And Cent_Pluriel Then
            Lettres = Lettres & Unité(CInt(Rank)) & " " & "CENTS"
        Else
            Lettres = Lettres & Unité(CInt(Rank)) & " " & "CENT"
        End If
    End If
   
' Traitement du reste < 100
    Select Case Reste
        Case 1 To 9
            Lettres = Lettres & " " & Unité(CInt(Reste))
        Case Is > 9
            Lettres = Lettres & " "
            Vingt_Pluriel = True
            Trt_Dizaines (Reste)
    End Select
       
End Sub

'
' ---------------------------------
' TRAITEMENT DES NOMBRES DE 10 à 99
' ---------------------------------
'
Sub Trt_Dizaines(Nombre As Currency)

Dim Reste As Integer
Dim Rank As Integer

    Rank = Fix(Nombre / 10)
    Reste = Nombre Mod 10
   
    Select Case Rank
        Case 1
            If Reste < 7 Then
                ' Nombres 10 à 16
                Lettres = Lettres & CasPart(Reste + 1)
            Else
                ' Nombres 17 à 19
                Lettres = Lettres & Dizaine(Rank) & "-" & Unité(CInt(Reste))
            End If
        Case 7
            Select Case Reste
                Case 0
                    ' Nombre 70
                    Lettres = Lettres & Dizaine(Rank) & "-" & Dizaine(Reste + 1)
                Case 1
                    ' Nombre 71
                    Lettres = Lettres & Dizaine(Rank) & " ET " & CasPart(Reste + 1)
                Case Else
                    If Reste < 7 Then
                    ' Nombres 72 à 76
                        Lettres = Lettres & Dizaine(Rank) & "-" & CasPart(Reste + 1)
                    Else
                    ' Nombres 77 à 79
                        Lettres = Lettres & Dizaine(Rank) & "-" & CasPart(1) & "-" & Unité(CInt(Reste))
                    End If
            End Select
        Case 8
            Lettres = Lettres & Dizaine(Rank)
            If Reste = 0 Then
                ' Nombre 80
                If Vingt_Pluriel Then
                    Lettres = Lettres & "S"
                End If
            Else
                ' Nombres 81 à 89
                Lettres = Lettres & "-" & Unité(CInt(Reste))
            End If
        Case 9
            If Reste < 7 Then
                ' Nombres 90 à 96
                Lettres = Lettres & Dizaine(Rank) & "-" & CasPart(Reste + 1)
            Else
                ' Nombres 97 à 99
                Lettres = Lettres & Dizaine(Rank) & "-" & CasPart(1) & "-" & Unité(CInt(Reste))
            End If
        Case Else
            ' Nombres 20 à 69
            Select Case Reste
                Case 0
                    ' Nombres 20, 30, 40, 50, 60
                    Lettres = Lettres & Dizaine(Rank)
                Case 1
                    ' Nombres 21, 31, 41, 51, 61
                    Lettres = Lettres & Dizaine(Rank) & " ET " & Unité(CInt(Reste))
                Case Else
                    ' Autres nombres
                    Lettres = Lettres & Dizaine(Rank) & "-" & Unité(CInt(Reste))
            End Select
    End Select
   
End Sub

 

mercredi 22 novembre 2006 à 00:40:01 | Re : conversion( chiffres en lettres)

chaibat05

Bonsoir,
Tu ne trouves pas que c' est un peu long, Flipper !
Le temps quie ça renvoie un résultat,
le cours de l' Euro aura changé

Il y' en a de plus performant.
Il n' a qu' à rechercher : Conversion de chiffres en lettres

 


1 2

Cette discussion est classée dans : chiffres, conversion, lettres, lettre


Répondre à ce message

Sujets en rapport avec ce message

conversion chiffres en lettres [ par habiboula ] BonjourJ'ai besoin d'aide SVP..;J'ai fait du publipostage avec Word et j'ai besoin d'un module ou une macro qui me permettrait de convertir les chiffr CONVERSION DES CHIFFRES VERS LES LETTRES [ par malcom78 ] Bonjour à tous, J'essaye de convertir des chiffres en lettres dans une table access.Alors dans une table, j'ai une colonne ou il y a des chiffres et d LETTRE EN CHIFFRE [ par oranat ] Bonjour, j'ai besoin de votre aide, j'ai besoin d'un algorithme qui transforme les lettres en chiffre, j'ai déjà réussi à faire l'inverse, c'est à dir Crypter texte en chiffres VB08 / VB10 [ par marc4950 ] Salut je débute en VB, j'apprends pas mal grace aux tuto et sources sur le site ! j'ai pensé à créer un logiciel (petit) qui permet de convertir / cr VB.NET et "Des chiffres et des lettres" [ par Attila54 ] Re bonsoir J'enviseage de creer un petit soft base sur le jeu "des chiffres et des lettres" pour une maison de retraitecee du projet J'ai une idée Générateur de chiffres et des lettres [ par Secondary117 ] Bonjour, j'aimerais créer un petit générateur de chiffres et de lettres aléatoirement. Restrictions: *Nombres de caractères définis(explication): j'ai Convertir les lettres aux chiffres [ par simo1107 ] [^^happy17]j'ai un problème avec ce code Range ("t1").Select Selection.Copy Range ("e2").Select Selection.PasteSpecial Paste:=xlPastea11, opera convertisseur chiffres en lettres arabe [ par zinovas ] Boujour a tous, je cherche de l'aide pour une fonction en VB sur Excel qui convertit les chiffres en lettres arabe mais j'ai un problème d'affichage. [Catégorie modifiée VB6 -> VBA] splitter une colonne contenant caractères chiffres et lettres [ par Pedro77 ] Bonjour Mesdames, et Messieurs, j'aurai besoin de votre aide, j'ai cherché sur votre forum, mais en tant que gros débutant, j'y comprends rien.. J'a Séparation de chiffres et lettres [ par ShiZZle971 ] Salut,Je fais un logiciel et j'aurais besoin de pouvoir trier une chaine de caractère c'est à dire qu'il me faut savoir où sont les lettres.Exemple :


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales