Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MuscatMimi

XLDnaute Accro
Bonjour a tout le Forum

Les Tbx sont dans un Usf
Est-il possible d'entrer une Somme en chiffre dans une Tbx,
et
Que dans une autre Tbx s'affiche la même Somme, mais en Lettre???

Merci a tous a l'avance
Cordialement
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Bonjour vaucluse immo,
voici une macro
A+

Code:
Private Sub CommandButton1_Click()
Dim a As Variant, gros As Variant
TextBox1.Value = Replace(TextBox1, ",", ",")
s = CDbl(TextBox1.Value)
a = Array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", _
"huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize", "dix sept", _
"dix huit", "dix neuf", "vingt", "vingt et un", "vingt deux", "vingt trois", "vingt quatre", _
"vingt cinq", "vingt six", "vingt sept", "vingt huit", "vingt neuf", "trente", "trente et un", _
"trente deux", "trente trois", "trente quatre", "trente cinq", "trente six", "trente sept", _
"trente huit", "trente neuf", "quarante", "quarante et un", "quarante deux", "quarante trois", _
"quarante quatre", "quarante cinq", "quarante six", "quarante sept", "quarante huit", _
"quarante neuf", "cinquante", "cinquante et un", "cinquante deux", "cinquante trois", _
"cinquante quatre", "cinquante cinq", "cinquante six", "cinquante sept", "cinquante huit", _
"cinquante neuf", "soixante", "soixante et un", "soixante deux", "soixante trois", _
"soixante quatre", "soixante cinq", "soixante six", "soixante sept", "soixante huit", _
"soixante neuf", "soixante dix", "soixante et onze", "soixante douze", "soixante treize", _
"soixante quatorze", "soixante quinze", "soixante seize", "soixante dix sept", _
"soixante dix huit", "soixante dix neuf", "quatre-vingts", "quatre-vingt un", _
"quatre-vingt deux", "quatre-vingt trois", "quatre-vingt quatre", "quatre-vingt cinq", _
"quatre-vingt six", "quatre-vingt sept", "quatre-vingt huit", "quatre-vingt neuf", _
"quatre-vingt dix", "quatre-vingt onze", "quatre-vingt douze", "quatre-vingt treize", _
"quatre-vingt quatorze", "quatre-vingt quinze", "quatre-vingt seize", "quatre-vingt dix sept", _
"quatre-vingt dix huit", "quatre-vingt dix neuf")
gros = Array("", "billions", "milliards", "millions", "mille", "", "billion", _
"milliard", "million", "mille", "")
sp = Space(1)
chaine = "00000000000000"
centime = Right(s * 100, 2)
s = Str(Int(s)): lg = Len(s) - 1: s = Right(s, lg): lg = Len(s)
If lg < 15 Then chaine = Mid(chaine, 1, (15 - lg)) Else chaine = ""
s = chaine + s
'billions au centaines
gp = 1
For k = 1 To 5
x = Mid(s, gp, 1): c = a(Val(x))
x = Mid(s, gp + 1, 2): d = a(Val(x))
If k = 5 Then
If t2 <> "" And c & d = "" Then mydz = "" & sp: GoTo fin
If t <> "" And c = "" And d = "un" Then mydz = "un" & sp: GoTo fin
'If t <> "" And t2 = "" And c & d = "" Then mydz = "d'Euros" & sp: GoTo fin
If t & c & d = "" Then myct = "": mydz = "": GoTo fin
End If
If c & d = "" Then GoTo fin
If d = "" And c <> "" And c <> "un" Then mydz = c & sp & "cents " & gros(k) & sp: GoTo fin
If d = "" And c = "un" Then mydz = "cent " & gros(k) & sp: GoTo fin
If d = "un" And c = "" Then myct = IIf(k = 4, gros(k) & sp, "un " & gros(k + 5) & sp): GoTo fin
If d <> "" And c = "un" Then mydz = "cent" & sp
If d <> "" And c <> "" And c <> "un" Then mydz = c & sp & "cent" + sp
myct = d & sp & gros(k) & sp
fin:
t2 = mydz & myct
t = t & mydz & myct
mydz = "": myct = ""
gp = gp + 3
Next
'pour les centimes, inversez l'apostophe selon
d = centime  'pour centimes en chiffres
'd = a(centime)   'pour centimes en lettres
If t <> "" Then myct = IIf(centime = 1, " centime", " centimes")
If t = "" Then myct = IIf(centime = 1, " centime", " centimes")
If centime = 0 Then d = "": myct = ""
TextBox2.Text = t & d & myct
End Sub
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Salut Youky

