Aladdin62 قام بنشر يناير 12, 2020 قام بنشر يناير 12, 2020 السلام عليكم ورحمة الله وبركاته اساتذتى الكرام حياكم الله برجاء المساعدة فى تكوين معادلة لحساب قيمة التأمين لآصحاب العهد بالمدرسة لخصمها من رواتبهم ، وذلك حسب قوانين وزارة المالية ، والتى تحدد آلية الخصم ، وفيما يلى نص قانون الوزارة بهذا الشأن : شروط وأسعار التأمين بصندوق التأمين الحكومى لضمانات أرباب العهد يحدد سعر التأمين لكل مائة جنيه على النحو التالى : 1) ستة قروش في السنة عن العشرة ألاف جنيه الاولى 2) اثنى عشر قرشا في السنة عما يجاوز العشرة ألاف جنيه الاولى حتى خمسين الف جنيه 3) اربعة وعشرون قرشا في السنة عما يجاوز خمسين الف جنيها . ولكن بشرطين : 1) لا يجوز في أي حال من الاحوال ان يقل الحد الادنى لقسط التأمين عن جنيه واحد ولا يزيد على مائة وأربعة وسبعون جنيها 2) لا يجوز ان يزيد ما يستقطع من المرتب او اجر امين العهدة نظير قسط التأمين على 5ر0 % من مرتبه الاساسي عن مدة التأمين ، فإذا تجاوز قسط التأمين هذه النسبة تتحمل الجهة التابع لها امين العهدة الفرق كل الشكر والتقدير لأستاذنا الكبير الأستاذ / سليم على المجهود الكبير الذى بذلته حضرتك ولكن لدى شرطان فى المعادلة مطلوب تحقيقهما : الأول : قسط التأمين لايقل عن 1.00 جنيه ولا يزيد عن 174.00 جنيه ، وللأسف هذا الشرط لم يتحقق فى شيت حضرتك الثانى : إذا زاد قسط التأمين الذى تم حسابه عن ( 0.5 % * 12 * أساسى المرتب ) ، فإننا نعتبر أن قسط التأمين = ( 0.5 % * 12 * أساسى المرتب ) وليس القيمة المحسوبة من قبل لأنى لاحظت أقساط تأمينية كبيرة جدا فى شيت حضرتك ، وأحيانا اكبر من المرتب الأساسى للموظف وأخيرا أكرر شكرى لمجهود حضرتك وجزاكم الله خيرا ملف العمل.xlsx
سليم حاصبيا قام بنشر يناير 12, 2020 قام بنشر يناير 12, 2020 استعمل هذه الدالة Function how_to_pay(Myfact As Long, n1 As Long, n2 As Long, n3 As Long) As Long '''''''''''''''''''''''''''''''''''''''''' Select Case Myfact Case Is <= 10000 How_Many = Myfact * n1 ' a Case Is <= 500000 How_Many = (10000 * n1) + (Myfact - 10000) * n2 ' a+b Case Is > 500 How_Many = (10000 * n1) + (50000 * n2) + (Myfact - 50000) * n3 'a+c+d+e End Select how_to_pay = How_Many '''''''''''''''''''''''''''''''''''''''' End Function الملف مرفق للتوضيح Facture.xlsm 1
أفضل إجابة سليم حاصبيا قام بنشر يناير 12, 2020 أفضل إجابة قام بنشر يناير 12, 2020 تم التعديل على الماكرو Function how_to_pay(Myfact As Long, n1 As Long, n2 As Long, n3 As Long) As Long Select Case Myfact Case Is <= 10000 How_Many = Myfact * n1 ' a Case Is <= 500000 How_Many = (10000 * n1) + (Myfact - 10000) * n2 ' a+b Case Is > 500 How_Many = (10000 * n1) + (50000 * n2) + (Myfact - 50000) * n3 'a+c+d+e End Select how_to_pay = How_Many End Function '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Sub verifay_count() Dim M As Long, i%, X As Long With Sheets("Sheet1").Range("C3", Range("C2").End(4)) For i = 1 To .Rows.Count M = how_to_pay(.Cells(i), Range("k2"), Range("L2"), Range("M2")) / 1000 Select Case M Case Is < 100: X = 100 Case Is > .Cells(i).Offset(, 1) * 12 * 0.05 Select Case .Cells(i).Offset(, 1) * 12 * 0.05 Case Is < M: X = .Cells(i).Offset(, 1) * 12 * 0.05 Case Else: X = M End Select M = .Cells(i).Offset(, 1) * 12 * 0.05 End Select .Cells(i).Offset(, 2) = X Next End With End Sub الملف مرفق Facture_1.xlsm 2
سليم حاصبيا قام بنشر يناير 12, 2020 قام بنشر يناير 12, 2020 لا تنس اننا نتعامل مع القروش (كما انت ذكرت في المشاركة) 2) اثنى عشر قرشا في السنة عما يجاوز العشرة ألاف اذن 1 جنيه يساوي 100 قرش 1
Aladdin62 قام بنشر يناير 13, 2020 الكاتب قام بنشر يناير 13, 2020 كل الشكر والتقدير لحضرتك أستاذى الفاضل الأستاذ / سليم حاصبيا أستاذى الفاضل أرى ان حضرتك تحب ات تعمل الحسابات بالأكواد فهل يمكن عمل معادلة لهذه العملية الحسابية فمعذرة أعتقد أن المعادلة اسهل فى التعامل من الكود من وجهة نظرى على حجم معلوماتى المتواضعة فما هو رأى حضرتك وشكرا
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.