نجوم المشاركات
Popular Content
Showing content with the highest reputation since 10/28/25 in all areas
-
اولا شكرا لدعاؤك لي ثانيا الكود في الملف السابق يقوم بترتيب الصفحات ذات الارقام وبالتالي ستجد الصفحات الاخرى ذات الحروف وليس الارقام مستثناة وتجدها بجانب بعضها ولكن هناك احتمال الرغبة في استثناء صفخة او صفحات رقمية مثلا تريد استثناء صفخة 4 من الترتيب . هنا سيتم التعديل على الكود باظافة مصفوفة لتجميع الصفخات المستثناة كل ما عليك فعلة هو التعديل في هذا الجزء من الكود حيث اضفت لك صفحات افتراضية في الكود وليس في المصتف مثل "ملخص", "إعدادات", "تعليمات يمكنك تعديلها باي اسم او اظافة صفحات اخرى باي عدد تشاء excludedSheets = Array("الرييييسية", "تجميع", "ملخص", "إعدادات", "تعليمات") اليك الملف بالتعديل ترتيب الصفحات1.xlsm تحياتي6 points
-
ما باقي بالعمر الكثير ...... وانا بدعبس بملفاتي حصلت مجموعة برمجيات كنت سويتها سابقاً منها هذا المرفق وهو يعمل لدي أحد أصدقائي وللحين مابه مشاكل .. باسوورد تحديث الجداول (1001) وباسوورد الوحدات النمطية أو الشفت (tariq1991) .... أنا برفق الفولدر كامل . القاعدة (WaitingMain 2010) بحجرة التسجيل . القاعدة (Role_CheckUp) بحجرة الكشف العام . القاعدة (Role_Consultation) بحجرة الاستشارات . القاعدة (Role_MedicalAnalytics) بحجرة العلاج الطبيعي . القاعدة (Role_Pharmacy) بالصيدلية . القاعدة (Role_Physiotherapy) بمعمل التحاليل . القاعدة (Role_Radiology) بحجرة الاشعة . .القاعدة (Role_Surgery) بحجرة العمليات . ولابد كل القواعد على شبكة واحده لأن الكل مرتبط بحجرة التسجيل . . واي استفسار أو طلب أنا حاضر . Khalifa Hospital.rar6 points
-
السلام عليكم خسب المثال المرفق يبدو أنك تريد دالة للتقريب إلى أقرب 0.1 (أعشار)، وليس معادلة باقي القسمة (mod) التي تعمل عادة مع الأعداد الصحيحة. =CEILING(A2; 0.1) =ROUNDUP(A2*10;0)/10 تقريب.xlsx5 points
-
وعليكم السلام تفضل هذا الملف ربما يفيدك ويكون به المطلوب ان شاء الله وبالتوفيق المحطة.xlsm5 points
-
السلام عليكم ورحمة الله إليك هذا الحل باستعمال "الذكاء الاصطناعي" (بالمعادلات وبالأكواد -بتصرف-) أرجو أن يفي الغرض المطلوب... ملف العمل.xlsm4 points
-
وعليكم السلام ورخمة الله وبركاته اليك الكود Sub ترتيب_الصفخات() Application.ScreenUpdating = False Application.DisplayAlerts = False On Error GoTo ErrorHandler Dim ws As Worksheet Dim dict As Object Dim key As Variant Dim sortedKeys() As Variant Dim i As Long, j As Long Dim temp As Variant Dim excludedSheets As Collection Dim mainSheet As String mainSheet = "الرييييسية" Set excludedSheets = New Collection excludedSheets.Add mainSheet excludedSheets.Add "تجميع" Set dict = CreateObject("Scripting.Dictionary") For Each ws In ThisWorkbook.Worksheets If Not IsInCollection(excludedSheets, ws.Name) Then If IsNumeric(ws.Name) Then dict.Add CLng(ws.Name), ws.Name End If End If Next ws sortedKeys = dict.Keys For i = LBound(sortedKeys) To UBound(sortedKeys) - 1 For j = i + 1 To UBound(sortedKeys) If sortedKeys(i) > sortedKeys(j) Then temp = sortedKeys(i) sortedKeys(i) = sortedKeys(j) sortedKeys(j) = temp End If Next j Next i For i = LBound(sortedKeys) To UBound(sortedKeys) Worksheets(dict(sortedKeys(i))).Move After:=Worksheets(Worksheets.Count) Next i Worksheets(mainSheet).Activate Application.ScreenUpdating = True Application.DisplayAlerts = True ' MsgBox "تم ترتيب " & dict.Count & " ورقة رقمية بنجاح! ", vbInformation Exit Sub ErrorHandler: Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "حدث خطأ: " & Err.Description, vbCritical End Sub Function IsInCollection(col As Collection, item As String) As Boolean Dim obj As Variant On Error GoTo NotInCollection IsInCollection = True obj = col(item) Exit Function NotInCollection: IsInCollection = False End Function ترتيب الصفحات.xlsm4 points
-
وعليكم السلام ورحمة الله وبركاته =IFERROR(AGGREGATE(15;6;A4:A30;ROW($A$1));"") السبب الرئيسي هو أن ROW($A$1) ثابت دائماً وكذلك النطاق يجب ثتبيته بحيث لا يتغير عند السحب ليصبح A$4:A$30 بدل A4:A30 ولحل المشكلة اختر احدى المعادلات =IFERROR(AGGREGATE(15;6;A$4:A$30;ROW(A1)-ROW(A$1)+1);"") =IFERROR(AGGREGATE(15;6;$A$4:$A$30;ROW(A1));"") =IFERROR(AGGREGATE(15;6;$A$4:$A$30;ROW(A1:A1));"") =IFERROR(AGGREGATE(15;6;$A$4:$A$30;ROW(A4)-ROW($A$4)+1);"") اليك الملف وبه تطبيق المعادلات الاربعة السابقة ntega_elec_new.xlsb4 points
-
وعليكم السلام ورحمة الله وبركاته الكود به مشكلتان الاولى اسم الشيت بدل Sheet30 يكون Sheets("Sheet30") الثانية اسم الليبل بدل Label3 يكون Label4 اليك الملف وبه التعديل MAM2.xlsm4 points
-
وعليكم السلام ورحمة الله راجع الملف المرفق لعل فيه ما تريد Example.xlsm4 points
-
جرب الصيغة التالية =IF(AND(ISNUMBER(E2);ISNUMBER(F2));IF((F2-E2)<(-59/86400);"مبكر";IF((F2-E2)=0;"في الوقت";IF(AND((F2-E2)>0;(F2-E2)<(10/1440));"ليس على الوقت""متأخر")));"-") TRIP_01 (3).xlsx4 points
-
عذرا لم انتبه ان قي طلبك طباعة متعددة الطريقة الاولى زر print all اكتب كود الشركة بداية الطباعة في الخلية P2 ونهاية الطباعة في Q2 الطريقة السابقة لطباعة الارقام المتسلسلة وراء بعضها الطريقة الثانية عن طريق فورم زر طباعة خسب الاختيار وهي تغنيك عن كل الازرار وعن الطريقة الاولى حيث يمكن الطباعة لموظف واخد او الطباعة للكل او الطباعة المتعددة خسب الاختيار سواء الارقام متصلة ام منفصلة اختر ما تراه متاسب لطلبك مرتبات شركة نقل البضائع فنيين عن شهر نوفمبر 2025 (1).xlsm3 points
-
Version 1.0.0
36 تنزيل
أقدم لكم اليوم أداة تلوين خلفية النماذج بألوان متدرجة والتي تقوم بمنح النماذج خلفية ملونة بطريقة جميلة حيث تقوم فيها بإختيار لونين ليتم دمجهما والحصول على خلفية تتكون من ألوان متدرجة بين هذين اللونين ويمكن تحديد إتجاه التدرج (أفقياً - عمودياً - قطرياً) إستخدام الأداة سهل للغاية ولن يتطلب أي مهارات حيث أن الأداة تقوم بكل العمل تقريباً ما عليكم سوى تحديد الألوان والإتجاه وستقوم الأداة بتعميم التنسيق على بقية النماذج ضمن التطبيق. مرفق لكم مجلد يحتوي على نسخة توضيحية لتجربتها ومعرفة طريقة عملها ونسخة الفالب وتحتوي على الكائنات المطلوب إستيرادها لإستخدامها في تطبيقاتكم أرجو أن تنال هذه الأداة إعجابكم تحياتي3 points -
السلام عليكم ورحمة الله راجع المعادلات في الأعمدة المخفية من العمود B إلى العمود K من شيت "دفتر اليومية" لأن منها ظهر المشكل، وقمت بتصحيح هذه المعادلات بالسحب إلى الأسفل حسب ما فهمت في الملف المرفق. اليومية_034849.rar3 points
-
السلام عليكم ورحمة الله لست أدري إن كنت قد فهمت المطلوب. ألق نظرة على الملف المرفق عبدالحي توزيع نسب (1).xlsx3 points
-
نعم الفكرة واضحة .. وجميلة .. وجديدة على كاتب هذه الكلمات .. جزيت خيرا3 points
-
3 points
-
بعد اذن استاذي @Moosak وهذا تصوري للتعامل مع الجداول المرتبطة . القاعدة الرئيسية :- الجدول المطلوبة اساسياً :- (tbl_DesignerPassword) والنموذج المطلوب (frm_DesignerPassword) بالاضافة الي جداول نظامك التي تريدها بالقاعدة الخلفية . ونماذج نظامك كما تريد القاعدة الخلفية :- استيراد بلنك كل الجداول بالقاعد الاساسية التي تدير بها القاعدة الخلفية ولا تنسي الجدول (tbl_DesignerPassword) . استيراد النماذج التي تريدها وتشغيلها من النموذج (frmSwitchBoard) فهو اساسي بالنظام مع النموذجان (Shift) و (FormKeys) . بعد الاستيراد لاتنسي غلق الجداول وعدم تفعيل الشيفت . ملحوظة :- استخدم القاعدة الخلفية بالمرفق وغير اسمها كما تحب لأن بها اعدادات أخرى مخفية خاصة باعدادات ال__ (Ribbon). عند فتح القاعدة الخلفية سيفتح على النموذج :- عند الضغط على الزر (S) سيفتح النموذج (Shift) كما بالجدول اذا ادخلت الباس (1001) ويمكن تغيير بالجدول سيمكنك من تفعيل الشفت اذا خطأ أو خالي عدم تفعيل الشفت . عند الضغط على الزر (HideUnHideTables) اذا ادخلت الباس (tariq1991) ويمكن تغيير بالجدول سيمكنك من اظهار الجداول والاستعلامات اذا خطأ أو خالي عدم اظهرها. اليك المرفق للتجريب وانا حاضر لاي استفسار . Khalifa Test.rar3 points
-
وعليكم السلام ورحمة الله وبركاته 🙂 جرب طريقتي في حماية قاعدة البيانات .. أنقل جميع مكونات القاعدة لبرنامجك وشغله .. 🙂 وهذي طريقة ضبط الإعدادات .. لفتح البرنامج في وضع التصميم : كلمة المرور لفتح الإعدادات : 123 ( قم بتغييرها لاحقا ) الحماية تشمل : 1- إخفاء الجداول وجميع مكونات البرنامج . 2- منع الفتح بزر الشفت Shift . 2- منع إضهار لوحة التحكم عند الضغط على F11 . وهذا يعتبر الحد الأدنى والأشهر في حماية قاعدة البيانات .. ويمكنك التعمق للوسائل الأكثر احترافية مثل حماية صفحة الأكواد بكلمة مرور وحفظ الملف بصيغة accde وحماية الملف بكلمة مرور وغيرها .. دمتم سالمين 🙂 Database Security Template.accdb3 points
-
هذا مثالي : لن يتم الحذف الا من خلال الزر فقط حتى لو صنعت زرا جديدا للحذف فلن تتمكن FMK2.rar3 points
-
مع اني لست من مناصري استخدام الاكسس خارج اطار قواعد البيانات ولكن الإبداع الذي اراه في هذا العمل يستحق الإعجاب والتقدير فعلاً الأخت @hanan_ms مبدعة وتستحق ان تكون ضمن خبراء الموقع لانها دائما تثبت أن بالإمكان استخدام الاكسس لوظائف اخرى الى جانب قواعد البيانات وعندما أرى مثل هذا التمكن في البرمجة كما في هذا الموضوع او مواضيع الاخوة @Foksh و @jjafferr و @Moosak و @ابوخليل وبقية الاخوة الذين لايسع المجال هنا لذكرهم فلسان حالي كما يقول المثل (كلما قلنا عساها تنجلي .. قالت الايام هذا مبتداها 🫣) وان طريق التعلم مازال طويلاً شكرا لمبدعي المنتدى لكل ماتقدموه تحياتي3 points
-
3 points
-
3 points
-
السلام عليكم ورحمة الله وبركاته اللست فيو عادة يكون من ضمن مكونات الاكسل ويتم تفعيلة فتح محرر VBA. من القائمة العليا اختر: Tools → References. ابحث عن المكتبة التالية: ✅ Microsoft Windows Common Controls 6.0 (SP6 إن لم تجدها في نافذة الـ UserForm، اضغط بزر الماوس الأيمن على صندوق الأدوات (Toolbox). اختر: Additional Controls... مرّر للأسفل حتى تجد: ✅ Microsoft ListView Control, version 6.0 (SP6) ضع ✔ بجانبها، ثم اضغط OK. الآن ستظهر الأداة ListView في صندوق الأدوات، ويمكنك سحبها إلى الـ UserForm. اليك ملف به الاداة اكسل 2016 لست فيو.xlsb3 points
-
محاولتي =IF(F2="","",IF(F2<E2,"-","")&TEXT(ABS(F2-E2),"hh:mm")) TRIP_01.xlsx3 points
-
السلام عليكم ورحمة الله تفضل أخي الكريم الملف مع بعض التعديلات التي أراها مساعدة في عمل هذا الملف. أرجو أن تفي الغرض المطلوب التقرير اليومي لمستشار التربية - ثانوي - 11.5.0 .xlsm3 points
-
وعليكم السلام ورحمة الله وبركاته المشكلة الرئيسية هي في منطق البحث البحث عن الأعمدة يتم من الصف 3 (G3:U3) ولكن البيانات تبدأ من الصف 4 الإزاحة (offset) غير صحيحة عند استخراج القيم اليك التعديل تنسيق ترتيب الجداول الكمية مع اسم الصنف مع التاريخ التابع له - Copy - Copy.xlsm3 points
-
اعجني الموضوع من اول انشغالي بالاكسيس تيقنت ان الاكسيس من اضغف الحمايات لكني قكرة بان اسال الذكاء الصناعي سالت CHATGPT عن فكرة مجنونة لم يفكر بها احد لحماية الجداول ادعوا اخواني لتجربة الفكر المقترحة وانا ساجربها معكم مع توفر الوقت لدي سارفق الاجابة والسؤال الذي سالته انقر هنا2 points
-
هو الآن كذلك لا يتقيد بشفت معين .. فقط سنجري بعض التعديلات مدير الموقع عليه الاعلان للموظفين فقط ان الحضور الساعة كذا والانصراف الساعة كذا ... ومهم جدا ان يدخل في فورم التحكم وقت الدخول ووقت الخروج و عدد ساعات العمل فقط هذا كل شيء ساعات العمل تحتسب من وقت الدخول الرسمي وليس من وقت توقيع الموظف أسعدني مرورك قبل المحدد ( فترة العمل ) متاح له الخروج والدخول أكثر من مرة اما بعد فلا يمكنه التوقيع مطلقا ... والبرنامج يطبق عليه لائحة النظام المتبعة اما بالنسبة لما قبل وقت الدخول فهذا يرجع لصاحب العمل ان اراد تقييده .. فهذا ممكن2 points
-
السلام عليكم ورحمة الله تم التعديل على معادلاتك (معادلات الصفيف) في الملف لتتماشى مع طلبك دون استخدام الفلترة أو ماكرو... ألق نظرة على الملف المرفق. ID.xlsx2 points
-
2 points
-
السلام عليكم نعم الان اتضح المطلوب بارك الله فيك الحل تم حذف النطاق من ادارة الاسماء فصل شيفت'!$A$8:$R$283 من ادارة الاسماء وجعلنا النطاق مباشرة في الكود فاصبح الكود بهذا Sub filter_D() Dim Q1 As String Dim rng As Range Set rng = Sheets("فصل شيفت").Range("$A$8:$R$283") Q1 = Sheets("فصل شيفت").Range("A7").Value If Q1 = "" Then rng.AutoFilter Else Q1 = "*" & Q1 & "*" rng.AutoFilter Field:=1, Criteria1:=Q1, Operator:=xlOr, Criteria2:="=" End If End Sub نموذج حركة جرديوميه 15-11.xlsm2 points
-
2 points
-
2 points
-
Version 1.0.0
51 تنزيل
تواصلاً لهذه السلسلة أقدم لكم اليوم أداة رائعة تقوم بإضافة التعليمات المساعدة لتطبيقات الأكسس لتظهر بمظهر البرامج الإحترافية حيث تسمح لكم الأداة بإنشاء ملف تعليمات مقسم إلى عناوين رئيسية تحتوي على مواضيع فرعية بحيث يكون لكل موضوع فرعي التعليمات الخاصة به مرفق لكم مجلد يحتوي على ثلاثة ملفات 1 - القالب وهو نسخة فارغة تحتوي على الكائنات الضرورية والتي يتم إستيرادها إلى التطبيق الخاص بكم (ويمكن إستخدامه في إنشاء التعليمات لأي تطبيق وإستيراد الكائنات المطلوبة بعد الإنتهاء كتابة كل التعليمات الخاصة بالتطبيق حيث يوجد هناك ثلاثة نماذج لن تحتاجونها إلى في نسخة التطوير ويمكن الإستغناء عنها في الإصدار المخصص للمستخدم النهائي) 2 - عرض توضيحي يوضح لكم طريقة العمل بالأداة والذي أرجو أن يتم التركيز على الخطوات الموضحة فيه 3 - مثال عملي قمت فيه بتوضيح الطرق المختلفة للإستفادة من الأداة في مثال مشابه للواقع أرجو أن تكون هذه الأداة إضافة مفيدة لكل الإعضاء تحياتي2 points -
2 points
-
مشاركة مع اخوتي واحبتي لا اعلم لماذا صاحب الموضوع يلجأ الى اكواد وعمليات برمجية طويلة من اجل فلترة سجل واحد ؟ اما بالنسبة لمسألة عدم حفظ قيمة الحقل .. فأنت فقط تحتاج الى تقديم بعض الاسطر على بعض انظر التعديل على العمل بسيط ومفهوم FMK2.rar2 points
-
أخى ابوحبيبه السلام عليكم ورحمة الله وبركاته بعد إذن أساتذتى الخبراء الأفاضل / ابو عيد & عبدالله بشير عبدالله مرفق ملف بالمعادلات للتجربة من أفكار الخبراء جزاهم الله عنا خير الجزاء OK ntega_elec_new.xlsb2 points
-
السلام عليكم ورحمة الله وبركاته تحية لك ولاستاذنا ابو عيد اعتقد وحسب فهمى لطلبك انك تريد استدعاء البيانات من شيت mg_elec الى شيت ntega حسب الاختيار من W3 فاذا كان هذا طليك اليك الملف وان كان غير ذلك ارجو مزيد من التوضيح لكما ولاحبائنا بالمنتدى كل التقدير والاحترام ntega1_elec_new.xlsb2 points
-
وعليكم السلام ورحمة الله وبركاته تم تصحيح المعادلة في العمود Y قم بحذف المعادلات في X واستبدالها بـ Y ntega_elec_new1.xlsb2 points
-
الكود يعمل بشكل صحيح فبحسب الشرط اذا كان رقم الاداه لايساوي صفر (بدون تحديد ما اذا كان اكبر او اصغر من صفر) واسم الحقل هو Cridi او Elec فسيتم إرجاع قيمة التجميع لهذين الحقلين عبارة Else ستعني أنه إذا كان رقم الأداة يساوي صفر واسم الحقل هو Inkhirat او ErrVerment فسيتم إرجاع قيمة التجميع لهذين الحقلين اذا اردت ان يتم النعامل مع جميع الحقول بنفس الشروط قم بحذف عبارة Else وستنحل المشكلة تحياتي2 points
-
2 points
-
هههههه نفس المبدأ تقريباً ، ولكن هنا عند التحميل يفرض القيمة دائماً وهي أسلم وأأمن .. المهم اطلاق سراحه بدون قيود 😅2 points
-
في الكومبوبوكس "Wil_Miled" قمت كتجربة بتغيير الحدث بعد التحديث من :- Me.Com_Miled.Requery ليصبح في النموذج الفرعي F2_Sub كالتالي ( كتجربة ) :- Private Sub Wil_Miled_AfterUpdate() If Not IsNull(Me.Wil_Miled) Then Me.Com_Miled.RowSource = _ "SELECT TblWsub.ID, TblWsub.N_C, TblWsub.Code_W " & _ "FROM TblWsub " & _ "WHERE TblWsub.Code_W = " & Me.Wil_Miled & " " & _ "ORDER BY TblWsub.N_C;" End If End Sub وكانت النتيجة كالتالي :- إلا أنني غير راضٍ عن الفكرة 😢 . رغم أن أحد التقويض في الحلول هو أن النماذج الفرعية = نماذج مستمرة !!!!2 points
-
بما أن أفكار معلمي أبو خليل لا تنتهي ( مشكوراً على جهوده التي نتعلم منها ) . وددت المشاركة على الهامش في ملف المشاركة الأصلية كالتالي .. في مربع النص "مكان الميلاد" الحدث نفسه عند الخروج ( كما هي رغبة أخي طاهر ) :- Private Sub مكان_الميلاد_Exit(Cancel As Integer) Dim sourceInfo As String sourceInfo = Me.Name & "|" & Me.Parent.Name DoCmd.OpenForm "C1", , , , , , sourceInfo End Sub طبعاً هذا الكود سيمرر اسم النموذج الفرعي واسم النموذج الرئيسي مفصولين بإشارة "|" إلى النموذج "C1" الآن في النموذج "C1" قمت بحجز المتغيرين والحدث التالي عند تحميل النموذج :- Private sourceSubform As String Private sourceMainForm As String Private Sub Form_Load() If Not IsNull(Me.OpenArgs) Then Dim parts() As String parts = Split(Me.OpenArgs, "|") If UBound(parts) = 1 Then sourceSubform = parts(0) sourceMainForm = parts(1) End If End If End Sub وفي الكومبوبوكس Com_Miled ، قمت بتحديث الكود ليصبح :- Private Sub Com_Miled_AfterUpdate() If sourceSubform <> "" And sourceMainForm <> "" Then With Forms(sourceMainForm).Controls(sourceSubform).Form .Com_Miled = Me.Com_Miled .Wil_Miled = Me.Wil_Miled End With End If DoCmd.Close acForm, Me.Name End Sub وبالتالي النتيجة خرجت معي بهذا الشكل :- ملاحظة :- لم أقم بالإطلاع على أي ملف مرفق تمت مشاركته .. WIL.zip2 points
-
وعليكم السلام ورحمة الله وبركاته عمي جعفر @jjafferr 🙂 شكرا لك على الإطلالة اللي تبهج النفوس 🙂🌹 رديت على سؤال عمنا أبو خليل هنا 😊👇 فعلا وهذي هي طريقة الاستخدام اللي ذكرتها في الشرح .. وفعلا أنا مستخدمنها وضايفنها كجزء من برنامج متابعة المهام الخاص بي في جهة العمل 🙂 : والأفكار في تطوير هذا المشروع كثيييييييييييييرة ما شاء الله2 points
-
نعم ممكن تفضل مثال .. يمكنك ادراجه في مشروعك اختر منه البلد الذي تريد تاريخ ووقت الانترنت.rar2 points
-
السلام عليكم ورحمة الله وبركاته ساقدم لك ملف خسب ما فهمته من ردك راجع الملف واذا كانت هناك قيم غير صحيحة فقم بارفاق جدول به القيم الصحيحة يدويا وبدون معادلات للراتب والسلفيات لعدد 3 او 4 اشخاص اليومية (2).xlsm2 points
-
المطلوب الأول هو من جنس المطلوب الثاني ولا داعي لتكرار الجداول المعادلات المستخدمة هي من نوع الصفيف وليست معادلات عادية تفضل example1.xlsx2 points