اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كيفية عمل حساب لرصيد أجازات


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

ألف ألف مبروك على المنتددى الجديد اللى إن شاء الله يكون فيه كل الخير

وربنا يوفقك يا باش مهندس

لو أن لديك مجموعه من الموظفين وعند نهاية الشهر يتم منح كل منهم عدد معين من الأجازات ويبدأ فى الشهر التالى استهلاك الرصيد بالشروط التاليه:

مثلا رصيد محمد فى شهر 12 هو 10 ايام

فى شهر يناير استهلك عدد 3 يوم واكتسب أجازات جديده 2 يوم فيصبح رصيد ه فى نهاية الشهر هو 8 أيام من شهر 12 و2 يوم من شهر يناير و يلاحظ هنا أن الأرصده الأقدم هى التى تستهلك أولا ويسمح باستهلاك رصيد كل شهر خلال الثلاثة أشهر التاليه فقط وما يتبقى منه يصبح صفر فى نهاية الشهر الثالث .

كيف يتم عمل ذلك فى اكسل

رابط هذا التعليق
شارك

جرب هذا

قف فى اي خلية من الخضراء فقط

و شغل الماكرو

سيعطيك الايام المتاحة

ثم يسأل عن الاجازات المطلوبة

ثم يوزعها

Sub agazat()

 Dim myrem(3) As Integer, Mydone(3) As Integer


 'MsgBox ActiveCell.Offset(-2, 2).Value

' ActiveCell.Offset(-2, 2).Select

' Exit Sub


 myrem(1) = ActiveCell.Offset(-2, 2).Value

 myrem(2) = ActiveCell.Offset(-1, 2).Value

 myrem(3) = ActiveCell.Offset(0, 2)


 Dim myval As Integer, Available As Integer, x As Integer


 Available = myrem(1) + myrem(2) + myrem(3)


 MsgBox "Available Days :  " & Available

 x = InputBox("Enter no of days", "Vication Dist", 1)


 If x > Available Then

  MsgBox "No of days > available vications"

  Exit Sub

 End If


If myrem(1) > x Then

 Mydone(1) = x

 Mydone(2) = 0

 Mydone(3) = 0


GoTo endy

Else

 Mydone(1) = myrem(1)

 Mydone(2) = x - Mydone(1)

 Mydone(3) = 0


 If Mydone(2) > myrem(2) Then

  Mydone(3) = Mydone(2) - myrem(2)

  Mydone(2) = myrem(2)

 End If



End If

endy:

 ActiveCell.Offset(-2, 1) = Mydone(1) + ActiveCell.Offset(-2, 1)

 ActiveCell.Offset(-1, 1) = Mydone(2) + ActiveCell.Offset(-1, 1)

 ActiveCell.Offset(0, 1) = Mydone(3) + ActiveCell.Offset(0, 1)


End Sub

Vic_Empl.zip

تم تعديل بواسطه Sharaf
رابط هذا التعليق
شارك

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

فاشرح ما تريد أو ضع الملف فى أي موقع مجاني اذا كان لابد من ذلك ، و لكن نحن نحبذ مناقشة الموضوعات و المشاكل بصفة عامة كي تكون فائدتها أكبر لمن يقرأ الموضوع لاحقا

جرب الملف السابق فقط قف فى أي خلية من الخلايا الخضراء ، ثم شغل الماكرو و أخبرني بالمشكلة

رابط هذا التعليق
شارك

أعتقد ان انا لم اشرح ما اريد جيدا :

نفترض الآتى :

رصيد أجازات شهر ديسمبر هو 10 ايام اترحلوا معى لشهر يناير 2003

فى شهر يناير كسبت يومين وصرفت 3 يبقى النتيجه هى ان الرصيد بتاع ديسمبر اصبح 7 ورصيد يناير زى ما هو 2 .

فى شهر فبراير كسبت صفر وصرفت 5 ايام تكون النتيجه ان رصيد شهر 12 اصبح (7-5) = 2 ورصيد شهر يناير = 2 ......

نلاحظ الآتى :

1) يتم الخصم من الرصيد الأول اذا كان به رصيد يسمح

2) اذا لم يسمح رصيد شهر ديسمبر اخصم من رصيد يناير وهكذااتعامل بنفس المنطق مع كل شهر

3) يمكن استهلاك الرصيد المتبقى من كل شهر خلال الشهور الثلاثه التاليه له وما يتبقى منه فى نهاية الشهر الثالث يصبح صفر

4) انا اقوم بالترصيد كل شهر