Super merci pour cette Macro

Seul oubli de ma part dans le text de ma demande
j'ai simplement et c'est pas rien, oublier de spécifier que le montant en chiffre Tbx1est en Euros (Ex: 100.00 €)
et que ce montant doit s'afficher en lettre dans la deuxiéme Tbx2
???y at'il possibiluté de modifier ce Code, que je penne a comprendre
Cdlt
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Bon voilà avec les modifs.
Au départ cette macro était avec les Euros et l'on m'a demandé de les supprimé, alors facile.
A+
Code:
Private Sub CommandButton1_Click()
TextBox1.Value = Replace(TextBox1, ".", ",")
s = CDbl(TextBox1.Value)
Dim a As Variant, gros As Variant
a = Array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", _
"huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize", "dix sept", _
"dix huit", "dix neuf", "vingt", "vingt et un", "vingt deux", "vingt trois", "vingt quatre", _
"vingt cinq", "vingt six", "vingt sept", "vingt huit", "vingt neuf", "trente", "trente et un", _
"trente deux", "trente trois", "trente quatre", "trente cinq", "trente six", "trente sept", _
"trente huit", "trente neuf", "quarante", "quarante et un", "quarante deux", "quarante trois", _
"quarante quatre", "quarante cinq", "quarante six", "quarante sept", "quarante huit", _
"quarante neuf", "cinquante", "cinquante et un", "cinquante deux", "cinquante trois", _
"cinquante quatre", "cinquante cinq", "cinquante six", "cinquante sept", "cinquante huit", _
"cinquante neuf", "soixante", "soixante et un", "soixante deux", "soixante trois", _
"soixante quatre", "soixante cinq", "soixante six", "soixante sept", "soixante huit", _
"soixante neuf", "soixante dix", "soixante et onze", "soixante douze", "soixante treize", _
"soixante quatorze", "soixante quinze", "soixante seize", "soixante dix sept", _
"soixante dix huit", "soixante dix neuf", "quatre-vingts", "quatre-vingt un", _
"quatre-vingt deux", "quatre-vingt trois", "quatre-vingt quatre", "quatre-vingt cinq", _
"quatre-vingt six", "quatre-vingt sept", "quatre-vingt huit", "quatre-vingt neuf", _
"quatre-vingt dix", "quatre-vingt onze", "quatre-vingt douze", "quatre-vingt treize", _
"quatre-vingt quatorze", "quatre-vingt quinze", "quatre-vingt seize", "quatre-vingt dix sept", _
"quatre-vingt dix huit", "quatre-vingt dix neuf")
gros = Array("", "billions", "milliards", "millions", "mille", "Euros", "billion", _
"milliard", "million", "mille", "Euro")
sp = Space(1)
chaine = "00000000000000"
centime = Right(s * 100, 2)
s = Str(Int(s)): lg = Len(s) - 1: s = Right(s, lg): lg = Len(s)
If lg < 15 Then chaine = Mid(chaine, 1, (15 - lg)) Else chaine = ""
s = chaine + s
'billions au centaines
gp = 1
For k = 1 To 5
x = Mid(s, gp, 1): c = a(Val(x))
x = Mid(s, gp + 1, 2): d = a(Val(x))
If k = 5 Then
If t2 <> "" And c & d = "" Then mydz = "Euros" & sp: GoTo fin
If t <> "" And c = "" And d = "un" Then mydz = "un Euros" & sp: GoTo fin
If t <> "" And t2 = "" And c & d = "" Then mydz = "d'Euros" & sp: GoTo fin
If t & c & d = "" Then myct = "": mydz = "": GoTo fin
End If
If c & d = "" Then GoTo fin
If d = "" And c <> "" And c <> "un" Then mydz = c & sp & "cents " & gros(k) & sp: GoTo fin
If d = "" And c = "un" Then mydz = "cent " & gros(k) & sp: GoTo fin
If d = "un" And c = "" Then myct = IIf(k = 4, gros(k) & sp, "un " & gros(k + 5) & sp): GoTo fin
If d <> "" And c = "un" Then mydz = "cent" & sp
If d <> "" And c <> "" And c <> "un" Then mydz = c & sp & "cent" + sp
myct = d & sp & gros(k) & sp
fin:
t2 = mydz & myct
t = t & mydz & myct
mydz = "": myct = ""
gp = gp + 3
Next
'pour les centimes, inversez l'apostophe selon
d = centime  'pour centimes en chiffres
'd = a(centime)   'pour centimes en lettres
If t <> "" Then myct = IIf(centime = 1, " centime", " centimes")
If t = "" Then myct = IIf(centime = 1, " centime d'Euro", " centimes d'Euro")
If centime = 0 Then d = "": myct = ""
TextBox2 = t & d & myct
End Sub
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Super ,merci

