القائمة الرئيسية

الصفحات

تحويل الأرقام إلى حروف في Excel

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

Excel interface showcasing number-to-text conversion in French
واجهة Excel تعرض عملية تحويل الأرقام إلى نصوص باللغة الفرنسية باستخدام VBA.

المقدمة

في هذا المقال، سنتعرف على كيفية تحويل الأرقام إلى نصوص مكتوبة باللغة الفرنسية في Excel باستخدام كود VBA. هذه الطريقة مفيدة لإعداد الفواتير أو أي مستند مالي يتطلب كتابة الأرقام بالحروف.

الخطوات

1. تفعيل علامة تبويب المطور (Développeur)

إذا لم تكن علامة تبويب Développeur ظاهرة، اتبع الخطوات التالية:

  1. اذهب إلى ملف > خيارات > تخصيص الشريط.
  2. قم بتحديد خيار Développeur واضغط موافق.

2. إضافة كود VBA

لتنفيذ هذه الخطوة، قم بما يلي:

  1. انتقل إلى علامة التبويب Développeur واضغط على Visual Basic.
  2. في نافذة VBA، اضغط على إدراج > وحدة (Module).
  3. قم بلصق الكود التالي:

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 هي الخلية التي تحتوي على الرقم.

تمت برمجة هذا الحل باستخدام VBA لتحسين إنتاجيتك في Excel.

تعليقات

التنقل السريع