
تفقيط الارقام باللغة العربية Excel
تفقيط الارقام باللغة العربية Excel تحويل الرقم الى نص بالعربي نقدم لكم اليوم داله سبق و ان عرضنها و هي داله التفقيط لكن نعرض اليوم تحديثات جديده لهذه الداله و التي تستطيع تفقيط الارقام بما في ذلك الكسور اي الارقام العشريه حتي ثلاث ارقام
حيث ان داله التي سبق و ان عرضها كانت تقوم بالتفقيط حتي رقمين عشريين و بالتالي كانت غير عمليه مع بعض العملات العربيه مثل الدينار الكويتي و الذي يحتاج ثلاث كسور عشريه
تفقيط
التفقيط باللغة العربية Excel هي عمليه تحويل من الشكل الرقمي المتعارف عليه الي شكل كلمات بالشكل النصي
داله التفقيط
في البدايه دعنا نتعرف علي داله التفقيط هي داله مبرمجه يتم اضافتها الي الاكسيل او اي برنامج اخر اي ان مجموعه برامج الاوفيس لايحتوي علي هذه الداله بشكل مباشر و انما يتم اضفتها من قبل المستخدمين
دالة تفقيط عربية تصلح لكل العملات
مميزات هذه الداله
التفقيط باللغه العربيه بشكل مميز مع مراعه قواعد اللغه العربيه ( دالة تفقيط عربية تصلح لكل العملات )
يمكن تعديل الداله لتباسب اي عمله محليه ريال سعودي , دينار كويتي , جنيه مصري دولار اي عمله محليه او اجنبيه اخري
تفقيط باللغة العربية Excel
يمكن استخدام الكود في الاكسيل او الاكسيس او بعض لغات البرمجه الاخري المعتمده علي vb
لتحميل ملف دالة تفقيط الارقام باللغة العربية Excel هنا
للداله التفقيط باللغه الانجليزيه
= SpellNumber(22.50)
Option Explicit
' هذا الكود من صفحه الدعم العربي لموقع مايكروسوفت
Function SpellNumber(ByVal MyNumber)
Dim Dollars, Cents, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Million "
Place(4) = " Billion "
Place(5) = " Trillion "
' String representation of amount.
MyNumber = Trim(Str(MyNumber))
' Position of decimal place 0 if none.
DecimalPlace = InStr(MyNumber, ".")
' Convert cents and set MyNumber to dollar amount.
If DecimalPlace > 0 Then
Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Dollars
Case ""
Dollars = "No Dollars"
Case "One"
Dollars = "One Dollar"
Case Else
Dollars = Dollars & " Dollars"
End Select
Select Case Cents
Case ""
Cents = " and No Cents"
Case "One"
Cents = " and One Cent"
Case Else
Cents = " and " & Cents & " Cents"
End Select
SpellNumber = Dollars & Cents
End Function
' Converts a number from 100-999 into text
Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
' Convert the hundreds place.
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
' Convert the tens and ones place.
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function
' Converts a number from 10 to 99 into text.
Function GetTens(TensText)
Dim Result As String
Result = "" ' Null out the temporary function value.
If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
Select Case Val(TensText)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
Case Else
End Select
Else ' If value between 20-99...
Select Case Val(Left(TensText, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
Case Else
End Select
Result = Result & GetDigit _
(Right(TensText, 1)) ' Retrieve ones place.
End If
GetTens = Result
End Function
' Converts a number from 1 to 9 into text.
Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function
تفقيط الارقام باللغة العربية Excel
بالنسبه الي هذا الكود يفضل تحميله من الملف المرفق حيث ان في هذا العرض الحالي حروف اللغه العربيه غير دقيقه
'www.acc-arab.com
'هذا المحتوي خاص بموقع المحاسب العربي
'بالنسبه الي هذا الكود يفضل تحميله من الملف المرفق حيث ان في هذا العرض الحالي حروف اللغه العربيه غير دقيقه
Function lireCentaine(ByVal Montant As Double) As String
Dim ChiffreLettre
Dim Centaine As Double
Dim Dizaine As Double
Dim T As String
Dim Chaine As String
ChiffreLettre = Array("æÇÍÏ", "ÇËäÇä", "ËáÇËÉ", "ÃÑÈÚÉ", "ÎãÓÉ", "ÓÊÉ", "ÓÈÚÉ", "ËãÇäíÉ", "ÊÓÚÉ", "ÚÔÑÉ", "ÅÍÏì ÚÔÑ", "ÇËäí ÚÔÑ", "ËáÇËÉ ÚÔÑ", "ÃÑÈÚÉ ÚÔÑ", "ÎãÓÉ ÚÔÑ", "ÓÊÉ ÚÔÑ", "ÓÈÚÉ ÚÔÑ", "ËãÇäíÉ ÚÔÑ", "ÊÓÚÉ ÚÔÑ")
Centaine = Int(Montant / 100)
Select Case Centaine
Case 0
Chaine = ""
Case 1
Chaine = "ãÇÆÉ"
Case 2
Chaine = "ãÇÆÊÇä"
Case 3
Chaine = "ËáÇËãÇÆÉ"
Case 4
Chaine = "ÃÑÈÚãÇÆÉ"
Case 5
Chaine = "ÎãÓãÇÆÉ"
Case 6
Chaine = "ÓÊãÇÆÉ"
Case 7
Chaine = "ÓÈÚãÇÆÉ"
Case 8
Chaine = "ËãÇäãÇÆÉ"
Case 9
Chaine = "ÊÓÚãÇÆÉ"
End Select
Dizaine = Modulo(Montant, 100)
Select Case Dizaine
Case 0
T = ""
Case 1 To 19
T = ChiffreLettre(Dizaine - 1)
Case 20
T = " ÚÔÑæä"
Case 21 To 29
T = ChiffreLettre(Dizaine - 21) & " æÚÔÑæä"
Case 30
T = " 臂辊"
Case 31 To 39
T = ChiffreLettre(Dizaine - 31) & " æËáÇËæä"
Case 40
T = " ÃÑÈÚæä"
Case 41 To 49
T = ChiffreLettre(Dizaine - 41) & " æÃÑÈÚæä"
Case 50
T = " ÎãÓæä"
Case 51 To 59
T = ChiffreLettre(Dizaine - 51) & " æÎãÓæä"
Case 60
T = " ÓÊæä"
Case 61 To 69
T = ChiffreLettre(Dizaine - 61) & " æÓÊæä"
Case 70
T = " ÓÈÚæä"
Case 71 To 79
T = ChiffreLettre(Dizaine - 71) & " æÓÈÚæä"
Case 80
T = " ËãÇäæä"
Case 81 To 89
T = ChiffreLettre(Dizaine - 81) & " æËãÇäæä"
Case 90
T = " ÊÓÚæä"
Case 90 To 99
T = ChiffreLettre(Dizaine - 91) & " æÊÓÚæä"
Case Else
T = "Erreur de conversion !"
End Select
If Chaine <> "" Then
If (T <> "") Then
Chaine = Chaine
T = " æ" & T
End If
End If
If Chaine = "" Then
If (T <> "") Then
Chaine = Chaine
T = T
End If
End If
If (Chaine & " " & T) = " " Then
lireCentaine = ""
Else
lireCentaine = LTrim(Chaine & " ") & T
End If
End Function
Function Modulo(ByVal Nombre As Double, ByVal Diviseur As Double) As Double
Modulo = Nombre - (Diviseur * Int(Nombre / Diviseur))
End Function
Function Arrondir(ByVal ValeurArrondi As Double, ByVal NbreDeci As Integer) As Double
Arrondir = ValeurArrondi + (5 * 10 ^ -(NbreDeci + 1))
Arrondir = Int(Arrondir * 10 ^ NbreDeci) / 10 ^ NbreDeci
End Function
Function NombreToArabe(ByVal Total As Double) As String
Dim Millions As Double
Dim Milliers As Double
Dim cent As Double
Dim decimales As Double
Dim T0 As String
Dim T1 As String
Dim T2 As String
Dim T3 As String
Dim Resultat As String
Dim T As String
Total = Arrondir(Total, 3)
Millions = Int(Modulo(Int(Total / 1000000), 1000))
Milliers = Int(Modulo(Int(Total / 1000), 1000))
cent = Int(Modulo(Total, 1000))
decimales = Arrondir((Modulo(Total * 1000, 1000)), 1)
T0 = lireCentaine(Millions)
T1 = lireCentaine(Milliers)
T2 = lireCentaine(cent)
T3 = lireCentaine(decimales)
If T0 <> "" Then
If (T1 <> "") Then
If (T2 <> "") Then
T0 = T0
T1 = " æ" & T1
T2 = " æ" & T2
End If
End If
End If
If T0 = "" Then
If (T1 <> "") Then
If (T2 <> "") Then
T0 = T0
T1 = T1
T2 = " æ" & T2
End If
End If
End If
If T0 <> "" Then
If (T1 <> "") Then
If (T2 = "") Then
T0 = T0
T1 = " æ" & T1
T2 = T2
End If
End If
End If
If T0 = "" Then
If (T1 <> "") Then
If (T2 = "") Then
T0 = T0
T1 = T1
T2 = T2
End If
End If
End If
If T0 <> "" Then
If (T2 <> "") Then
If (T1 = "") Then
T0 = T0
T2 = " æ" & T2
T1 = T1
End If
End If
End If
If T0 = "" Then
If (T2 <> "") Then
If (T1 = "") Then
T0 = T0
T1 = T1
T2 = T2
End If
End If
End If
If T0 = "æÇÍÏ" Then
T0 = ""
Resultat = Resultat & T0 & " ãáíæä"
End If
If T0 = "ÇËäÇä" Then
T0 = ""
Resultat = Resultat & T0 & " ãáíæäÇä"
End If
If Millions >= 3 And Millions <= 10 Then
Resultat = Resultat & T0 & " ãáÇííä"
End If
If Millions >= 11 And Millions <= 999 Then
Resultat = Resultat & T0 & " ãáíæä"
Else
Resultat = Resultat & ""
End If
If T1 = "æÇÍÏ" Then
T1 = ""
Resultat = Resultat & T1 & " ÃáÝ"
End If
If T1 = "ÇËäÇä" Then
T1 = ""
Resultat = Resultat & T1 & " ÃáÝÇä"
End If
If Milliers >= 3 And Milliers <= 10 Then
Resultat = Resultat & T1 & " ÂáÇÝ"
End If
If Milliers >= 11 And Milliers <= 999 Then
Resultat = Resultat & T1 & " ÃáÝ"
Else
Resultat = Resultat & ""
End If
If T2 <> "" Then
Resultat = Resultat & T2 & " ÏíäÇÑ ßæíÊí"
Else
إذا كانت النتيجة <> "" ثم
النتيجة = النتيجة & "سينار كويتي"
إنهاء إذا
إنهاء إذا
إذا كان T3 <> "" ثم
إذا كانت النتيجة <> "" ثم
Resultat = Resultat & "æ" & T3 & "علاء"
آخر
Resultat = T3 & "صلاح"
إنهاء إذا
إنهاء إذا
رقم ArabicT = النتيجة
وظيفة النهاية
يمكنك أيضا مشاهده
الدوال المبرمجه في الاكسيل و كيف يمكن اضافتها في الاكسيل
المرجع الشامل لدوال الاكسيل تحميل مباشر من هنا
برنامج طباعه الشيكات كامل و مجاني مدمج داله التفقيط
داله تحويل الارقام الي حروف عربيه و انجليزيه كود مصمم باحتراف يناسب جميع العملات العربيه و الدوليه
شاهدنا في هذا المقال كود التفقيط باللغة العربية Excel يصلح لجميع العملات و يقبل الارقام العشريه حتي ثلاث ارقام عشريه و أيضا كود باللغه الانجليزيه الكود جاهز و سبق نشره علي موقع مايكروسوفت صفحه الدعم العربي للاوفيس
المحاسب العربي كل ما يبحث عنه المحاسب العربي