Mais ,si tu a dans la textBox1 126.56 €

ça ne traduit pas en lettre "Cents vingt six euros & cinquante six centimes"
ça n'affiche que "Cents vingt six euros 26 centimes"

????
A+++++++++
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Re voici pour modifier
Mets que les lignes avant le Dim

Private Sub CommandButton1_Click()
s = Replace(TextBox1, " ", "")
s = Replace(s, "€", "")
s = Replace(s, ".", ",")
s = CDbl(s)
Dim a As Variant, gros As Variant
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Re Youky


si tu a dans la textBox1 126.56 €

Maintenant ça traduit en lettre "Cents vingt six euros cinquante six centimes"
Mais ça n'affiche pas le & entre la somme en lettre Euros et les centimes
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Re,
Je suis pas rapide aujourd'hui
Voici une rectif pour le "et" tu peux remplacer par "&" si tu veux
Et j'ai rajouté la 1ere lettre en majuscule.
tu effaces en dessous de 'pour les centimes, inversez l'apostophe selon
.......et tu remplace par ceci.
Je n'ai pas testé mais ça doit rouler.
A+
Code:
'pour les centimes, inversez l'apostophe selon
d = "et " & centime  'pour centimes en chiffres ‘rajoute « et »
'd = a(centime)   'pour centimes en lettres
If t <> "" Then
t = Application.Proper(t)’METS MAJ 1ere lettre
 myct = IIf(centime = 1, " centime", " centimes")
else
 myct = IIf(centime = 1, " centime d'Euro", " centimes d'Euro")
end if
If centime = 0 Then d = "": myct = ""
TextBox2 = t & d & myct
End Sub
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Bonsoir Youky
merci de tes réponses

'd = a(centime) 'pour centimes en lettres
c'est sur cette ligne qu'il faut ajouter le "&"

