بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation since 04/20/26 in all areas
-
5 points
-
السلام عليكم بعد اذن استاذنا ابو مروان اليك تعديل زر الترحيل باستخدام المصفوفات Sub AddEmployee() Dim ws1 As Worksheet, ws2 As Worksheet Dim nextRow As Long, i As Long Dim srcRange As Variant Set ws1 = ThisWorkbook.Sheets("Sheet1") Set ws2 = ThisWorkbook.Sheets("Sheet2") If ws1.Range("I9").Value = "" Then MsgBox "يرجى إدخال اسم الموظف!", vbExclamation, "تنبيه" Exit Sub End If nextRow = ws2.Cells(ws2.Rows.Count, "C").End(xlUp).Row + 1 srcRange = Array("I5", "I7", "I9", "I11", "I13", "L11", "L13", "I15", "L15", _ "L5", "L7", "L9", "I19", "L19", "I21", "L21", "I23", "L23", _ "I25", "L25", "I28", "L28", "L30", "I33", "L33", "I35", "L35", _ "I37", "I40", "L40", "I44", "L44", "I46", "L46", "I48", "L48", _ "I50", "L50", "I52", "L52", "L55") For i = LBound(srcRange) To UBound(srcRange) ws2.Cells(nextRow, i + 1).Value = ws1.Range(srcRange(i)).Value Next i MsgBox "تمت إضافة الموظف بنجاح!", vbInformation, "نجاح" End Sub بسم الله.xlsm3 points
-
السلام عليكم كما في العنوان حسابات جارية للأموال الواردة والمنصرف لشركة محددة وفروعها قيود للفروع وللموظفين تحويلات مفتوحة بين هذه القيود حساب الواردات لكل فرع حساب المصاريف لكل فرع تقرير تفصيلي حسب كل قيد رواتب الموظفين .. حسب الموظف الواحد وفرعه او حسب موظفي فرع او جميع موظفي الشركة ... فقط بضغطة زر برنامج عفريت صغير يقدم خدمة عظيمة اتمنى ان تجدوا الفائدة .. الفائدة العملية باستخدامه .. او الاستفادة من فكرة التصميم وبناء الأساسات الشكر لأخي خليفة لاشتراكة في تصميم جزء من البرنامج لا تنسوني من دعواتكم الطيبات KaliAcount.rar2 points
-
2 points
-
هذا الشيئ طبيعي فالبيانات تكون قليلة والأكواد مازالت في أول إصدار لها (أي أنها مثالية وفقاً للدراسة التي تمت عند التصميم) وهذا الشيئ أيضا طبيعي فأنت لا تقوم بأي عملية تطوير إلا لحل مشكلة طارئة أو تحسين وتبسيط للمهام بحسب طلب المستخدمين وأول ماستفكر به هو طالما وأن البرنامج يعمل بطريقة سليمة فسأبقي الوضع على ماهو عليه وسأقوم بإضافة بعض التعليمات البرمجية الجديدة التي من شأنها حل المشكلة التي طرأت أو تنفيذ التحسين المطلوب ولكنك وبدون أن تشعر تكون قد أضفت أعباء جديدة على البرنامج والتي تتراكم لتسبب بعض التأخير الذي يزداد مع زيادة حجم البيانات ليصبح التأخير مزعجاً. بالإضافة لما جاء ضمن رد الأخ @jjafferr فنصيحتي هنا أنه عند الوصول لهذه المرحلة فأن الأمر يتطلب منك مراجعة شاملة للبرنامج من حيث - إعادة بناء قاعدة البيانات بطريقة علمية سليمة وذلك لعدة أسباب منها - أن من ضمن الحلول التي كنت تضعها من المؤكد أنك قد تضطر لإجراء بعض التعديلات على الجداول - عند إنشاء البرنامج لأول مرة قد ترى أن هناك حقول لاتستدعي منك فصلها في جداول مستقلة ولكن مع تضخم البيانات فإن الأكواد التي تقوم بإسترجاع البيانات من هذه الحقول سيقل أداؤها لذلك سيكون من الافضل فصلها في جداول مستقلة وهذا ما سينتج عنه تسريع في الأداء - عدم التعامل مع بيانات الجدول مباشرة بل مع بيانات مفلترة منه (ماذا اقصد ؟) الان عندما تقوم بتحديد الجدول كاملاً كمصدر لبيانات النموذج او التقرير فإنه يتم تحميل جميع بياناته في كل مرة تقوم بفتح هذا النموذج او التقرير لذلك يفضل أن يتم فتح النموذج على بيانات محددة مثلاً نموذج المبيعات يفضل أن يرتبط ببيانات العام او الشهر الحالي فقط وهذا سيؤدي الى تحسن في سرعة الاداء تزداد ملاحظته مع زيادة حجم البيانات كذلك عمليات البحث كلما كانت عينة البحث اصغر كان البحث أسرع لذلك وعلى سبيل المثال عندما يكون لدينا كود يقوم باستخدام دوال تجميع المجال لإسترجاع بيانات من إستعلام يحتوي بيانات سنة مالية واحدة سيكون أداؤه اسرع من نفس الكود لو كان يبحث في الجدول ككل - تطبيق مفهوم الأرشفة مفهوم الارشفة يقوم على فصل البيانات التاريخية وإستبدالها بجداول تحتفظ ببيانات إحصائية للرجوع اليها في حال الاحتياج لها للتقارير طبعا هذا يعتمد على طريقة عمل كل شركة ورؤية المطور فإذا رأي المطور أن الاحتياج للبيانات التاريخية يقل للحد الادنى مع مرور الوقت فيمكنه اقتراح الفكرة لانشاء الية عمل تشبه آلية انشاء السنة المالية الجديدة حيث يتم فيها أرشفة البيانات التاريخية كل سنة بترحيل بيانات السنة السابقة الى قاعدة بيانات جديدة والاحتفاظ ببيانات احصائية منها (كآرصدة اول الفترة) وتصفية الجداول من جميع البيانات لتبدأ من الصفر للسنة المالية الجديدة بهذا سيظل البرنامج دائما خفيفا وسريعا - اعادة دراسة وتقييم التعليمات البرمجية من واقع تجربتي فإني أحياناُ كثيرة وأثناء مراجعتي لأكواد قديمة قمت بكتابنها في أكثر من تطبيق تكون ردة فعلي (بماذا كنت أفكر وقتها ؟؟؟) أو أضحك على بساطته وأعتقد أن الكثير منا مر بنفس التجربة وهذا شيئ طبيعي فمع مرور الوقت وتراكم الخبرة تجد أن ما كنت تعالجه بكود يحتوي عشرات الأسطر بإمكانك معالجته بكود لايتعدى العشرة أسطر كذلك الحال في الحالات التي ذكرتها في بداية كلامي فأنك قد تضطر إلى إضافة أكواد لحل مشاكل طارئة أو تبسيط مهام وتقضل إضافة الأكواد بدون مساس للاكواد الحالية وهذا قد يؤدي (وعن غير قصد) إلى مضاعفة العمل أو التعارض مع تعليمات برمجية قائمة وتحميلها بأعباء إضافية لم تنتبه لها في حينه أو إنتبهت لها ولكنك تجاهلتها إما لضيق الوقت أو لأثرها الغير ملحوظ وقتها على الاداء ومن خلال عملية إعادة دراسة وتقييم التعليمات البرمجية يمكنك إعادة كتابة التعليمات البرمجية التي يمكن إختصارها وتحسينها وهذا سيكون له الأثر الكبير في الأداء وعلى فكرة هذه العملية هي إجراء قياسي يقوم به جميع مطوري البرامج فدائماً ما يتم تنزيل تحديثات بسيطة لبرامج ويندوز تقوم بتصحيح أو إصلاح مشكلات بسيطة وفجأة نجد تحديث كبير ينتج عنه إصدار جديد كليا من البرنامج وغالبا مايكون بسبب تطوير شامل للبرنامج من حيث المظهر والوظائف تنويه - كل الملاحظات والنصائح المذكورة أعلاه هي مجرد تسليط للضوء على أهم أسباب تباطؤ تطبيقات أكسس (المرتبطة بالكائنات التابعة لأكسس) وطرق معالجتها وأريد على التأكيد على أنها لا تشمل كل الأسباب أو كل الحلول إنما هي أهم الأسباب والحلول (من وجهة نظري) يوجد أيضاً أسباب أخرى تكون مرتبطة بالشبكة والتي يكون حلها بأحد حلين (برمجي Software أو عتاد Hardware) - الحل البرمجي يقوم به المطور خصوصاً بتطبيق النصيحة الثانية المذكورة أعلاه (إستخدام البيانات المفلترة) فقد تكون المشكلة غير ملموسة عند العمل في الوضع العادي (قاعدة البيانات المحلية) ولكن يمكن أن تظهر عند العمل من خلال الشبكة لذلك سيكون من الأفضل تصفية البيانات التي يتم العمل معها إلى الحد الأدنى حتى لايتم تحميل الشبكة ببيانات إضافية لن يحتاجها المستخدم أثناء العمل. - الحل الثاني وهو مرتبط بالتجهيزات وخدمة الإتصال بالسيرفر وهذا الحل يجب أن يتم فيه إستشارة مهندسي الشبكات فهم من سيقدمون الحل الأفضل للمشكلة حيث سيكون لديهم الخبرة الكافية في أنواع التجهيزات الحديثة وأفضل أنواع الكابلات وأسرع خدمة إتصال يمكن الحصول عليها . الملاحظة التي يجب ذكرها أن الحل الثاني يعتمد إعتماداً كلياً على أداء التطبيق في الوضع العادي (قاعدة البيانات المحلية) فمن غير المعقول أن أبحث عن حل لمشكلة الشبكة والبرنامج أصلاً بطئ حتى بدون شبكة. في الأخير أرجو أن أكون قد قدمت فكرة بسيطة عن أهم مشاكل تباطؤ تطبيقات الأكسس2 points
-
2 points
-
2 points
-
2 points
-
يبدو ان ملاحظة اخونا فوكش الاولى في محلها ولكنه لم يشخص بدقة وكنت اظن ان الامور تمام .. حتى اكد اخونا ابو محمد مكان الخلل تم اصلاح الخلل وربط الموظف بالفرع عند التسجيل KaliAcount2.rar2 points
-
ما شاء الله اخوي خليفة ,, تفصيل اكثر من الطلب والحاجة سلمت اناملك2 points
-
وعليكم السلام ورحمة الله وبركاته حسب فهمي لطلبك اليك المطلوب طباعة مع ترقيم الصفحة.xlsm2 points
-
Version 1.0.1
9 تنزيل
السلام عليكم ورحمة الله تعالى وبركاته استاذتى الكرام رواد المنتدى المحترمين اولا : بعد أذن استاذى الجليل ومعلمى القدير الاستاذ @منتصر الانسي --------------------------- قمت بتحميل مرفق للاستاذ منتصر جزاه الله عنا كل خير من هذا الموضوع الشيق : قمت بدراسة المرفق وتحليله بصراحة المرفق والفكرة أعجبت بهم كثيرا قمت بعمل القليل من التطوير ويتمثل هذا التطوير فى ....... طب ما تحملوا وشوفوا انتم بنفسكم وبعد إذن ستاذى الجليل قمت باقتباس الاسم والصورة من الموضوع الاصلى لان هذا المرفق هو إمتداد فقط للأفكار وها هى بضاعتكم نردها اليكم أحسن الله اليكم وشكر لكم وجزاكم عنى وعن كل طلاب العلم خيرا إن شاء الله استاذى الجليل : اتمنى أن تنال أفكارى المتواضعة استحسانكم ورضاكم2 points -
استاذى الجليل و معلمى القدير و والدى الحبيب اتفضل Database3.zip2 points
-
علني اكون قد فهمت المنطق جيداً .. تفضل التعديل :- Sub DrawCirclesByFoksh(ByVal x As Integer, ByVal startRow As Integer, ByVal endRow As Integer) Dim Shp As Shape Dim r As Long, i As Long, n As Long Dim c As Range Dim usedRows As Collection Dim dayCount As Long, perDay As Long, extra As Long Dim rr As Variant, lastCol As Long Dim hasLesson As Boolean If x <= 0 Then Exit Sub Set usedRows = New Collection For r = startRow To endRow hasLesson = False For i = 3 To 10 If Cells(r, i).Value <> "" Then hasLesson = True Exit For End If Next i If hasLesson Then usedRows.Add r Next r dayCount = usedRows.Count If dayCount = 0 Then Exit Sub perDay = x \ dayCount extra = x Mod dayCount n = 0 For Each rr In usedRows Dim circlesThisDay As Long circlesThisDay = perDay If extra > 0 Then circlesThisDay = circlesThisDay + 1 extra = extra - 1 End If lastCol = 0 For i = 10 To 3 Step -1 If Cells(rr, i).Value <> "" Then lastCol = i Exit For End If Next i For i = lastCol To 3 Step -1 If Cells(rr, i).Value <> "" And circlesThisDay > 0 Then Set c = Cells(rr, i) Set Shp = Sheet1.Shapes.AddShape(msoShapeOval, _ c.Left, c.Top, c.Width, c.Height) Shp.Fill.Visible = msoFalse Shp.Line.Weight = 1 Shp.Line.ForeColor.SchemeColor = 10 circlesThisDay = circlesThisDay - 1 n = n + 1 If n >= x Then Exit Sub End If Next i Next rr End Sub2 points
-
اما فكرتي هذه ......... وهي حتى الان غير قابلة للنشر ..... 💡 نظام متكامل لإدارة صلاحيات المستخدمين في Microsoft Access يهدف هذا البرنامج إلى توفير تحكم كامل ومرن في صلاحيات المستخدمين داخل قاعدة بيانات Access، بحيث يتم تخصيص الصلاحيات على مستوى النماذج والأزرار بشكل دقيق، مما يعزز الأمان وسهولة الاستخدام. 🔐 أولاً: إدارة صلاحيات النماذج يوفر النظام إمكانية التحكم في صلاحيات المستخدم لكل نموذج على حدة، وتشمل: ➕ إضافة بيانات (Add) ✏️ تعديل بيانات (Edit) ❌ حذف بيانات (Delete) حيث يمكن تحديد ما إذا كان المستخدم: يملك صلاحيات كاملة أو صلاحيات محدودة (عرض فقط أو إضافة بدون تعديل… إلخ) 🎛️ ثانياً: التحكم في الأزرار داخل النماذج يتميز النظام بإدارة ذكية لواجهة المستخدم من خلال: إظهار الأزرار المصرح بها فقط حسب صلاحيات المستخدم إخفاء الأزرار غير المسموح بها تلقائيًا إعادة ترتيب الأزرار ديناميكيًا بحيث: لا تظهر أي فراغات يتم عرض الأزرار بشكل متتالي ومنظم الحفاظ على الشكل الجمالي للنموذج 🎨 ثالثاً: تخصيص واجهة المستخدم يوفر البرنامج مرونة عالية في تخصيص الواجهة، مثل: ✍️ التحكم في مسميات الأزرار بسهولة 🖼️ تغيير أيقونات الأزرار 🏠 تخصيص الشاشة الرئيسية: أسماء العناصر الأيقونات ترتيب العرض وذلك بدون الحاجة لتعديل الكود، بل من خلال جداول إعدادات مخصصة. ⚙️ رابعاً: مميزات إضافية نظام يعتمد على مستويات المستخدمين (User Levels / Groups) سهولة التوسع وإضافة صلاحيات جديدة إمكانية ربط الصلاحيات بجداول لسهولة الإدارة واجهة ديناميكية تتكيف مع كل مستخدم تلقائيًا 🔐 خامساً: إدارة كلمات المرور واستعادتها يدعم النظام آليات متقدمة لإدارة حسابات المستخدمين، مما يعزز مستوى الأمان وسهولة الاستخدام، وتشمل: 📧 استعادة كلمة المرور عبر البريد الإلكتروني إمكانية استرجاع كلمة المرور في حال نسيانها إرسال رابط أو رمز تحقق (OTP) إلى البريد الإلكتروني الخاص بالمستخدم التحقق من هوية المستخدم قبل إعادة تعيين كلمة المرور ضمان حماية الحساب من الوصول غير المصرح به 🔄 تغيير كلمة المرور تمكين المستخدم من تغيير كلمة المرور الخاصة به في أي وقت التحقق من كلمة المرور الحالية قبل التغيير تطبيق سياسات أمان (مثل الحد الأدنى لطول كلمة المرور أو تعقيدها) حفظ كلمة المرور بشكل آمن (مشفّر) داخل قاعدة البيانات 🚀 الخلاصة هذا النظام يوفر بيئة عمل احترافية داخل Access من خلال: تعزيز الأمان تحسين تجربة المستخدم تقليل الأخطاء توفير واجهة مرنة وقابلة للتخصيص بالكامل القيديو يلخص ذلك :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::1 point
-
السلام عليكم هذة فكرة طرات في بالي منذ فترة ولكن لم اعمل على تطوريها او تجربتها المشكلة ان هناك اقسام للمستخدمين ولكن بعض المستخدمين لهم صلاحيات مخصصة والبعض لا ومن هنا جائت الفكرة الفكرة تعتمد على وجود جدول يحتوي على الازرار في صورة Btn ID (يتم حفظه داخل Btn Tag) و ID المستخدم مع امكانيات الاظهار و التمكين وعند فتح النموذج يقوم النموذج بمراجعة صلاحيات كل زر الهدف من استخدام Btn ID داخل الـ Tag هو اختصار الكثير من الازار داخل مجموعة من الـ Btns IDs (مجموعة من الازار لهم جميعا نفس الـ Btn ID) هي مجرد فكرة ولكن اتمنى راي حضراتكم1 point
-
تم ارفاق المرفق في المشاركة الاولى للاخ احمد. المرفق من موضوع آخر للاخ احمد في مكتبة الموقع1 point
-
وعليكم السلام اخوي احمد رجاء قرأة هذا الرابط ، واستخدم الاداة اللي فيه ، فانا لا استغني عنه وبإستمرار خلال عمل اي برنامج ، وقبل ان اعطيه الزبون1 point
-
السلام عليكم ورحمة الله وبركاته بعد اذن استاذنا الفاضل عبدللرحيم طريقة ادخال النطاقات للكود Private Sub Worksheet_Change(ByVal Target As Range) Dim protectedRange As Range Set protectedRange = Union( _ Range("E10:I10"), _ Range("E13:I13"), _ Range("E20:I20"), _ Range("E27:I27"), _ Range("E33:I33"), _ Range("E46:I46"), _ Range("E56:I56"), _ Range("E59:I59"), _ Range("E62:I62"), _ Range("E68:I68") _ ) If Not Intersect(Target, protectedRange) Is Nothing Then Application.EnableEvents = False Application.Undo MsgBox "لا يمكن تعديل هذه الخلية، يرجى فك حماية الورقة للقيام بذلك" Application.EnableEvents = True End If End Sub1 point
-
في الواقع هو مشروع كان في بالي واتمنى ان اقوم به ، وفيه يجب ان اعتمد على الساعة لقراءة الوقت من سجلات ، فعرضت جزء من الفكرة مسبقا. حاليا انا وسط مجموعة من التعديلات في بعض البرامج ، وان شاء الله لما افضى ارجع للموضوع وارفق لك قاعدة بيانات صغيرة بس للعمل الحقيقي1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته بالنسبة لبرنامج فيجوال بيسك الخاص بالإكسل (VBA)، فأنت لا تحتاج لتحميله من أي رابط، ،لأن "فيجوال بيسك" (VBA) ليس برنامجاً مستقلاً يحتاج لتحميل، بل هو جزء أصيل ومدمج داخل برنامج الإكسل نفسه.1 point
-
1 point
-
لايوجد تعب فهنا المتعة ... لانك باكتشافك للاخطاء فأنت الحين فاهم الموضوع كيف يسير ... وفقك الله . وانا حاضر ومتابعك .1 point
-
استاذ @أحمد الشحات85 عدلت وجربت لكني مهما انا جربت . تجربتك هي الاهم . انا عارف ان الموضوع كبير ومحتاج جهد . تفضل التعديل . ووافي بالرد . Ahmed ElShahat-4.rar1 point
-
اهلا ابو وسام شرف الموضوع بمرورك الفقرة الأولى .. اعتقد بمجرد تسجيل الموظف يتم ربطه بالفرع آليا .. لو لاحظت لايتم عرض الموظفين الا عند اختيار الفرع الفقرة الثانية ,,, المسألة اكبر بكثير من مجرد تقرير واحد .. انا عملته هكذا لعرض النتائج ليس الا .. ولكنه ايضا يعرض قيدا واحدا فقط1 point
-
1 point
-
السلام عليكم العنوان يصف المطلوب تماما لدي مربعي تحرير مصدر الصف فيهما عبارة عن سطر جملة استعلام .. يتغير المصدر بينهما حسب التحديد وهو عبارة عن فروع وموظفين فاريد ان يظهر الموظفون في المربع بناء على فروعهم في المربع الآخر المثال يغني عن المقال Database1.rar1 point
-
1 point
-
اعرض الملف احصل على ألوان أكثر بهجة لنماذجك بإستخدام هذه الأداة {سلسلة الأدوات المساعدة المخصصة} 1.0.1 السلام عليكم ورحمة الله تعالى وبركاته استاذتى الكرام رواد المنتدى المحترمين اولا : بعد أذن استاذى الجليل ومعلمى القدير الاستاذ @منتصر الانسي --------------------------- قمت بتحميل مرفق للاستاذ منتصر جزاه الله عنا كل خير من هذا الموضوع الشيق : قمت بدراسة المرفق وتحليله بصراحة المرفق والفكرة أعجبت بهم كثيرا قمت بعمل القليل من التطوير ويتمثل هذا التطوير فى ....... طب ما تحملوا وشوفوا انتم بنفسكم وبعد إذن ستاذى الجليل قمت باقتباس الاسم والصورة من الموضوع الاصلى لان هذا المرفق هو إمتداد فقط للأفكار وها هى بضاعتكم نردها اليكم أحسن الله اليكم وشكر لكم وجزاكم عنى وعن كل طلاب العلم خيرا إن شاء الله استاذى الجليل : اتمنى أن تنال أفكارى المتواضعة استحسانكم ورضاكم صاحب الملف ابو جودي تمت الاضافه 04/21/26 الاقسام قسم الأكسيس1 point
-
أخي الكريم إذا كان الحل هو المطلوب فقم بتعليم المشاركة كحل جزاك الله خير1 point
-
توصلت الى حل مرضي .. طبعا بمساعدة سوف اعرضه لاحقا فقط للتأكد ان الامور تمام من كل الجهات1 point
-
وعليكم السلام ورحمة الله تعالى وبركاته استاذى الجليل و معلمى القدير و والدى الحبيب اتفضل Database2.zip1 point
-
1 point
-
و عليكم السلام ورحمة الله وبركاته استخدم الصيغة =IFERROR(VLOOKUP(G2;بيانات!$S:$T;2;0);"") نقل رقم الهوية_بناء على رقم الطالب (1).xlsx1 point
-
هههههههه ، يا عيني عليك ، اكتشفتها بنفسك .. جرب التعديل الأخير على أكثر من احتمال :- Sub DrawCirclesByFoksh(ByVal x As Integer, ByVal startRow As Integer, ByVal endRow As Integer) Dim Shp As Shape, c As Range Dim r As Long, i As Long, n As Long Dim usedRows As Collection Dim dayCount As Long, perDay As Long, extra As Long Dim rr As Variant, lastCol As Long Dim hasLesson As Boolean Dim lessonCount As Long Dim circlesThisDay As Long If x <= 0 Then Exit Sub Set usedRows = New Collection lessonCount = 0 For r = startRow To endRow hasLesson = False For i = 3 To 10 If Cells(r, i).Value <> "" Then hasLesson = True lessonCount = lessonCount + 1 End If Next i If hasLesson Then usedRows.Add r Next r dayCount = usedRows.Count If dayCount = 0 Then Exit Sub n = 0 If x = lessonCount Then For r = startRow To endRow For i = 10 To 3 Step -1 If Cells(r, i).Value <> "" Then Set c = Cells(r, i) Set Shp = Sheet1.Shapes.AddShape(msoShapeOval, c.Left, c.Top, c.Width, c.Height) Shp.Fill.Visible = msoFalse Shp.Line.Weight = 1 Shp.Line.ForeColor.SchemeColor = 10 n = n + 1 If n = x Then Exit Sub End If Next i Next r ElseIf x > lessonCount Then Do While n < x For r = startRow To endRow For i = 10 To 3 Step -1 If Cells(r, i).Value <> "" Then Set c = Cells(r, i) Set Shp = Sheet1.Shapes.AddShape(msoShapeOval, c.Left, c.Top, c.Width, c.Height) Shp.Fill.Visible = msoFalse Shp.Line.Weight = 1 Shp.Line.ForeColor.SchemeColor = 10 n = n + 1 If n = x Then Exit Sub End If Next i Next r Loop Else perDay = x \ dayCount extra = x Mod dayCount If x > 10 And x < lessonCount Then extra = extra + 1 For Each rr In usedRows circlesThisDay = perDay If extra > 0 Then circlesThisDay = circlesThisDay + 1 extra = extra - 1 End If lastCol = 0 For i = 10 To 3 Step -1 If Cells(rr, i).Value <> "" Then lastCol = i Exit For End If Next i For i = lastCol To 3 Step -1 If Cells(rr, i).Value <> "" And circlesThisDay > 0 Then Set c = Cells(rr, i) Set Shp = Sheet1.Shapes.AddShape(msoShapeOval, c.Left, c.Top, c.Width, c.Height) Shp.Fill.Visible = msoFalse Shp.Line.Weight = 1 Shp.Line.ForeColor.SchemeColor = 10 circlesThisDay = circlesThisDay - 1 n = n + 1 If n = x Then Exit Sub End If Next i Next rr End If End Sub1 point
-
سلمت اناملك استاذ منتصر جاري التجربة1 point
-
1 point
-
1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته بعد التجربة على اكثر من جهاز ظهرت بعض المشاكل منها بطئ الجهاز وزر طباعة شهادات اخر العام لايعمل وبحمد الله وبفضله تم حل جميع المشاكل . ووجب على التنبيه وادعو الله ان يكون هذا العمل من باب علم ينتفع به وهذا هو التعديل الجديد بنفس الباسورد والطريقة السابقة في بداية المشاركة offcinal_1_3am.xlsm1 point
-
السادة الزملاء : مرفق دالة التفقيط بدون اكواد كل ما عليك ان تدرج الشيت المرفق فى اى ملف اكسيل تريد تفعيل دالة التفقيط بدون اكواد ولو نسخة الاكسيل 2021 فيما فوق يتم استخدام دالة مخصصة اسمها tafkeet Tafqeet_Dynamic_System (1).xlsx1 point
-
1 point
-
1 point
-
برنامج الحسابات المتكامل The Fastest 2017 يشمل البرنامج : - حسابات الاستاذ وميزان المراجعة وقائمة الدخل والمركز المالى والتدفقات النقدية - يمكنك عرض وطباعة كل التقارير الختامية باربع مستويات عرض – مجمع وتحليلي - يمكن استخدام البرنامج للشركات التجارية والشركات الصناعية وشركات المقاولات - مراقبة حسابات المخازن ومتابعة كروت الصنف واماكنية عمل التسويات الجردية بشكل تلقائى وسريع - امكانية استخدام طريقة الوارد اولا يصرف اولا او المتوسط المتحرك لتقييم المخزون وتقييم البضاعة المنصرفة - اصدار انذار للتنبيه بالارصدة التى تجاوت حد اعادة الطلب والاصناف الراكدة بالمخازن - امكانية قرائة وطباعة الباركود وبدون الحاجة لطابعة خاصة - حسابات النقدية بالصندوق والبنوك وتعدد العملات وحساب فروق العملة - متابعة حركة الشيكات و اصدار انذار للتنبيه بموعد صرف الشيكات قبل موعدها بفترة كافية - متابعة العملاء ومندوبين البيع واعمار الديون ومعالجة الاقساط - اصدار انذارات للتنبيه بالعملاء التى تجاوزو حد الائتمان والتنبيه بمواعيد الاقساط المستحقة - حساب ضريبة القيمة المضافة طبقا لمعايير كل دولة وضريبة الارباح التجارية والصناعية وضريبة كسب العمل - عرض وطباعة الاقرارات الضريبية فى موعدها - حساب تكلفة البضاعة المستوردة وخطوات نموذجية لاتمام عملية الاستيراد - ادارة شئون العاملية ومتابعة حركة الحضور والانصراف والمكافآت والجزاءات وسلف العاملية والاجازات الرسمية والتامينات الاجتماعية وضريبة الدخل وربطهم بحساب الاجور والمرتبات بشكل تلقائى - كما يمكن تويزع قيمة الاجور والمرتبات على مراكز التكلفة بشكل دقيق - تعدد المستخدمين للبرنامج وصلاحيات خاصة لكل مستخدم - امكانية تحديد اسم المستخدم القائم باى عملية وتحديد وقت التسجيل لكل حركة بكل دقة - امكانية عمل نسخة احتياطية للبرنامج فى اى وقت وبسهولة - امكانية ربط البرنامج على شبكة داخلية وتعدد المستخدمين فى نفس اللحظة - امكانية ربط البرنامج على شبكة الانترنت والتحكم عن بعد فى حالة استخدام البرنامج لشركة مقاولات يمكنك عمل : 1- مقايسة المشروعات وتحليل تكلفة المقايسة من خامات ومصنعيات ومصروفات بشكل معيارى 2- تحليل التكاليف المباشرة وتوجيه كل مصروف الى مركز تكلفة محدد – موقع وبند 3- مراقبة المخزن لكل موقع وامكانية تحويل الخامات من موقع الى موقع 4- عمل عقود مقاولين الباطن وتسجيل واعداد مستخلصات متلاحقة لكل مقاول ومتابعة الدفعات النقدية لكل مستخلص 5- منظومة كاملة لادراة اجور العمال وعمل الساركى وتوجيه مصروف الاجور الى مراكز التكلفة 6- متابعة استهلاك الوقود والصيانة وكل المصروفات الخاصة بالاصول الثابتة مثل السيارات والالات والمعدات وغيرها وعمل مركز تكلفة لكل سيارة او ألة ومتابعة عداد الاستهلاك لكل سيارة او ألة 7- اعداد وتسجيل المستخلصات واستقطاعاتها وحساب الايرادات بشكل دقيق 8- عرض وطباعة كافة التقارير الخاصة بتحليل تكاليف وايرادات كل مشروع اجمالى وتفصيلي فى حالة استخدام البرنامج لشركة صناعية يمكنك عمل : 1- اماكنية اتباع اى نظام تكاليف مناسب – خطوط انتاج – اوامر انتاج – مراحل انتاج 2- حساب التكاليف الصناعية لكل خط انتاج او امر انتاج او مرحلة الانتاج حسب نظام التكاليف المتبع 3- حساب مكونات كل منتج من الخامات والاختيار بين صرف الخامات تلقايا بمجرد اضافة المنتج او مراقبة عملية صرف الخامات من خلال المقارنة بين المنصرف الفعلى والمنصرف المعايارى 4- تحليل تكلفة كل منتج بكل دقة شامل قيمة الخامات + الاجور المباشرة + التكاليف الصناعية المباشرة + نسبة التكاليف الصناعية الغير مباشرة 5- عرض وطباعة كافة التقارير الخاصة بتكاليف الانتاج وحساب ربحية المبيعات رابط البرنامج http://www.mediafire.com/file/zikll9m4ljz0w9k/The_fastest2017_30_1186.rar روابط الشرح 1- http://www.mediafire.com/file/m6q3b6p7gusa8zb/Part_1.rar 2- http://www.mediafire.com/file/65v50l32ute07n6/Part__2.rar برنامج الربط على الشبكة1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته قمت ياستبدال اللستبوكس بالورقة باخر في يوزرفورم فكرة العمل انقر على الخلية المراد وضع الوظيفة بها في العمود B يظهر الفورم قم بالاختيار ويختفى الفورم عند النقر في اي خلية اخرى لك وافر الاحترام والتقدير LISTBOX1.xlsm1 point
-
وعليكم السلام ورحمة الله تعالى وبركاته جرب هدا Option Explicit Sub test() Dim ws As Worksheet: Set ws = Sheets("توزيع") Dim RowDest As Long: RowDest = 1 Dim Irow As Long, tmp As Long, ky As String Application.ScreenUpdating = False ws.Range("L1:L" & ws.Rows.Count).ClearContents For Irow = 7 To ws.Cells(ws.Rows.Count, "G").End(xlUp).Row ky = ws.Cells(Irow, "G").Value If ky <> "" Then tmp = IIf(ky = "آداب و فلسفة", 7, _ IIf(ky = "لغات أجنبية - إسبانية" Or ky = "لغات أجنبية - ألمانية", 8, 9)) For tmp = 1 To tmp ws.Cells(RowDest, 12).Value = ky & tmp RowDest = RowDest + 1 Next tmp End If Next Irow Application.ScreenUpdating = True End Sub Classeur2 v2.xlsm1 point
-
1 point
-
السلام عليكم اخى ناصر ان كنت تقصد الفورم المسمي Form_Search يمكنك ان تستبدل هذا الجزء If Mycell Like "*" & CM_TextFind.Text & "*" Then بهذا السطر عله طلبك If Mycell Like CM_TextFind.Text & "*" Then1 point