كيفية تحويل الأرقام إلى حروف في Excel باستخدام VBA

المقدمة
في هذا المقال، سنتعرف على كيفية تحويل الأرقام إلى نصوص مكتوبة باللغة الفرنسية في Excel باستخدام كود VBA. هذه الطريقة مفيدة لإعداد الفواتير أو أي مستند مالي يتطلب كتابة الأرقام بالحروف.
الخطوات
1. تفعيل علامة تبويب المطور (Développeur)
إذا لم تكن علامة تبويب Développeur ظاهرة، اتبع الخطوات التالية:
- اذهب إلى ملف > خيارات > تخصيص الشريط.
- قم بتحديد خيار Développeur واضغط موافق.
2. إضافة كود VBA
لتنفيذ هذه الخطوة، قم بما يلي:
- انتقل إلى علامة التبويب Développeur واضغط على Visual Basic.
- في نافذة VBA، اضغط على إدراج > وحدة (Module).
- قم بلصق الكود التالي:
Function ConvertirEnLettres(ByVal Nombre As Double) As String
Dim Unites() As String
Dim Dizaines() As String
Dim Centaines() As String
Dim Resultat As String
Dim PartieEntiere As Long
Dim PartieDecimale As Long
' تعريف الوحدات
Unites = Split("zéro un deux trois quatre cinq six sept huit neuf", " ")
Dizaines = Split("dix onze douze treize quatorze quinze seize dix-sept dix-huit dix-neuf", " ")
Centaines = Split("vingt trente quarante cinquante soixante soixante-dix quatre-vingt quatre-vingt-dix", " ")
PartieEntiere = Int(Nombre)
PartieDecimale = Round((Nombre - PartieEntiere) * 100)
' تحويل الجزء الصحيح
If PartieEntiere < 10 Then
Resultat = Unites(PartieEntiere)
ElseIf PartieEntiere < 20 Then
Resultat = Dizaines(PartieEntiere - 10)
ElseIf PartieEntiere < 100 Then
Dim Dizaine As Long, Unite As Long
Dizaine = Int(PartieEntiere / 10) - 2
Unite = PartieEntiere Mod 10
Resultat = Centaines(Dizaine)
If Unite > 0 Then
Resultat = Resultat & "-" & Unites(Unite)
End If
End If
' إضافة الجزء العشري
If PartieDecimale > 0 Then
Resultat = Resultat & " virgule " & Unites(PartieDecimale)
End If
' إضافة "Dirhams"
ConvertirEnLettres = UCase(Resultat) & " DIRHAMS"
End Function
3. استخدام الكود في Excel
بعد إضافة الكود، يمكنك استخدام الصيغة التالية في Excel:
=ConvertirEnLettres(A1)
حيث A1 هي الخلية التي تحتوي على الرقم.
تعليقات
إرسال تعليق