Bonne soirée
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Re,
Je vois que tu as de la difficulté alors voici au complet
A+
Code:
Private Sub CommandButton1_Click()
TextBox1.Value = Replace(TextBox1, ".", ",")
s = CDbl(TextBox1.Value)
's = Replace(TextBox1, " ", "")
s = Replace(s, "€", "")
s = Replace(s, ".", ",")
s = CDbl(s)
Dim a As Variant, gros As Variant
a = Array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", _
"huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize", "dix sept", _
"dix huit", "dix neuf", "vingt", "vingt et un", "vingt deux", "vingt trois", "vingt quatre", _
"vingt cinq", "vingt six", "vingt sept", "vingt huit", "vingt neuf", "trente", "trente et un", _
"trente deux", "trente trois", "trente quatre", "trente cinq", "trente six", "trente sept", _
"trente huit", "trente neuf", "quarante", "quarante et un", "quarante deux", "quarante trois", _
"quarante quatre", "quarante cinq", "quarante six", "quarante sept", "quarante huit", _
"quarante neuf", "cinquante", "cinquante et un", "cinquante deux", "cinquante trois", _
"cinquante quatre", "cinquante cinq", "cinquante six", "cinquante sept", "cinquante huit", _
"cinquante neuf", "soixante", "soixante et un", "soixante deux", "soixante trois", _
"soixante quatre", "soixante cinq", "soixante six", "soixante sept", "soixante huit", _
"soixante neuf", "soixante dix", "soixante et onze", "soixante douze", "soixante treize", _
"soixante quatorze", "soixante quinze", "soixante seize", "soixante dix sept", _
"soixante dix huit", "soixante dix neuf", "quatre-vingts", "quatre-vingt un", _
"quatre-vingt deux", "quatre-vingt trois", "quatre-vingt quatre", "quatre-vingt cinq", _
"quatre-vingt six", "quatre-vingt sept", "quatre-vingt huit", "quatre-vingt neuf", _
"quatre-vingt dix", "quatre-vingt onze", "quatre-vingt douze", "quatre-vingt treize", _
"quatre-vingt quatorze", "quatre-vingt quinze", "quatre-vingt seize", "quatre-vingt dix sept", _
"quatre-vingt dix huit", "quatre-vingt dix neuf")
gros = Array("", "billions", "milliards", "millions", "mille", "Euros", "billion", _
"milliard", "million", "mille", "Euro")
sp = Space(1)
chaine = "00000000000000"
centime = Right(s * 100, 2)
s = Str(Int(s)): lg = Len(s) - 1: s = Right(s, lg): lg = Len(s)
If lg < 15 Then chaine = Mid(chaine, 1, (15 - lg)) Else chaine = ""
s = chaine + s
'billions au centaines
gp = 1
For k = 1 To 5
x = Mid(s, gp, 1): c = a(Val(x))
x = Mid(s, gp + 1, 2): d = a(Val(x))
If k = 5 Then
If t2 <> "" And c & d = "" Then mydz = "Euros" & sp: GoTo fin
If t <> "" And c = "" And d = "un" Then mydz = "un Euros" & sp: GoTo fin
If t <> "" And t2 = "" And c & d = "" Then mydz = "d'Euros" & sp: GoTo fin
If t & c & d = "" Then myct = "": mydz = "": GoTo fin
End If
If c & d = "" Then GoTo fin
If d = "" And c <> "" And c <> "un" Then mydz = c & sp & "cents " & gros(k) & sp: GoTo fin
If d = "" And c = "un" Then mydz = "cent " & gros(k) & sp: GoTo fin
If d = "un" And c = "" Then myct = IIf(k = 4, gros(k) & sp, "un " & gros(k + 5) & sp): GoTo fin
If d <> "" And c = "un" Then mydz = "cent" & sp
If d <> "" And c <> "" And c <> "un" Then mydz = c & sp & "cent" + sp
myct = d & sp & gros(k) & sp
fin:
t2 = mydz & myct
t = t & mydz & myct
mydz = "": myct = ""
gp = gp + 3
Next
'pour les centimes, inversez l'apostophe selon
d = "et " & centime  'pour centimes en chiffres
'd = "er " & a(centime)   'pour centimes en lettres
If t <> "" Then
t = UCase(Left(t, 1)) & Right(t, Len(t) - 1)
 myct = IIf(centime = 1, " centime", " centimes")
Else
 myct = IIf(centime = 1, " centime d'Euro", " centimes d'Euro")
End If
If centime = 0 Then d = "": myct = ""
TextBox2 = t & d & myct
End Sub
 
Re : Somme en chiffre dans 1 Tbx et afficher somme en Lettre dans autre Tbx

Salut Youky

'd = "& " & a(centime) 'pour centimes en lettres

Etbé j'en étais pas loin, j'essayais de placer le "& " aprés le a (centime)
mais en fait même pas pensez de le mettre avant

Merci beaucoup de ton aide précieuse

bon week-end
cdlt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
775
  • Question Question
Microsoft 365 couleur et ligne
Réponses
6
Affichages
293
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…