5) فى حالة ان المنصرف اكبر من الرصيد يتم خصم الأيام من الرثيد السنوى ومسموح برصيد اجازات سنوى 30 يوم فى السنه

وعلى العموم انا حطيت الملف فى الرابط ده ياريت يا باش مهندس تروح تجيبه

http://www.geocities.com/sherif_a/alagazat.zip

وشكرا على تعبك

رابط هذا التعليق
شارك

السلام عليكم

تصوري عن ذلك أنه يجب التعامل معه من خلال قاعدة بيانات و ليس إكسيل

فمحاولة التعامل معه فى الاكسيل ، ستكون أقرب للتحايل علي المشكلة من حلها الأمثل

و اذا وجدت حل آخر سأخبرك

و سأدل بعض الأصدقاء ممن لهم خبرة بشئون العاملين علي المشاركة ، لعل أحدهم يأتينا بفكرة مناسبة

مع تحياتي

رابط هذا التعليق
شارك

هذا مثال تم عمله بالاكسيل ,,,,,

ما فهمته من (الرصيد السنوي) هو اقصى حد من رصيد الاجازات والتي يجب ان لا يتعداه الموظف !!!

والمثال يعتمد على وجود ورقة عمل لكل موظف وكل ما عليك هو تسجيل اسم الموظف والرصيد السنوي له والعام (مره واحدة فقط في الورقة)

وبعد ذلك كل ما عليك هو التسجيل في الخلايا البيضاء فقط بصفة دوريه كل شهر (يمكنك رؤية المعادلات جيداً لترى الفكرة بنفسك) بالطبع اذا زاد رصيد الاجازات عن الرصيد السنوي لاجازات الموظف تظهر لك رسالة تحذير بذلك ,,,

للعلم:

لو تم عمل ذلك من خلال الأكسس .. اعتقد انها سوف تكون ذات مذاق خاص :ton:

المثال المرفق

holiday.zip

تم تعديل بواسطه امير عاطف
رابط هذا التعليق
شارك

  • 2 weeks later...

آسف على التأخير فى الرد

الأخ امير شكرا على مشاركتك ومجهودك ولكن الشيت اللى انت عملته لا يمت الى ما أريد بصله على الإطلاق وعلى العموم شكرا لكز

ويا باش مهندس محمد انت وعدتنى بحل الموضوع ده أو على الأقل عرضه للحل عن طريق الأكسس ولكن لم أجد اية ردود حتى الآن

هل أفقد الأمل فى حل هذه المشكله ام أنتظر ردك فى القريب؟

انا عارف ان الموضوع مش سهل ولكن لا توجد أمامى أبواب آخرى

وشكرا

رابط هذا التعليق
شارك

ويا باش مهندس محمد انت وعدتنى بحل الموضوع ده أو على الأقل عرضه للحل عن طريق الأكسس ولكن لم أجد اية ردود حتى الآن

اخي الكريم

انا لم أعد بشيء ، و الا لحاولت تنفيذ وعدي ، كل ما وعدت به هو أن أدل بعض المهتمين بهذا المجال علي الموضوع ، و قد فعلت

و المفترض ان تبدأ فى اعداد برنامج علي الاكسس ، و تطرح ما يواجهك من مشاكل فى قسم الاكسس :pp:

لكن اعداد الموضوع من الاف الي الياء فى الاكسس ، انا لا أحبذه ، لان الهدف من المنتدي هو أن نساعد بعضنا علي التعلم ، و ليس ايجاد الحلول الجاهزة ، و انا أري أنه من أراد أن يصل الي المنبع فعليه أن يسبح ضد التيار :d

و لا يمنع ذلك من ان تطرح الموضوع فى قسم الاكسس ، ربما يكون لدي أحد الأخوة ما تريد جاهزا ، أو أن يستطيع أن يوفر الوقت الازم لاعداد التطبيق الذي تريد .

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

مع تحياتي

رابط هذا التعليق
شارك

متشكرين يا باش مهندس

انا معنديش فكره عن الأكسس بس انا كويس فى اكسل واحب أعرفك انى حاولت ولا زلت أحاول بشتى الطرق لإيجاد حل للموضوع عن طريق الإكسل لأنه البرنامج الذى افضله ولكن لا جدوى

على العموم لو ملكت الوقت يا ريت تحله ومتشكرييييييييييييييين على أى حال بس لو نسيت حتلاقينى واقف لك تحت البيت فى الهرم ( انت حر بقه)

الف شكر

رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information