اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر (معدل)

سلام عليكم سادة الاعضاء

اتمنى ان تكونوا في احسن حال 

اعمل على برنامج يقوم بادخال بيانات به عدد الوحدات وسعر الوحدة والمبلغ الناتج مثل ما في المرفق

في بعض الاحيان يقع خطأ في عدد الوحدات او سعر الوحدة  في هذه الحالة نقوم باعادة تعديل البيانات

نقوم بجلب البيانات لاعادة تصحيحها  وهنا تظهر بعض المشاكل 

1  عند جلب البيانات تكون  المبالغ غير متناسقة داخل  TextBox حيث تكون مختفية او يظهر جزء منها  من الرقم والاخر مخفي وعند الضغط على TextBox يظهر المبلغ متناسق .

2 عند اعادة مثلا تصحيح عدد الوحدات ونقوم باجراء التعديل فالمبلغ (سعر الوحد والمبلغ) اللي يسجل في الصفحة يكون كرقم وليس كمبلغ كما كان اول مرة حيث عند جمع المبالغ اللي في الصفحة لا يحتسب معهم .

اريد عند جلب البيانات تكون المبالغ متناسقة داخل TextBox     وعند اعادة التعديل المبالغ (سعر الوحد والمبلغ) تكون المعدلة في صفحة الاكسل كمبلغ

ارجو ان اجد الجواب   وجزاكم الله خيرا 

 وفي انتظار ردكم تقبلوا مني فائق التقدير والاحترام

والسلام عليكم ورحمة الله تعالى وبركاته

جدول 1.xlsm

تم تعديل بواسطه حليم ناصر
اضافة مرفق
قام بنشر (معدل)

وعليكم السلام ورحمه الله وبركاته 

جرب الكود التالي لعله المطلوب 

Private Sub CommandButton1_Click()
    ff = 7
    Do Until Feuil1.Cells(ff, "a").Value = ""
        ff = ff + 1
    Loop

    ' تحويل القيم إلى أرقام قبل التخزين
    Feuil1.Cells(ff, 1).Value = Val(TextBox1.Text)
    Feuil1.Cells(ff, 2).Value = CDbl(TextBox2.Text) ' استخدام CDbl للأرقام الكبيرة
    Feuil1.Cells(ff, 3).Value = CDbl(TextBox3.Text)
    Feuil1.Cells(ff, 4).Value = CDbl(TextBox4.Text)

    ' تطبيق تنسيق الأرقام على الخلايا
    Feuil1.Cells(ff, 2).NumberFormat = "#,##0.00"
    Feuil1.Cells(ff, 3).NumberFormat = "#,##0"
    Feuil1.Cells(ff, 4).NumberFormat = "#,##0.00"

    MsgBox ("تم التسجيل")

    Me.TextBox1.SetFocus
    Me.TextBox2.Text = ""
    Me.TextBox3.Text = ""
    Me.TextBox4.Text = ""

    ddd = 7
    Do Until Feuil1.Cells(ddd, "a").Text = ""
        ddd = ddd + 1
    Loop

    Me.TextBox1.Value = ddd + 1 - 7
End Sub

Private Sub CommandButton4_Click()
    Feuil1.Activate
    ' تحويل القيم إلى أرقام عند التعديل
    ActiveCell.Offset(0, 0).Value = Val(TextBox5.Text)
    ActiveCell.Offset(0, 1).Value = CDbl(TextBox2.Text)
    ActiveCell.Offset(0, 2).Value = CDbl(TextBox3.Text)
    ActiveCell.Offset(0, 3).Value = CDbl(TextBox4.Text)

    ' تطبيق تنسيق الأرقام على الخلايا المعدلة
    ActiveCell.Offset(0, 1).NumberFormat = "#,##0.00"
    ActiveCell.Offset(0, 2).NumberFormat = "#,##0"
    ActiveCell.Offset(0, 3).NumberFormat = "#,##0.00"

    Me.TextBox5.Value = ""
    Me.TextBox2.Value = ""
    Me.TextBox3.Value = ""
    Me.TextBox4.Value = ""
    Me.TextBox5.SetFocus
End Sub

' تعديل دوال التحويل في الأحداث
Private Sub TextBox2_Change()
    If IsNumeric(TextBox2.Text) And IsNumeric(TextBox3.Text) Then
        Me.TextBox4.Value = CDbl(Me.TextBox2.Text) * CDbl(Me.TextBox3.Text)
    End If
End Sub

Private Sub TextBox3_Change()
    If IsNumeric(TextBox2.Text) And IsNumeric(TextBox3.Text) Then
        Me.TextBox4.Value = CDbl(Me.TextBox2.Text) * CDbl(Me.TextBox3.Text)
    End If
End Sub

 

تم تعديل بواسطه أبومروان
قام بنشر

سلام عليكم 

بارك الله فيك اخي ابو مروان  على هذا الرد

الان اجرب فيه  وان شاء الله يفي بالغرض

اسالك   البرنامج اللي اعمل عليه كثير العمليات هل كل عملية اعمل مثل ما كتبت لكن هل يؤثر على البرنامج اي يجعله ثقيل ام عادي لا يؤث

انا الان اجرب وسأرى

وجزاك الله خيرا وجعله في ميزان حسناتك 

والسلام عليكم ورحمة الله تعالى وبركاته

  • Like 1
قام بنشر

وعليكم السلام ورحمه الله زبركاته 

وبارك الله فيك أ/ @حليم ناصر 

إن شاء الله لم يؤثر الكود على أداء برنامجك، فهو في الأساس نفس الكود الخاص بك مع بعض التعديلات البسيطة في التنسيقات
تم التأكد من أن الخلية أو مربع النص يمكنه التعرف على ما إذا كان المحتوى رقمًا أو مبلغًا أو نصًا  وهذا ما تم تنفيذه بالفعل 

أرجو أن تقوم بتجربته ولا تتردد أبدًا في طرح أي تحدٍ أو استفسار تواجهه 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information