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

نجوم المشاركات

  1. Ali Mohamed Ali

    Ali Mohamed Ali

    المشرفين السابقين


    • نقاط

      22

    • Posts

      11641


  2. ضاحي الغريب

    ضاحي الغريب

    أوفيسنا


    • نقاط

      7

    • Posts

      2282


  3. محمد هشام.

    محمد هشام.

    الخبراء


    • نقاط

      5

    • Posts

      1788


  4. متقاعد

    متقاعد

    الخبراء


    • نقاط

      5

    • Posts

      583


Popular Content

Showing content with the highest reputation on 10/24/22 in all areas

  1. بسم الله الرحمن الرحيم الحمد لله رب العالمين، والصلاة والسلام على أشرف المرسلين، سيدنا محمد وعلى آله وصحبه والتابعين. تظل منتديات اوفيسنا علي مدار السنوات من تاريخ ولادتها ونشأتها الي اليوم وهي رمز للعطاء بلا حدود حملت علي عاتقها رسالة ذات هدف وهي مشاركة الخبرات والتعلم معظمنا بدانا كسائلين للمساعدة في معلومة ما حتي وصلنا الي داعمين فاتحين قلوبنا لكل مبتغى مساعدة من خلال المشاركات تعلمنا وعلمنا يمكن معظم الفرسان الذي بدأت معهم انقطعوا عن المنتدي لظروف الحياة ومنهم من وافتهم المنية لكن اعمالهم واطروحتهم باقية تذكرنا بهم لندعو لهم بالرحمة وانا عن نفسي انقطعت كثيرا عن المشاركة لظروف صحية لكن اتابع من بعيد .الشكر لهم جمعيا م محمد طاهر المؤسس – عبدالله باقشير – شوقي ربيع – رجب جاويش –احمد فضيلة – ياسر خليل – حمادة عمر – مجدي يونس – جمال الدغيدي – نارت ليبزو – عبدالله المجرب.........والكثيرون مع حفظ الالقاب بارك الله فيهم جمعيا وفي كل عائلة اوفيسنا من اعضاء وفريق عمل . وبعد: فيسعدني أن أشارك المنتدى ببرنامج ادارة اشتراكات IPTV كان طلب لاحد الاخوة علي الخاص سائلين الله تعالى أن ينفع بما فيه من افكار لاستخدام خصائص الفورم الديناميكية وادارتها بشكل سلس . وما توفيقنا إلا بالله عليه توكلنا وإليه ننيب. شرح بسيط للبرنامج اولا : شاشة الدخول اضافة عدد غير محدود من المستخدمين . تحديد صلاحية المستخدم . حفظ كلمة المرور . عرض كلمة المرور. تقييد الدخول 3 محاولات للدخول الغير صحيح . تقرير عن الدخول لكل مستخدم مع الوقت والتاريخ . التحكم في الخيارات من خلال الفورم تبويب (User). ثانيا يوزالفورم كالتالي يحتوي علي العديد والعديد من المهام والوظائف - اضافة مشترك جديد -البحث عن مشترك بمعلومية الرقم التسلسلي او الاسم - تقارير متنوعة - شاشة مساعدة لشرح البرنامج - ادارة المستخدمين والصلاحيات. التبويب الأول ( تبويب جديد ) ادراج تاريخ اليوم بوالرقم التسلسلي شكل تلقائي - الاختيار من قائمة نوع الاشتراك وتعبئة تاريخ البداية والنهاية والسعر بشكل تلقائي - شروط اجبار المستخدم علي ادخال الييانات. التبويب الثاني (البحث ) - امكانية البحث بمعلومية الرقم التسلسلي أو اسم العميل . - اظهار حالة الاشتراك نشط او غير نشط - رسالة تنبيه علي انتهاء الاشتراك خلال ال5 ايام الاخيرة لنهاية الاشتراك. - تعديل بيانات الاشتراك (كلمة المرور - المستخدم - الماك - رقم الهاتف ) - امكانية تجديد الاشتراك. عند ظهور علامة الواتس بالضغط عليها ينتقل البرنامج لارسال رسالة للمشترك بقرب موعد انتهاء الاشتراك وبعد الارسال تظهر رسالة تفيد نجاح الارسال مع اداراج تاريخ الارسال التبويب الثالث (التقارير) تقارير بكافة الاشتراكات . تقرير بالاشتراكات النشطة. تقرير بالاشتراكات المنتهية . تقرير بالاشتراكات حسب الشهر . تقرير التنبيه علي انتهاء الاشتراك خلال ال5 ايام الاخيرة. كشف حساب عميل . طباعة اي تقرير. التبويب الرابع (ادارة الاشتراكات) اضافة اشتراك جديد مع السعر البحث وتعديل اي اشتراك التبويب الخامس (المساعدة) وفيه شرح لتبويبات وظائف البرنامج التبويب السادس (المستخدمين) ولا يمكن الوصول الي التقرير الا اذا كان الدخول ادمن مع المطالبة بادخال الباس ورد نفسها نفس باس ورد الدخول للبرنامج تقرير عن عمليات الدخول لكل مستخدم بالوقت والتاريخ والصلاحية والتي تظهر اسفل افورم. اضافة مستخدم جديد وتحديد صلاحياته البحث وتعديل مستخدم حالي. البرنامج بالمرفقات كلمة المرور الافتراضية 1234 المستخدم Dahy يعمل فقط علي 32bit ZAD IPTV Subscription.xlsm
    4 points
  2. ولن تستطيع بالطريقة التقليدية لان هذا النوع من الاستعلام " الجدولي " يتطلب وضع معلمات تبين للاستعلام مكان ونوع حقول المعيار هذا الموضوع تم فيه مناقشة الامر بيني واخي جعفر مع وجود مثال
    2 points
  3. جرب استبدل الامر Fdrnum = DLast("Drnum", "Drig") + 1 بالامر Fdrnum = Nz(DMax("Drnum", "Drig"), 0) + 1
    2 points
  4. وعليكم السلام ورحمة الله تعالى وبركاته تفضل اخي ضع هده المعادلة في الخلية : (D8) لاستخراج الاسماء بدون تكرار =SIERREUR(SI(A2<>"";INDEX($A$2:$A$200;EQUIV(0;NB.SI($D$7:D7;$A$2:$A$200);0));"");"") وهده في الخلية (E8) للحصول على ارقام الصفحات مع سحب المعادلات للأسفل =JOINDRE.TEXTE("- "; VRAI; SI(SIERREUR(EQUIV(B2:B500; SI(D8=A2:A500; B2:B500; ""); 0); "")=EQUIV(LIGNE(A2:A500); LIGNE(A2:A500)); B2:B500; "")) f.xlsx
    2 points
  5. عود حميداً أستاذنا القدير ضاحى .. ودائما تفاجئنا بروائع ممتازة عمل قمة فى الدقة والمهارة ماشاء الله , اللهم اجعل هذا العمل فى ميزان حسناتك وبارك الله فيك أستاذ ضاحى وشكراً جزيلاً على هذه الهدية الممتازة وحشتنا كتير ..اللهم لا تحرمنا من طلاتك علينا وتواجدك فى بيتك الثانى دائماً منتدى أوفيسنا ..اللهم بارك لنا فى جميع أساتذتنا وارحم ياربنا كل من فارقنا واجعل قبره روضة من رياض الجنة وجنبه النيران يا أرحم الراحمين
    2 points
  6. وعليكم السلام ورحمة الله وبركاته إن كنت تريد إجمالي الغياب يرجى وضع المعادلة التالية في الخلية Y7 =SUM(COUNTIFS(C7:X7;"غ");COUNTIFS(C7:X7;"م");COUNTIFS(C7:X7;"ب")) وفي الخلية Z7 =COUNTIFS(C7:X7;"م") ثم اسحب نزولاً ..بالتوفيق إن شاء الله تعالى .والسلام عليكم
    2 points
  7. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته اليوم جئتكم بفكرة جديدة وإبداعية لتحديث نسخة الواجهات FE لدى المستخدمين بدون الاستعانة بملفات وبرامج خارجية 🙂 وذلك بالاستعانة بملفي الواجهات FE وملف قاعدة البيانات ( الجداول ) BE فقط 😊 وقد قمت بشرح الفكرة ومحاولة تبسيطها قدر الإمكان من خلال الشرح الآتي مستعيناً بالله وتوفيقه .. :: أصل المشكلة :: أولاً : من المعلوم أنه يفضل أن يكون البرنامج مقسم إلى ملفين ( الواجهات FE - وقاعدة الجداول BE ) وذلك لكي يعمل عليه أكثر من مستخدم. FE: هي اختصار لـ Front End النهاية الأمامية .. أي ملف الواجهات و BE: هي اختصار لـ Back End النهاية الخلفية .. وهو ملف الجداول ملف الـ BE غالبا ما يكون مخزن في السيرفر بطريقة يمكن لجميع المستخدمين من الوصول إليه حيث أن البيانات جميعها يتم تخزينها فيه. ويتم توزيع ملفات الـ( FE) على أجهزة المستخدمين ، وهي محور حديثنا لهذا اليوم الرائع الجميل .. 😊 مختصر الكلام : أنه كثيرا ما يعاني مصممو البرامج من إعادة توزيع ملفات الواجهات ( FE ) على أجهزة المستخدمين عندما تكون هناك تحديثات جديدة على البرنامج أو معالجة لأخطاء في البرنامج ... الطريقة والفكرة التي سنتحدث عنها اليوم تقوم بحل هذه المعاناة وجعل البرنامج يقوم بتوزيع الـ (FE) نيابة عنك أوتوماتيكيا وبدون أي جهد يطلب من المستخدمين .. 😉 :: شرح الفكرة وآلية العمل :: الفكرة التي سأطرحها قائمة على الاتصال بملف الجداول الـ (BE) والاستعانة به ليقوم بتوزيع ملف التحديث الجديد على أجهزة المستخدمين بعد أن يستبدل القديم بالجديد .. حيث أننا سنحتاج إلى : 1 - جدول في قاعدة الـ (BE) ومتصل بنسخة الـ (FE) كذلك، لتخزين روابط مواقع كل ملف ( FE - BE - New Update ). 2- ماكرو Autoexec وضيفته تشغيل الكود الذي سيفحص وجود تحديثات جديدة من عدمه عند بدء تشغيل البرنامج ، ويوضع في نسخة الـ (FE). 3- سنحتاج لإضافة نموذج في نسخة الجداول الـ (BE) مهمته تشغيل الكود الذي سيحدث نسخة الـ (FE). والكود يعمل عند حدث (عند التشغيل - ON OPEN ). 4- سنحتاج لجدول (محلي) يبقى في نسخة الواجهات الـ (FE) فيه حقل تاريخ عبارة عن سجل واحد يكتب فيه تاريخ الإصدار للنسخة الحالية. وهذا شرح مصور مبسط لآلية العمل : الصورة (1) : محتويات الملفات الأساسية المستخدمة في العمل. الصورة (2) : المرحلة الأولى : فحص وجوود تحديثات جديدة من خلال ملف الواجهات FE الصورة (3) : رسالة تأكيد للبدء في التحديث الصورة (4) : الخطوة الثالثة : إغلاق ال(FE) وفتح ال(BE) الصورة (5) : إستبدال النسخة القديمة بالجديدة وإعادة تشغيل البرنامج 🙂 هذا كل شيء ببساطة 😅🖐️ :: الأكواد المستخدمة :: أولاً : الكود المستخدم في ملف الواجهات الـ (FE) : Public Sub UpdateUsersFE(CurrentVerDate As Date, NewVerDate As Date, _ txtOldFEPath As String, txtNewFEPath As String, _ txtBEPath As String, txtBEUpdateForm As String, _ DoTheUpdaet As Boolean) On Error Resume Next ' ************************************************** Check If the Manager Send The Update Order If DoTheUpdaet = True Then ' Continue The Code Else MsgBox "لا يوجد تحديث جديد" Exit Sub End If ' ************************************************** Check Version Date If CurrentVerDate < NewVerDate Then ' Continue The Code ' MsgBox "سوف يتم التحديث إن شاء الله" ' Exit Sub Else ' MsgBox "لديك آخر إصدار" Exit Sub End If ' *************************************************** Confermation Msg. If MsgBox("لديك تحديث جديد للبرنامج، متابعة؟", vbYesNo, "Apply New Update?") = vbYes Then Else: Exit Sub End If ' ************************************************** Open the BE and the Update Form Dim objAdb As Object Set objAdb = CreateObject("Access.Application") objAdb.OpenCurrentDatabase (txtBEPath) objAdb.DoCmd.OpenForm txtBEUpdateForm objAdb.Visible = False ' ************************************************** Close FE Database DoCmd.Quit Set objAdb = Nothing End Sub Public Function testUpdate() Dim BackEndPath As String, FrontEndPath As String, UpdatePath As String, CurrentVerDate As Date, NewVerDate As Date, StartUpdating As Boolean CurrentVerDate = DFirst("[VersionDate]", "[FE_Tbl_Version]") NewVerDate = DFirst("[LastUpdateDate]", "[BE_Tbl_Updates]") BackEndPath = DFirst("[BackEndPath]", "[BE_Tbl_Updates]") FrontEndPath = DFirst("[FrontEndPath]", "[BE_Tbl_Updates]") UpdatePath = DFirst("[UpdatePath]", "[BE_Tbl_Updates]") StartUpdating = DFirst("[StartUpdating]", "[BE_Tbl_Updates]") Call UpdateUsersFE(CurrentVerDate, NewVerDate, FrontEndPath, UpdatePath, BackEndPath, "BE_Frm_StartUpdating", StartUpdating) End Function ثانياً : الكود المستخدم في ملف الجداول الـ (BE) : #If VBA7 Then Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) #Else Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) #End If Private Sub Form_Open(Cancel As Integer) Call UpdateFE End Sub Public Sub UpdateFE() Dim FrontEndPath As String, NewUpdatePath As String FrontEndPath = DFirst("[FrontEndPath]", "[BE_Tbl_Updates]") NewUpdatePath = DFirst("[UpdatePath]", "[BE_Tbl_Updates]") 'On Error Resume Next '********************************************************************(Waite for 3 seconds until FE Closed ) Sleep 3000 '********************************************************************(Copy the New Update to the User PC) Dim fs As Object Set fs = CreateObject("Scripting.FileSystemObject") 'Kill FrontEndPath 'Sleep 1000 fs.CopyFile NewUpdatePath, FrontEndPath, True '********************************************************************(Open the new FE for the user) 'Sleep 1000 Dim objAdb As Object Set objAdb = CreateObject("Access.Application") objAdb.OpenCurrentDatabase (FrontEndPath) objAdb.Visible = True objAdb.DoCmd.RunCommand acCmdAppMaximize '*********************************************************************(Close BE) DoCmd.Quit Set objAdb = Nothing End Sub :: (مهم جدا ) قبل التجربة والتطبيق :: ستجدون في المرفقات ثلاثة ملفات: - ملف الواجهات القديم (FE-MyApplication) - ملف الجداول (BE-MyApplicationDatabase) -وملف الواجهات المحدث (FE-NewUpdateV2.0) أولاً : يجب إعادة ربط ملفي الواجهات (القديم + التحديث ) بملف الجداول (يدوياً ) .. وهي خطوة مهمة للعمل .. ( يمكنك عملها أوتوماتيكيا بالأكواد في برنامجك لاحقاً ، لم أشأ تعقيد الأمور هنا 😅) ثانياً : يجب عليك تحديث روابط أماكن الملفات الثلاثة في جدول (BE_Tbl_Updates) وذلك من خلال النموذج (FE_Frm_UpdateInfo) الموجود في نسخة الواجهات. والآن يمكنك الانطلاق والبدء في تجربة البرنامج 😉👊 قم بتشغيل البرنامج FE-MyApplication وانتظر لترى النتيجة 😊👌 ملاحظة : لإعادة التجربة مرة أخرى بعد التحديث ، قم بتأخير تاريخ النسخة الأمامية من جدول (FE_Tbl_Version) إلى تاريخ سابق للتاريخ المخزن في قاعدة البيانات . *************************************************************** هذا كل شيء ولا تنسوا أن تنوروني بآرائكم ومقترحاتكم ولا تنسوني من صالح دعواتكم 😊 :: التحميل :: FrontEnd Updator V1.0.rar
    1 point
  8. مبروك الأستاذ Mohamed Hicham إنضمامك لعائلة الخبراء ,أسأل الله لك التوفيق والنجاح دائما ..وأعانك الله على هذه المسئولية الجديدة وسدد الله خطاك ..عن حق وجدارة بارك الله فيك وزادك الله من فضله
    1 point
  9. مبروك الأستاذ حسونة إنضمامك لأسرة فريق الموقع ,أسأل الله لك التوفيق والنجاح دائما ..وأعانك الله على هذه المسئولية الجديدة وسدد الله خطاك .. وأهلاً ومرحباً بك بين أخوتك من أسرة فريق المنتدى الكريم ..ويسعدنا انضمامك لفريق العمل
    1 point
  10. بارك الله فيك استاذ أحمد عمل ممتاز وهدية بالطبع رائعة ومقبولة .جزاك الله خير الثواب وجعل الله هذا العمل فى ميزان حسناتك
    1 point
  11. وعليكم السلام ورحمة الله تعالى وبركاته هناك عدة طرق منها اختيار خانة معينة مثال لنفترض ان اسم الماكرو هو (Macro3) سيتم اعادة التشغيل للماكرو بشرط القيمة الموجودة في الخلية A1 Sub test1() Dim i As Long For i = 1 To Range("A1").Value Macro3 Next i End Sub كما يمكنك ادخال عدد التكرار يدويا بهده الطريقة Sub test2() Dim i As Long Dim N As Variant N = InputBox("اختر عدد مرات التكرار") If Not IsNumeric(N) Then Exit Sub For i = 1 To N Macro3 Next i End Sub اليك ملف للتجربة test_macro.xlsm
    1 point
  12. السلام عليكم ورحمه الله وبركاته اخى @ابو البشر شوف رد Allen Browne اضغط هنا لعلك تجد به الحل للمشكله او ارفق الملف للاطلاع عليه والمحاوله معك بالتوفيق
    1 point
  13. اخي الفاضل المرجوا تصحيح بعض الاخطاء في اسماء الخلايا المرحلة والتي قد تمت الاشارة اليها في الملف مع التحقق من الارقام هل هي مطابقة ام لا تفاديا لاعادة العمل على الملف مرة اخرى السيارات(1).xlsm
    1 point
  14. ارفع من فضلك بسرعة الملف الذى تريد حساب قيمة الضريبة به فلا يمكن العمل بدون ملف .حيث لا يمكن العمل على التخمين وتجنباً لإهدار وقت كل من يطلع على مشاركتك دون جدوى أو أهمية مثلى أنا الأن .. أو عليك بإستخدام خاصية البحث بالمنتدى فبه طلبك وشكراً جديد حساب ضريبة كسب العمل .. هدية للمحاسبين في مصر ضريبة كسب العمل الجديده بالاكسيل وهذا أيضاً فيديو للشرح وبه ملف التطبيق كمان
    1 point
  15. في الرد السابق تحدثنا عن حل الصعوبة الرابعة وقدمنا الحل لها عن طريق المعلمات والان ننتقل للصعوبة رقم 3 وهي ايضا ممكن حلها هذه ممكن عملها عن طريق حقل محسوب ولكن حتى لا نحصل على خطأ دائري نعمل استعلام جديد مصدره الاستعلام الجدولي ولان الحقول كثيرة ممكن نعمل موديل يحتوي على حلقة تكرارية تمر على حقول الاستعلام الاول ثم تجمع الحقول بعد استثناء اسم المؤسسة او الفرع Public Function sum_fld(id As String) As Double Dim rst As DAO.Recordset Dim fld As Field Dim x As Double Set rst = CurrentDb.OpenRecordset("Select * From [استعلام1] Where [NAME_REGION]= '" & [id] & "'") x = 0 For Each fld In rst.Fields If fld.Name <> "NAME_REGION" Then x = x + fld.Value End If Next sum_fld = x rst.Close End Function ونستدعي الدالة في الحقل المحسوب في الاستعلام الجديد sum_fld([NAME_REGION]) ربما ليس الكود المثالي ولكن يؤدي الغرض وانا كما اشير مجرد متقاعد والنتيجة تحياتي
    1 point
  16. السلام عليكم ورحمة الله وبركاته قمت بالتعديل على شيت الغياب الموجود بالإكسل وصادفتني مشكلة وهيا أني أريد من الجدول أن يجمع لي حرف معين مثلاً الغياب غ أو عطلة ع أو حضور ح ويجمع الحروف التي تعطى له بالشرط ولم أستطع أن أجعل هذا الشرط نافد أرجو ممن له خلفبة عن الموضوع المساعدة وسوف أرفق صورة للجدول للتوضيح وشكراً للجميع مقدماً
    1 point
  17. حياكم الله وبياكم أخي الكريم ..تكرم عينك بالذي نقدر عليه ..الحمد لله الذي بنعمته تتم الصالحات
    1 point
  18. جزاك الله كل خير على المساعدة هذا ما كنت أريده وبارك الله فيك وفي كل من هم قائمين على هذا الموقع
    1 point
  19. السلام عليكم ورحمة الله وبركاته أستاذنا المبدع الكبير ضاحي الغريب ...تحياتنا العطرة لشخصكم الكريم، ما أستطيع قوله باختصار ليكافئ هذا العمل والإنجاز الراقي ما شاء الله بارك الله أسأل الله تعالى أن يجعله بميزان حسناتكم آمين. وكما يقال عندنا بما في معناه (الكتاب مقروء من عنوانه) وما نراه تحفة قيمة ترنو العيون لها . جزاكم الله خيراً وأحسن إليكم تقبل تحياتي العطرة والسلام عليكم ورحمة الله وبركاته. ملاحظة : تم تنزيله دون استجابة لفتحه🙁 أستخدم أوفيس 2016
    1 point
  20. تفضل اخي Sub FindLastRow_N°5() Dim LastRow As Long With ActiveSheet LastRow = .Cells(.Rows.Count, "M").End(xlUp) If .Cells(.Rows.Count, "M").End(xlUp).Value = 5 Then UserForm2.Show Else Exit Sub End If End With End Sub فرز تعديل - Copy.xlsm
    1 point
  21. تفضل ..... اكمل تقرير للاستعلام .... Dtabase.accdb
    1 point
  22. الجواب بكل تاكيد نعم ان شاء الله على اوقات فراغي ساريكم كيف يكون ذلك وهذا يخدم اصحاب المرفقات الكثير سواءpdf او text
    1 point
  23. وعليكم السلام ,, ههههههههه اشكر مرورك اخي قاسم الهدف من لكن مالعمل لو كانت الكمية المصروفة اكثر من 1 ..يعني اي رقم اخر ؟ ان يتم نقل القيمه وتحديثها في نموذج الإجراءات كونه هذا يعتبر رصيد مستودع .. ------------- لا عليك اخي الغالي قاسم انا استمريت في المحاولة حتى نجحت وانهيت المشكلة صباح اليوم كان الحل بسيط فقط با استعلام تحديث
    1 point
  24. السلام عليكم.. بصراحة يا اخ بشار اطلعت على برنامجك ولم افهم الية عمل البرنامج وماهو الغرض منه وتحية للاخ والاستاذ عبد اللطيف .. لكن مالعمل لو كانت الكمية المصروفة اكثر من 1 ..يعني اي رقم اخر ؟ ان كان جوابك نعم ..اعتقد ان برنامجك يحتاج الى شرح من حضرتك والى اعادة ترتيب تحياتي
    1 point
  25. على بركة الله بارك الله فيك استاذ هشام والى الأمام دائماً ونتمنى لكم المزيد من النجاح والتفوق
    1 point
  26. بارك الله فيك استاذ AbuuAhmed وجعلك الله دائماً وأبداً زخراً لكل المحتاجين وجعل الله هذا العمل الممتاز فى ميزان حسناتكم وزادك الله من فضله
    1 point
  27. بارك الله فيك ونفع الله بعلمك وزادك الله من فضله.. بالفعل معلومة قيمة وبالطبع سيستفيد منه الجميع وشكراً جزيلاً لحضرتكم وجزاك الله خير الثواب
    1 point
  28. لا يمكن ذلك لأن ذلك سيتم بأكواد vba وهى بدورها لا تعمل على التليفون وشكراً
    1 point
  29. وعليكم السلام أولاً لعمل منع تكرار بعمود رقم السيارة واسم المالك مجتمعين .. فيمكنك استخدام هذه المعادلة من خلال خاصية Data Validation =COUNTIFS($A$2:$A$2000,$A2,$B$2:$B$2000,$B2)=1 ولعمل حماية لصفحة البيانات بدون أكواد فعليك بالدخول على قائمة Developer ثم Visual Basic أو بالضغط على Alt F11 للدخول على محرر الأكواد ثم بعد ذلك اتبع الصورة المرفوعة للتعلم ..واذا أردت فك الحماية وإظهار الصفحة اتبع نفس الخطوات ولكن عليك بلإختيار الأول وهو -1-Sheetvisible ..كما تم حذف كل المكرر من البيانات وضبط الملف وشكراً متابعة الملاك.xlsx
    1 point
  30. ارفع من فضلك الملف أو صورة من المشكلة التى تحدث لك فهذا هو الحل الوحيد لهذه المشكلة !!!
    1 point
  31. تفضل كان عليك استخدام خاصية البحث بالمنتدى قبل رفع مشاركتك , فطلبك تكرر كثيراً ..واليك الحل مشكلة في اللغة العربية
    1 point
  32. وعليكم السلام-تفضل لا يمكن ذلك الى بكود بوضعه فى حدث ThisWorkBook Private Sub Workbook_Open() Sheet2.Select End Sub الشهادات المدرسية للقدامى للسنوات السابقة.xlsm
    1 point
  33. وعليكم السلام-جرب هذه المعادلة =SUMIF($B$13:B14,$B14,$D$13:D14) Book2.xlsx
    1 point
  34. اليوم أقدم لكم موضوع يبحث عنة الكثيرين الموضوع هو كيفية إظهار بيانات محددة فى التقرير على هيئة QR CODE و هو الباركود الثنائى الابعاد 1 - مرفق مجلد مضغوط به ملفين DLL احدهم للويندوز 64 بت QRCodeFont_x64.dll و الاخر للويندوز 32 بت QRCodeFont.dll ما عليك الا وضع الملف المناسب للويندوز الخاص بك فى مجلد SYSTEM32 2 - و يوجد ايضا ملف MW6Matrix.TTF و هو يوضع فى مجلد C:\Windows\Fonts 3 - الكود التالى يتم لصقة فى محرر الفيجوال بيزك فى التقرير المراد إظهار الباركود به Option Compare Database Private Declare Sub QRCodeEncode Lib "QRCodeFont.dll" _ (ByVal Message As String, ByVal Version As Integer, ByVal Level As Integer, ByVal Mask As Integer) Private Declare Function QRCodeGetRows Lib "QRCodeFont.dll" () As Integer Private Declare Function QRCodeGetCols Lib "QRCodeFont.dll" () As Integer Private Declare Function QRCodeGetCharAt Lib "QRCodeFont.dll" (ByVal RowIndex As Integer, ByVal ColIndex As Integer) As Integer Private Const Version = 0 Private Const Level = 0 Private Const Mask = 0 ------------------------------------------------------------------ Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) Dim RowCount As Long Dim ColCount As Long Dim Message As String Dim EncodedMsg As String Message = Field1.Text Message = Message & vbCrLf & Field2.Text Message = Message & vbCrLf & "________" Message = Message & vbCrLf & " " Call QRCodeEncode(Message, Version, Level, Mask) RowCount = QRCodeGetRows() ColCount = QRCodeGetCols() EncodedMsg = vbCrLf For I = 1 To RowCount For J = 1 To ColCount EncodedMsg = EncodedMsg & Chr(QRCodeGetCharAt(I - 1, J - 1)) Next J EncodedMsg = EncodedMsg & vbCrLf Next I Text0.Value = EncodedMsg End Sub 4 - هذان السطران Message = Field1.Text Message = Message & vbCrLf & Field2.Text هما يعبران عن حقلى البيانات المراد إظهارهما فى الQR CODE الحقل Field1 و الحقل Field2 5 - و يمكنك إضافة المزيد من الحقول بإضافة السطر التالى Message = Message & vbCrLf & -----------.Text و يوضع اسم الحقل المراد إظهارة بدلا من ----------- 6 - فى السطر قبل الاخير فى الكود Text0.Value = EncodedMsg Text0هو اسم ال textbox الذى سيظهر به الكود و يمكنك تغييرة بالإسم الذى تريدة 7 - اخر شئ هو تغيير نوع الفونت (الخط) الخاص بال text box الذى سيظهر به الQR CODE إلى نوع الفونت MW6 Matrix و الذى وضعناه بمجلد الخطوط سابقا و شكرا لكم Desktop.rar
    1 point
  35. تفضل تم وضع كود الأستاذ ابراهيم بملفك وربطه بالزر 111.xlsm
    1 point
  36. اسف على التأخير تفضل تم التعديل http://www.mediafire.com/file/odau1u3qu9o28ul/برنامج+حضور+وانصراف+ومرتبات.xlsm
    1 point
  37. وعليكم السلام مرحبا بكى فى المنتدى هناك العديد من البرامج منها: المرتبات.xls رواتب5.mdb المرتبات والاجور.xls وكذلك هناك برنامج مرتبات مرفوع على هذا الموقع https://www.mediafire.com/#myfiles
    1 point
  38. 1 point
  39. ممكن تجرب هذا جدول حراسة2.xls
    1 point
  40. وعليكم السلام وأهلا بك صديق فى هذا المنتدى -ولو سمحت لو ممكن ترسل أى ملف تصورى وضع فيه ما تحتاجه لكى يتسنى للأخوة مساعدتك
    1 point
  41. هذا البرنامج البسيط الذي أسميته "خير جليس" هي ثمرة فكرة بدرت في ذهني حينما رأيت تراكم الكتب في منزلي ففكرت أنه لابد لكل واحد لديه نفس المشكلة في بيته فارتأيت إنجاز هذا العمل المتواضع ليسهل البحث عن الكتاب وكذلكك تنظيم الكتب وعدم اتلافها أوضياعها، ثم بعد ذلك تطورت الفكرة فرأيت أن أجعلها حتى لغير المنزل بل للمكتبات العامة ...وغيرها إن أمكن ذلك وأرجو أن ينال إعجابكم ورضاكم وأن ينفع الجميع إنشاء الله فقط لاتنسونا بأرائكم واقتراحاتكم بعد التفحيص والتمحيص في البرنامج ولا تنسونا من خالص دعائكم أيضا، وكذلك دون أن أنسى شكري الخالص لكل من ساندوني في كل اشكالاتي واستفساراتي التي كنت عالقا فيها من الإخوة الأعضاء والمشرفين لهذا المنتدى وكذلك التجارب والخبرات الكثيرة التي أخذتها، وهذا وإن أصبت فبتوفيق من الله عز وجل وإن أخطأت فمن تقصيري و من الشيطان. وفي الأخير تقبلوا مني فائق التقدير والإحترام . وشكرا المرفق بحجم كبير لذلك رفعته على رابط خارجي: http://www.up-gulf.com/do.php?id=2614
    1 point
×
×
  • اضف...

Important Information