مسافر زاده الخيال قام بنشر أغسطس 25, 2019 قام بنشر أغسطس 25, 2019 خالص التحية للإخوة والأخوات الأعزاء والأساتذة الأفاضل بأوفيسنا ولا أستثني منهم أحد أكرر طلبي بالمساعدة في برنامج شئون الطلاب بعمل معادلتين لإحصاء غياب الطالب إذا غاب 5 أيام متصلة أو 7 أيام منفصلة وعمل إنذار بالحالتين ومرفق ملف للعمل انذار غياب.xlsx
سليم حاصبيا قام بنشر أغسطس 25, 2019 قام بنشر أغسطس 25, 2019 جرب هذاالماكرو Option Explicit Sub test_5() Dim str$: str = "غ" Dim k%: k = 30 Dim cont%, col% Dim i%, x%: i = 3 Range("Ag5").Resize(3, 3).ClearContents For col = 5 To 7 For x = i To k If Application.CountIf(Range(Cells(col, x), Cells(col, x + 7)), str) >= 5 Then cont = cont + 1 Cells(col, "ag").Offset(, cont - 1) = "Ok" & cont x = x + 5 End If Next cont = 0 Next End Sub الملف مرفق للمعاينة Inzar.xlsm 2 1
مسافر زاده الخيال قام بنشر أغسطس 25, 2019 الكاتب قام بنشر أغسطس 25, 2019 تعجز الكلمات أستاذنا سليم حاصبيا عن الوصف نتعلم منكم ومن الأساتذة في أوفيسنا الماكرو فعال لكن أريده أن يعمل بمجرد وصول الغياب إلي المطلوب ثم أنه بالتجربة عند غياب الطالب خمسة أيام متقطعة أعطي إنذار وهو غير مطلوب فالمطلوب اعطاء انذار عند غيابه خمسة أيام متصلة أو سبعة أيام متقطعة وأعتذر للإطالة Inzar.xlsm
وجيه شرف الدين قام بنشر أغسطس 26, 2019 قام بنشر أغسطس 26, 2019 بعد اذن استاذنا الفاضل الاستاذ سليم جزاه الله عنا خير الجزاء واثراء للموضوع انظر لهذ الملف لعله يفى بالغرض نسخة من انذار غياب.xlsm 1
مسافر زاده الخيال قام بنشر أغسطس 26, 2019 الكاتب قام بنشر أغسطس 26, 2019 (معدل) أستاذ وجيه شرف الدين تحياتي لكن الكود لم يعمل عند زيادة أيام الغياب أرجو أن تصل الفكرة مرة ثانية : أريد أن يظهر إنذار كلما غاب الطالب 5 أيام متصلة أو 7 أيام منفصلة مع تجاوز أيام العطلات وذلك علي مدار الشهر أو السنة حتي تتجمع 3 انذارات لتصل إلي 15 يوم متصل أو 21 منفصل وهذا النظام مطبق لدينا في التعليم الفني و لم أجد برنامج يقدمه تم تعديل أغسطس 26, 2019 بواسطه مسافر زاده الخيال
سليم حاصبيا قام بنشر أغسطس 29, 2019 قام بنشر أغسطس 29, 2019 تم معالجة الامر بالنسبة لخمسة ايام متتالية الكود Option Explicit Sub test_5Dyas() Rem=====>>> Created By Salim Hasbaya On 29/8/219 Dim str$: str = "غ" Dim cont%, col%, k%: k = 35 Dim i%, x%: i = 3 Dim t% Dim my_text: my_text = "انذار 5 ايام متتابعة (" Dim X_arr(), m%: m = 1 Range("Ag5").Resize(3, 3).ClearContents For col = 5 To 7 For x = i To k '========================== If Cells(4, x) = "جمعة" Or Cells(4, x) = "سبت" Then GoTo Next_X End If '========================== If Cells(col, x) = "" Then cont = 0 x = x + 1 End If '========================== cont = cont + IIf(Cells(col, x) <> "", 1, 0) '========================== If cont = 5 Then ReDim Preserve X_arr(1 To m) X_arr(m) = my_text & m & ")" m = m + 1 cont = 0 End If '========================== Next_X: Next x On Error Resume Next t = UBound(X_arr) '========================== If t Then Cells(col, "AG").Resize(1, UBound(X_arr)) = X_arr End If '================================ cont = 0 Erase X_arr: m = 1 Next col End Sub الملف مرفق Inzar 5 Days.xlsm 3
مسافر زاده الخيال قام بنشر أغسطس 29, 2019 الكاتب قام بنشر أغسطس 29, 2019 تسلم أستاذ سليم لكن أين إنذار السبعة أيام المتفرقة
سليم حاصبيا قام بنشر أغسطس 29, 2019 قام بنشر أغسطس 29, 2019 ما قلت لك تم معالجة الامر بالنسبة لخمسة ايام متتالية بالنسبة لانذار الـــ سبعة ايام لا يجوز وضع النتيجة في نفس الخلايا مع نتيجة ماكرو 5 ايام وإلا سيحصل تبادل بحيث تحصل على نتيجة اخر ماكرو تم تشغيله لذلك اقترح ان تكون نتيجة ماكرو 7 ايام في خلايا مستقلة
مسافر زاده الخيال قام بنشر أغسطس 29, 2019 الكاتب قام بنشر أغسطس 29, 2019 أستاذنا سليم حاصبيا نحن في مصر لدينا لوائح تحكمنا في التعليم الفني وأعرف أن طلباتي كثيرة فيمكن للطالب أن يحصل علي إنذارين متتاليين خلال الشهر او العام أحدهما بسبب غياب 5 أيام متصلة والآخر بسبب 7 أيام منفصلة وهكذا
أفضل إجابة سليم حاصبيا قام بنشر أغسطس 30, 2019 أفضل إجابة قام بنشر أغسطس 30, 2019 ممكن التعامل مع هذا الملف واختيار 5 ايام متتالية او 7 متفرقة او الكل الاكواد اللازمة Option Explicit Sub test_5Dyas() Rem=====>>> Created By Salim Hasbaya On 30/8/219 Dim str$: str = "غ" Dim cont%, col%, k%: k = 35 Dim i%, x%: i = 3 Dim t%, last_ro% Dim my_text: my_text = "انذار 5 (" Dim X_arr(), m%: m = 1 last_ro = Cells(Rows.Count, 2).End(3).Row Range("Ag5").Resize(last_ro - 4, 7).ClearContents If last_ro < 5 Then Exit Sub For col = 5 To last_ro For x = i To k '========================== If Cells(4, x) = "جمعة" Or Cells(4, x) = "سبت" Then GoTo Next_X End If '========================== If Cells(col, x) = "" Then cont = 0 x = x + 1 End If '========================== cont = cont + IIf(Cells(col, x) <> "", 1, 0) '========================== If cont = 5 Then ReDim Preserve X_arr(1 To m) X_arr(m) = my_text & m & ")" m = m + 1 cont = 0 End If '========================== Next_X: Next x On Error Resume Next t = UBound(X_arr) '========================== If t Then Cells(col, "AG").Resize(1, UBound(X_arr)) = X_arr End If '================================ cont = 0 Erase X_arr: m = 1 Next col End Sub '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Sub test_7Dyas() Rem=====>>> Created By Salim Hasbaya On 29/8/219 Dim str$: str = "غ" Dim cont%, col%, k%: k = 35 Dim i%, x%: i = 3 Dim t%, last_ro% Dim my_text: my_text = "انذار 7 (" Dim X_arr(), m%: m = 1 last_ro = Cells(Rows.Count, 2).End(3).Row Range("Ag5").Resize(last_ro - 4, 3).ClearContents If last_ro < 5 Then Exit Sub For col = 5 To last_ro For x = i To k '========================== If Cells(4, x) = "جمعة" Or Cells(4, x) = "سبت" Then GoTo Next_X End If '========================== '========================== cont = cont + IIf(Cells(col, x) <> "", 1, 0) '========================== If cont = 7 Then ReDim Preserve X_arr(1 To m) X_arr(m) = my_text & m & ")" m = m + 1 cont = 0 End If '========================== Next_X: Next x On Error Resume Next t = UBound(X_arr) '========================== If t Then Cells(col, "Ak").Resize(1, UBound(X_arr)) = X_arr End If '================================ cont = 0 Erase X_arr: m = 1 Next col End Sub '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Sub all_days() Dim ro%, Col_Num%: Col_Num = 30 Dim xx%, My_count% ro = Cells(Rows.Count, "b").End(3).Row Dim kk%, Mon_array() Dim st$: st = "انذار7(" If ro < 5 Then Exit Sub test_5Dyas For xx = 5 To ro My_count = Application.CountIf(Cells(xx, 3).Resize(1, Col_Num), "غ") My_count = My_count \ 7 If My_count = 0 Then GoTo Next_XX For kk = 1 To My_count Cells(xx, "ak").Offset(, kk - 1) = st & kk & ")" Next Next_XX: Next End Sub الملف مرفق Inzar ALL Days.xlsm 5 1
مسافر زاده الخيال قام بنشر أغسطس 30, 2019 الكاتب قام بنشر أغسطس 30, 2019 الله يحفظك أستاذ سليم لو امتلكت ان أعطيك جائزة نوبل لمنحتك اياها لكن طلب اخير أن يظهر الانذار الأول بعد اكتمال 5 ايام متصلة و الانذار الثاني بعد اكتمال 7 ايام متقطعة و العكس 2
أحمد يوسف قام بنشر أغسطس 30, 2019 قام بنشر أغسطس 30, 2019 اخى الكريم مسافر الموضوع هكذا اخذ أكبر من حجمه من فضلك اجعل وقت لباقى الأعضاء لحل مشاكلهم مثلك 1
سليم حاصبيا قام بنشر أغسطس 30, 2019 قام بنشر أغسطس 30, 2019 ما تراه ليس الانذار السادس او اسابع مثلاُ : أنذار 5(1) معناه انذار الخمسة ايام رقم 1 أنذار 7(2) معناه انذار السبعة ايام رقم 2 وهكذا 1
احمد بدره قام بنشر أغسطس 30, 2019 قام بنشر أغسطس 30, 2019 بارك الله فيك أستاذنا الفاضل أستاذ / سليم 1
فضل حسين قام بنشر أغسطس 30, 2019 قام بنشر أغسطس 30, 2019 الاستاذ الفاضل / سليم حاصبا ارجو ان تسامحونى على قله فهمى ويكون صدركم رحب وهذا الكلام للتوضيح ايضا للاستاذ / مسافر انتم رجعتم ليه تعدوا للطالب الغياب اللى انا فاهمه ان الطالب غاب 5 أيام متصلين ارسل له الانذا الاول بعدد 5 أيام متصلين واصبح الطالب فهم انه غاب عدد5 ايام متصلين ليه بقى اما غاب يومين بعد كده رجعتم تعدوا للطالب مره اخرى وبتبعدوا له انذار ثانى بعدد 7 أيام منفصلين كده الطالب لم يفهم هو الانذار الثانى بداخله 5 أيام متصلين ام لا ولا الانذار الثانى بعدد 7 أيام من غير 5 أيام المنصلين تشتت الطالب الصح ان سيادتكم لو ارسلتم للطالب انذار اول بعدد 5 أيام متصلين انذار اول لاترسل للطالب انذار ثانى للطالب الا اذا غاب بعد 5 أيام متصلين عدد 7 ايام منفصلين يعنى يكون فى اجمالى غيابه غاب 12 يوم وبكده فهم الطالب الانذار اول كان علشان 5 ايام متصلين ولم جاء له الانذار الثانى كان نتيجة غيابه بعد 5 أيام المتصلين فاصبح اجمالى غيابه 12 مش ابعتله انذار اول بعدد 5 أيام متصلين ويحضر يوم المدرسة ويغيب يومين اقوم ابعتله اندار ثانى بعدد 7 أيام واقوله منفصلين هذا من وجهة نظرى ليس صح ارجو الرد والمتابعة لان الموضوع ده مهم والمنتدى لم يتطرق له من قبل 1
احمد بدره قام بنشر أغسطس 31, 2019 قام بنشر أغسطس 31, 2019 بعد إذن أستاذنا القدير سليم على حسب فهمي لكم يكون المطلوب بالشكل في الملف التالي Inzar ALL Days-1.xlsm 1
مسافر زاده الخيال قام بنشر أغسطس 31, 2019 الكاتب قام بنشر أغسطس 31, 2019 خالص الشكر للأستاذة إللي شرفوني باثراء موضوعي لكن أستاذ احمد بدره حضرتك في ملحوظة صغيرة إن غياب الطالب الثاني حضرتك جمعت بين غياب الخمسة أيام والسبعة أيام في انذارين ونحن نريد أن نفصل بين إنذار الطالب بسبب غياب خمسة أو سبعة ثم الإنذار التالي بسبب غياب خمسة أو سبعة متتاليين ليجمع 15 يوما متواصلين أو 21 يوما متفرقين وهكذا
احمد بدره قام بنشر أغسطس 31, 2019 قام بنشر أغسطس 31, 2019 جرب هذا التعديل ربما يفي الغرض Inzar ALL Days-1.xlsm
فضل حسين قام بنشر أغسطس 31, 2019 قام بنشر أغسطس 31, 2019 (معدل) استاذ الفاضل / مسافر سلام الله عليكم ورحمته وبركاته على فكرة أنا سألت عن الغياب من مسئولين فى التعليم الفنى وشوفت من الامانة ان اعرض على سيادتك اجابة المسئول فى التعليم الفنى أولا :- يفصل الطالب على عدد 15 يوم متصل وعدد 30 يوم منفصل وليس على 21 منفصل ثانيا:- عندما ترسل للطالب انذار سواء كان متصل او متقطع انت لاتذكر في هذا الانذار ان غياب الطالب متصل او متقطع . ولكن بتقول فى الانذار انه يوجد مادة فى القانون نسيت رقمها بتنص على ان الطالب لو تغيب 15 متصل يفصل ولو تغيب عدد 30 منفصل يفصل . لو عايز رقم المادة او القانون اجيبها لسيادتك ثالثا :- لابد وان يرسل للطالب عدد 3 أنذارات ولايقل عن 3 سواء هاتفصله متصل او متقطع وهذه نقطة مهم يكون وصل للطالب عدد 3 إنذارت قبل الفصل رابعا :- مفيش قانون او مادة حددت ان بعد مثلا غياب الطالب 5 أيام متصلة ترسل له انذار اول متصل او يوجد قانون عندما يغيب الطالب عدد 7 أيام منفصلين ارسل له انذار اول بعدد 7 منفصلين مفيش قانون ولامادة ولا لائحة تقول هذا . ولكن يبق سؤال كيف تحكم او تنفذ فكرة ارسال الانذارات فكرة الانذارات كالاتى ان تنذر او توضح او تفهم الطالب قبل مايفصل مثلا من غياب متصل أو غياب منفصل انه لو لم يحضر سوف يفصل وتعطيه فرصة انه لو حضر بعد الانذار الثالث هايكون عنده فرصة للرجوع للمدرسة وانه لم يفصل . وبكده وطالما مفيش قيود قانونية ممكن ابعت للطالب انذار اول متصل بعدد 4 أيام او انذار متصل بى 5 أيام مفيش مشكلة والانذار الثانى يكون بعدد 8 أو 10 غياب متصل . بس خلى بالك الانذار الثالث بعدد مثلا 12 يوم غياب متصل أو 13 يوم غياب متصل على اقصى تقدير علشان لو الطالب رجع بعد الانذار الثالث يكون عنده فرصة للرجوع قبل الفصل . تطبيقا لمبدأ الانذارات تنذر او توضح او تعرف الطالب ان على وشك الفصل وليس لقطع الرقبة. وبكده ياريس يكون الخلاصة طالب غاب متصل ومنفصل مثلا غاب 5 متصل وبعد كده حضر كذا يوم وغاب بعد كده عدد 2 يوم . هاترسل له انذار اول بعدد 5 أو 4 ومش هانقول متصل او منفصل انذار اول فقط لاغير. وننتظر لو وصلوا الى 8 متصلين نرسل الانذار الثانى ولانقول متصلين ولو وصلوا مثلا 16 منفصلين نرسل الانذار الثانى وهكذا وعلى فكرة عندما سألت قال لى ممكن تعمله الانذارات المتصلة على 4 ثم 8 ثم 12 والانذارات المنفصلة اضرب فى 2 يعنى الانذارت المنفصلة تكون على 8 ثم 16 ثم 24 وطبعا لو ارسلت انذار اول متصل على 4 وغاب الطالب منفصل تبعت له انذار ثانى على 16 منفصل وهكذا يعنى الموضوع عايز يفهم شكله العام ثم ينظم برمجيا انا أسف وبعتذر بشده استاذى الفاضل / مسافر على الاطالة ولكن احببت ان اوصل ماسمعته او ماعرفته وصدقونى لو وصلنا الى حل لفكرة الغياب دى برمجيا هايكون عندنا برنامج شئون طلبة فريد من نوعه لانه لااحد تطرق لهذا البرنامج ومفيش حد عمله وهايكون بمثابة عمل عظيم وهذا من اسباب اهتمامى بهذا الموضوع وان شاء الله هافكر اعمله لو فهمته برمجيا اعتذر مره اخرى للاطالة والله الموفق تم تعديل أغسطس 31, 2019 بواسطه فضل حسين 1
مسافر زاده الخيال قام بنشر أغسطس 31, 2019 الكاتب قام بنشر أغسطس 31, 2019 شكرا علي اهتمامك بالموضوع أستاذ فضل حسين فالاستفادة للجميع - و للتوضيح أنا أطلب المعادلة أو الكود الذي يعطي الإنذار عند غياب الطالب وليس كتابة منفصل أو متصل وكل ما ذكرته حضرتك يدخل في دائرة الاهتمام - ثم ان الانذار الغرض منه اعلام ولي الأمر بتسرب ابنه من المدرسة أو الاستفسار عند غيابه بشكل متكرر
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.