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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      12

    • Posts

      9,814


  2. مجدى يونس

    مجدى يونس

    أوفيسنا


    • نقاط

      5

    • Posts

      3,336


  3. أبو عبدالله الحلوانى
  4. ابراهيم الحداد

    • نقاط

      4

    • Posts

      1,252


Popular Content

Showing content with the highest reputation on 29 ينا, 2021 in all areas

  1. ضع الملف المرفق في مسار البرنامج وشغله مرة واحدة run_me.zip
    3 points
  2. اللام عليكم ورحمة الله المعادلة الاولى للشهر الاول =COUNTIF($C$2:$C$15;"*"&$B20&"*") و المعادلة الثانية للشهر الثانى =COUNTIF($D$2:$D$15;"*"&$B20&"*")
    2 points
  3. وتقدر تحصل على نتيجة الدالة بدون رسالة ، هكذا : . الشرط ان تكون علامة الاستفهام بالانجليزي 🙂 شكرا لكم ، ونرجع نبحث عن طرق اخرى 🙂 جعفر
    2 points
  4. جرب هذه المحاولة بمجرد الكتابة في الخلية c2 سيتم جلب البيانات غير اسماء الشيتات اجعل ورقة البيانات"data" وورقة التقرير report وضع الكود في ورقة التقرير Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("c2")) Is Nothing Then Sheets("data").Cells.AutoFilter Field:=1, Criteria1:=Target.Value Sheets("data").AutoFilter.Range.Columns("A:q").Offset(1).Copy Sheets("report").Range("A10") End If Sheets("data").AutoFilterMode = False End Sub
    2 points
  5. لا أعرف سبب التركيز على الحلقات التكرارية في أكثر الاكواد في حين يمكن عمل ذلك بواسطة فلتر بسيط Option Explicit Sub test_salim() Dim ws As Worksheet Dim ws2 As Worksheet Set ws = Sheets("البيانات") Set ws2 = Sheets("التقرير") If ActiveSheet.Name <> ws2.Name Then ws2.Select ws.AutoFilterMode = 0 ws2.Range("A10").CurrentRegion.Clear ws.Range("A9").CurrentRegion.AutoFilter 1, ws2.[c2] ws.Range("A10").SpecialCells(12).Copy ws2.Range("A10").PasteSpecial (8) ws2.Range("A10").PasteSpecial (11) Application.CutCopyMode = 0 ws.AutoFilterMode = 0 End Sub
    2 points
  6. فورم دخول ب 2 سرى مع تحريك ليبل فى الفورم يخفى السرى الاكواد اسفل الفيديو
    2 points
  7. برنامج الموارد البشرية HR "مفتوح المصدر" يحتوى على التالي : -بيانات الموظف . -الإجازات . - الأذنونات . - تسجيل الحضور يدوياً . - الخصومات . - السلف . - المكافأت . - تقيييم الموظف . - ساعات إضافية . - تقارير. - متابعة الحضور والانصراف . - تسجل الحضور والانصراف بشكل آلي . - تسجل الحضور بشكل يدوي . وخيارات أخرى . وهذا البرامج من تطويري وجدت جداوله في موقع خارجي . لا تنسونا من خالص الدعاء ،،، HR.rar
    1 point
  8. السلام عليكم 🙂 المرفق يحتوي على النسختين mdb و accdb ، ويعمل على النواتين 32بت و 64 بت 🙂 النسخة السابقة: عندما يعطي برنامج الاكسس اخطاء - النسخة رقم 3 - قسم الأكسيس Access - أوفيسنا (officena.net) بعض الاوقات عند تشغيل برنامج اكسس ، نجد انه يغلق بدون سبب ، بمثل هذه الرسالة: . او يُظهر اخطاء ، مثل هذه الرسائل وغيرها : . . . هذا معناه ان برنامجك يحتاج تنظيف من الاخطاء التي فيه ، او يحتاج الى استعادة حيويته مرة اخرى ، بالتنظيف والصيانة 🙂 وعادة نقوم بهذا العمل على برنامج الواجهات FE ، ولكن برنامج الجداول BE يستفيد منه كذلك. نافذة البرنامج : . 1. نختار الملف ، سواء mdb او accdb ، اما ملفات mde و accde ، فلن تستفيد من Decompile/Compile ، ولكنها ستستفيد من الضغط والاصلاح ، وعمل نسخ اضافية ، 2. اذا البرنامج فيه كلمة سر (ليس كلمة سر المستخدمين ، ولا كلمة سر الكود VBE) ، فيمكنك كتابة كلمة السر هنا ، وسيقوم البرنامج بحفظه/نسخه في ذاكرة الكمبيوتر ، وتستطيع استعمال الالصاق Ctl+v عندما يسألك البرنامج ، كما يقوم البرنامج بإستخدامه في فتح برنامجك لمراجعة الاخطاء. اذن هناك خطوة يمكن للبرنامج ان يستخدم كلمة السر مباشرة ، وهناك خطوة يجب عليك ادخال كلمة السر عن طريق اللصق Ctl+v ، تم إضافة ميزة عمل النسخ الاحتياطية لبرنامجك ، بحيث تحفظ نسخة من برنامجك بعد التنظيف ، في المجلد الذي تختاره ، ويكون الحفظ المسلسل هكذا : . يعني بدل ان تحفظ نسخة من برنامجك بطرقك الخاصة ، تستطيع وبعد تعديل برنامجك ، ان تتأكد انه خالي من الشوائب ، ويعمل نسخه منه تلقائيا 🙂 وهناك عدة طرق لإختيار مجلد الحفظ: 3. حفظ الملف في نفس مجلد البرنامج ، 4. اختار المجلد ، وبعد اختياره ، تستطيع ان تنقر على الزر 9 ليقوم البرنامج بحفظ هذا المجلد/المسار في البرنامج للمرات القادمة ، 5. اول مسار تريد حفظه هو: استعمل الخطوة 4 في فتح المجلد الرئيسي لحفظ النسخ الاحتياطية (واذا ما كان عندك ، فقم بعمله من الآن) ، ثم احفظ المجلد/المسار بالزر 9. وبعدها ، البرنامج تلقائيا يختار هذا المجلد (اذا قمت بحفظه بواسطة الزر 9) كلما فتحت البرنامج ، اي انه اول سجل في الجدول ، 6. عن طريق الخطوة 4 ، تستطيع حفظ اي عدد من المجلدات ، ولاحقا تستطيع ان تختار هذا المجلد لحفظ النسخة الاحتياطية فيه ، 7. عدم عمل نسخ احتياطية ، للأسف الشديد 😞 8. عند اختيار اي من الاختيارات اعلاه ، سيضع البرنامج مسار مجلد النسخ الاحتياطية هنا ، 11. الآن نطلب من البرنامج ان يقوم بعمله ، بالخطوات التالية : أ. يحفظ نسخة من البرنامج وقبل مساسه (حتى اذا لا قدر الله وحصلت مشكلة في العمل ، يمكنك الرجوع لهذه النسخة) ، ويقوم البرنامج بعمل النسخة في مجلد برنامجك ، بإضافة bak_ في نهاية اسم الملف ، كما في الصورة ، واذا احتجت لإستعمال الملف لاحقا ، فقط قم بحذف bak_ وسيعمل البرنامج : ب. ضغط واصلاح : لما تحذف سجلات من برنامجك ، فإن البرنامج يعطي اشارة الى الجدول بإخفائه ، ولا يقوم بحذفه إلا بعد الضغط والاصلاح ، عند عمل فهرسة لحقول في الجدول ، فإن البرنامج يحتاج الى ضغط واصلاح حتى يقوم بترتيب اعدادات الفهرسة ، عند العمل على البرنامج لفترة طويلة بإضافات وتعديل وحذف ، فالبرنامج يحتاج الى ضغط واصلاح لإعادة ترتيب الفهرسة لسرعة عمل البرنامج ، قد يتم خطأ في تسجيل سجل ، ربما بسبب انطفاء الكهرباء ، او اغلاق الكمبيوتر وبدون اغلاق البرنامج ، وهذا السجل يجعل الجدول لا يعمل بطريقة صحيحة ، والضغط والاصلاح يحل هذه الاشكالية ، البرنامج عبارة عن ملف في الكمبيوتر ، ولما تعمل البرنامج ، فإن الكمبيوتر يحفظ البرنامج على المكان الفارغ من القرص الصلب ، ولما تضيف سجلات جديدة ويكبر حجم البرنامج ، فقد يحفظ الكمبيوتر الجزء الجديد في مكان آخر على القرص الصلب ، مكان غير ملاصق للجزء الاصل (وهذه طريقة حفظ الكمبيوتر للملفات) ، وبهذه الطريقة يصبح الملف موجدا على اجزاء مختلفة من القرص الصلب ، مما يجعل البرنامج ابطأ ، ولما تعمل ضغط واصلاح ، فإن الاكسس يقوم بحساب المساحة المطلوبة للبرنامج ، ثم يقوم بعمل برنامج جديد في مكان جديد على القرص الصلب ، وينسخ البرنامج اليه ، مما يجعل البرنامج اسرع ، بالاضافة الى امور اخرى لا يتم حلها إلا بالضغط والاصلاح ، الضغط والاصلاح لا علاقة له بالكود ، ولا يقوم بفحصه. ج. Decompile : لما نكتب الكود ، الاكسس يحتفظ بكل سطر بلغة P-Code الخاصة بمايكروسوفت (والتي تُستخدم لبعض البرامج الاخرى كذلك) ، وعند تنفيذ الكود ، فالاكسس ينفذ كود لغة P-Code ، وفي بعض الاحيان من كثرة التعديلات على الكود ، فإنه لا يتم تحديث P-Code بطريقة صحيحة ، فينتج عنه رسائل اخطاء اكسس ولا يعمل البرنامج بطريقة صحيحة ، وعند عمل Decompile ، فالاكسس يحذف كود P-Code القديم ، ويسجل فيه كود جديد من VBA ، مما يجعل البرنامج اصغر في الحجم زيادة في الكفائة. د. Compile : بهذه الطريقة ، نتأكد من عدم وجود اخطاء في الكود ، وبقايا ومخلفات ، مثل: لما نحذف كائنات في النموذج/التقرير ، ولا نحذف الحدث الخاص بها ، فالكود يجب حذفة ، لعدم وجود الحدث الي يستعمله ، لما نحذف كائن في النموذج/التقرير ، وفي الكود نكون قد اعطيناه قيمة ، فيجب حذف المسمى من الكود ، عند كتابة كود بطريقة غير صحيحة وغير مكتملة ، فيجب تصحيحها ، وهذه الخطوه مهم لتحويل البرنامج الى mde او accde . يحاول البرنامج القيام بهذا العمل لبرنامجك ، ولكنه اذا لم يستطيع ويحصل على اخطاء ، فإنه يخبرك بهذا ، ويخبرك مكان الخطأ في الكود ، سواء وحدة نمطية او نموذج او تقرير ، ويعطيك مثل الرسالة التالية ، والتي اذا اخترت نعم ، فيوقف البرنامج ، . ويأخذك لبرنامجك الى نافذة الكود VBE ، ثم يجب عليك ان تعمل التالي يدويا: . وتُصلح الاخطاء التي في برنامجك ، الى ان لا يعطي برنامجك اخطاء اخرى ، وبعدها تستطيع ان ترجع الى البرنامج ليقوم جميع الخطوات مرة اخرى. هـ. اذا اشتغلت خطوات البرنامج وبدون اخطاء ، فهنا يقوم البرنامج بعمل نسخة احتياطية من برنامجك ، وبالتسلسل الصحيح ، وفي المجلد الذي اخترته. 12. البرنامج يخبرك عن الخطوات التي تمت 🙂 جعفر Decompile_4.accdb..zip Decompile_4.mdb..zip Decompile_4.2.accdb.zip
    1 point
  9. ماكرو بحث واستبدال اسم أو رقم بفورم الاكسل وبعددة طرق الفيديو الصور
    1 point
  10. كلمات تتحرك داخل الفورم باستخدام WebBrowser الاكواد الاداة WebBrowser1 ------ Option Explicit Public LeTexte As String Public LaCouleur As String --- Private Sub UserForm_Initialize() LeTexte = Sheets("magdi").Range("a1").Text LaCouleur = "#990000" ParametresHtml End Sub Sub ParametresHtml() UserForm3.WebBrowser1.Navigate _ "about:<html><body scroll='no'><font color= " & LaCouleur & " size='8' face='NEW'>" & _ "<marquee>" & LeTexte & "</marquee></font></body></html>" End Sub
    1 point
  11. تمام ولكن النطاق الذى تقصده من اول تاريخ والذى يقصده هو والله اعلم مثلا هو مسجل من تاريخ 27/1/2021 الى 27/2/2021 هو يريد البحث عن هذا السجل باى يوم يقع داخل هذا النطاق اى يوم 28/1 او 29/1 فيظهر له هذا السجل هذا ما فهمته وربما اكون قد فهمت خطأ ولكن بما ان الاستعلام لاظهار فعن نفسى ساحلها باضافة حقل نعم ولا ويتم تحديثه بناء على اخر يوم انتهاء وبذلك ساقوم بالتصفيه بناء على حقل نعم ولا لمعرفة المنتهى من الغير منتهى تقبلوا تحياتى ومرورى
    1 point
  12. السلام عليكم ورحمة الله اجعلى الكود هكذا Private Sub CommandButton1_Click() Dim ws As Worksheet, LR As Long, i As Long Set ws = Sheets("Sheet1") LR = ws.Range("A" & Rows.Count).End(3).Row Application.ScreenUpdating = False For i = 1 To 22 ws.Cells(LR + 1, i).Value = Me.Controls("TextBox" & i).Value Me.Controls("TextBox" & i) = vbnulstring Next ws.Range("E2").Value = Me.ComboBox1.Value ws.Range("E3").Value = Me.TextBox25.Value ws.Range("I2").Value = Me.TextBox26.Value ws.Range("I3").Value = Me.TextBox27.Value Me.ComboBox1 = "" Me.TextBox25.Value = "" Me.TextBox26.Value = "" Me.TextBox27.Value = "" Application.ScreenUpdating = True End Sub
    1 point
  13. هذا الخطوات السابقة لايقاف التأمين علي الجهاز الحالي ولا تحفظ داخل قاعدة البيانات وانما بالرجستري للجهاز هذه كانت الطريقة الثانية أن تقوم بتغير القيمة من الرجستري مباشرة أو من خلال الكود البرمجي كما هو موجود بمرفق أستاذنا @sandanet ولكن لا أحبذ ايقاف اعدادات التأمين بالكلية فوجودها مطلوب لتفادي أضرار غير مقصودة أو مقصودة من برمجيات هدفها التخريب. وأحيلك علي هذه المشاركة بموضوع مشابه لموضوعك بها جمع لطريقة تعديل الرجستري من خلال الكود وطريقة جميلة أخري للأستاذ جعفر لفتح البرنامج من موقع آمن برمجيا أيضا أتركك مع الرابط - ولا تنسانا من دعائك -
    1 point
  14. أنا استعلمت بين نطاق معين وظهر لي السجل الوحيد الذي لديه - لذلك طلبت منه أن ينوه لنا عن الخطأ في البيانات حسب ما يريد لنستطيع مساعدته ان شاء الله.
    1 point
  15. بدون ملف مرفق لا احد يستطيع المساعدة لكن يمكنك اختبار هذا التموذج Abou sadd.xlsm
    1 point
  16. ممكن تعطينا مثال للبيانات الخطأ التي ظهرت، وكيف تود أن تظهر معك بشكل صحيح؟! يعني، مثلا: وضعت التاريخ من 1/1/2021 حتي 29/1/2021 فظهرت البيانات من 12/1/2021 وحتي 15/2/2021 وهذا خطأ أو لم تظهر بيانات رغم وجود بيانات خلال الفترة المذكورة وانما الصحيح أن تظهر البيانات بين 1/1/2021 وحتي 29/1/2021 ومن فضلك اضف بعض البيانات الوهمية لمرفقك لنستطيع التجربة عليها.
    1 point
  17. وعليكم السلام اخى الفاضل ارفق مثال لما تريد وما توصلت له وما توقفت عنده لتجد المساعده من قبل اخوانك واساتذتنا جزاهم الله خيرا بالتوفيق
    1 point
  18. السلام عليكم ورحمة الله ضعى الكودين الآتيين فى حدث الفورم مع مراعاة ان اعيدى ترتيب التكست بوكس الاولى من 1 الى 18 حتى يعمل معك الكود بشكل صحيح هذا و الله ولى التوفيق Private Sub CommandButton1_Click() Dim ws As Worksheet, LR As Long, i As Long Set ws = Sheets("Sheet1") LR = ws.Range("A" & Rows.Count).End(3).Row Application.ScreenUpdating = False For i = 1 To 22 ws.Cells(LR + 1, i).Value = Me.Controls("TextBox" & i).Value Next ws.Range("E2").Value = Me.ComboBox1.Value ws.Range("E3").Value = Me.TextBox25.Value ws.Range("I2").Value = Me.TextBox26.Value ws.Range("I3").Value = Me.TextBox27.Value Application.ScreenUpdating = True End Sub Private Sub UserForm_Initialize() Me.ComboBox1.AddItem "نقدى ": Me.ComboBox1.AddItem "اجل" Me.ComboBox1.AddItem "دين ق": Me.ComboBox1.AddItem "دين ط" End Sub
    1 point
  19. مشاركه مع معلمنا العزيز جعفر جزاه الله خيرا راجع الرابط التالى
    1 point
  20. اخي الفاضل: في موضوعك السابق انا ارفقت لك رابط به طلبك ، هل راجعت الرابط ؟ جعفر
    1 point
  21. السلام عليكم يأخي ضع ملفك ليتم عليه التعديل
    1 point
  22. هل مدخلات برنامج يختلف عن هذا مثال 2.accdb
    1 point
  23. الف الف شكر استاذنا الفاضل علي تعبك ومجهودك ولاهي الذي عملته اكثر من المطلوب بكثير شكرا لك جدا وشكرا منتداي الغالي اوفسينا
    1 point
  24. اتفضل اخى الكريم تم عمل المطلوب، إن شاء الله يفى بالغرض يجب الضغط على الازرار الخاصة للجمع كما تم تفعيل تحديد الصفوف المتعدد فى الليست بوكس وتم اضافة زر باللون الأحمر مخصص لحذف الصفوف المحددة فى الليست بوكس فقط وليس من الشيت فى حال رغبت فى جمع صفوف معينة وحذف الأخرين ويمكنك أيضا الضغط مرتين (دبل كليك) على الصف الذى ترغب فى حذفه من الليست بوكس. بالتوفيق يوزر فروم 1-2.xlsm
    1 point
  25. اعطيك مهلة تفكر اليوم ، وبكرة الصباح ان شاء الله سوف ارد على هذا الطلب 🙂 فرجاء تجربة جميع النماذج والتقارير ، واعطني القائمة كاملة حتى اعمل عليها مرة واحدة ، وبها ينتهي مفعول هذا الموضوع 😁 جعفر
    1 point
  26. حياك الله 🙂 الله سبحانه وتعالى وفقني ان اعمل برامج لبعض المؤسسات الكبيرة ، فالكثير من مقاطع شغلي هناك ، اسردها هنا في المنتدى ، والكثير من اعمالي هنا ، استفيد منها في العمل هناك 🙂 وبين هذا وذاك ، يأتي من يستفيد من هذا وذاك ، والحمدلله 🙂 تُدرس ، او تُدرّس ؟ جعفر
    1 point
  27. 1 point
  28. هل هذا الحل مناسبك لبرنامجك .....
    1 point
  29. صدقأ اخي الحبيب انا من اشد المعجب بك وأحاول دائماً الاستفادة من مشاركاتك ... ما شاء الله لا قوة الا بالله دمت لاخيك تحياتي
    1 point
  30. ما شاء الله عليك اخوي أبو عبدالله ، يعني مو كفاية انك استعملت البرنامج ، ودخلت وفككت الكود كذلك واخذت الخلاصة منه 🙂 جعفر
    1 point
  31. جرب هذا ووافنا بالنتائج ملاحظة: أنت تستخدم حقل من مستقل عن حقل الي فلا داعي لوجود معيار between لكلا الحقلين معا بل لكل حقل سيكون له معيار كما بالمرفق (أترك لك الميكروفون أقصد التجربة) Vacations.rar
    1 point
  32. تم الغاء السطر الاخير الفارغ ، فرجاء تجربته على هذا البرنامج ، وذاك 🙂 وتم اصطياد جميع رسائل الاخطاء ، بحيث يتم عرضها ، وعند التقر على OK ، يتم اغلاقها ، ولا اريد ان اوقف هذه الرسائل ، حتى تعرف انك قمت بخطأ ما ، والبرنامج يكتشف هذه الاخطاء فقط لما يفتح ملف الوورد ، فلا سبيل الى التنبئ بالخطأ خلافا لذلك 🙂 اما موضوع عمل جدول وجميع حقوله "مذكرة" ، فنعم تستطيع القيام به لتعجيل استيراد البيانات من ملف الوورد ، ولكنك ستتيه في بيانات الاكسس !! ولا انصح بتعديل نوع حقوله من مذكرة الى رقم (مثلا) ، وانما يكون الافضل وجود جدول آخر به انواع الحقول بالطريقة الصحيحة ، ثم يتم استيراد بينات جدول المذكرات الى هذا الجدول ، وتتم عملية التنظيف خلال هذا الاستيراد ، ولكن لن يكون الامر سهلا 😁 جعفر 1322.7.تحويل.accdb.zip
    1 point
  33. وعليكم السلام الطلب واضح ولكن انت وضعت في حدث بعد التحقيق للقائمة List39 امر تنفيذ استعلام لتحديث الكمية المتوفرة مثلا تم اختيار عصير مانجو والكمية المتوفرة 20 عند اختيار هذا الصنف اصبحت القيمة الافتراضية لحقل الكمية في النموذج الفرعي 1 وتم تنفيذ الاستعلام واصبحت الكمية المتبقية في جدول الاصناف 19 وبالتالي عندما ترغب في تعديلها الى 20 لن يقبل البرنامج لكون الكمية المطلوبة اكبر من المتبقي ايضا لديك مشكله اخرى عند بيع كامل الكمية والرصيد 0 يقبل اضافة صنف واحد كل مره وهذا بسبب خطا لم اجد الوقت لمراجعتة صورة للايضاح الصورة الاولى والثانية بمجرد اختيار الصنف من القائمة تم تحديث الكمية في النموذج والجدول الصورة الثالثة اضافة صنف والرصيد صفر الصورة الاخيرة الرصيد بالسالب
    1 point
  34. انا لا احبذ هذه الفكرة ، وفي الدورات اللي اعملها ، امنع تلامذتي من الدخول في اليوتيوب لمشاهدة الدروس التعليمية. اليوتيوب مفيد للمبرمج الذي يعرف ما يريده بالضبط ، ويستطيع ان يستخلص الفائدة منه ، فقط ، وإلا للمبتدئ ، فاليوتيوب عبارة عن مستنقع ضحل !! كم وكم شاهدنا بعض الاعضاء يسأل السؤال هنا في المنتدى ، وبين ليلة وضحاها نرى انه قد عمل درس لهذا الموضوع على اليوتيوب ، وكم وكم شاهدنا من الدروس على اليوتيوب لمبرمجين اصلا لا يلتزمون بأساسيات البرمجة (وابسطها ان تكون الحقول والكائنات باللغة الانجليزية ، وبكلمات غير محجوزة للأكسس) !! بينما الانترنت مليئ بمنتديات عريقة ، سواء الاجنبية منها او العربية ، وبكل فخر ، فمنتدى اوفسينا احدها ، ولا ابالغ اذا قلت ، اهمها 🙂 جعفر
    1 point
  35. وعليكم السلام-يمكنك استخدام هذه المعادلة =IFERROR(NETWORKDAYS.INTL(L2,A2,6),"لم يصرف") تقرير فواتير مبيعات رواج من 1-1-2021 الى 18-1-2021.xls
    1 point
  36. جرب هذا أيضا ولكنه غير مجاني وهذا الموقع الرسمي للبرنامج accessfixinstaller.rar
    1 point
  37. اخي الشامل 🙂 اذا كانت البيانات ذو اهمية ، فيمكنك الاتصال مع احد الشركات المتخصصه في استرجاع بيانات الاكسس ، وسيخبروك عن التكلفة وعن مايمكنهم استرداده ، ومنها هذه الشركة : EverythingAccess.com File Upload Form جعفر
    1 point
  38. فورم شرح كيفية كتابة سورة الاخلاص على الاكسل الفيديو حمل الملف
    1 point
  39. جربي هذا الملف كلما نريدين مجموعة اضغطي عل الزر Run code Option Explicit Sub Arkam_3ashwa3iat() Dim Formule$ Range("A3:C6").Formula = _ "=RANDBETWEEN(1,$E3/3)" Range("A3:C6").Value = _ Range("A3:C6").Value Formule = "=IF(SUM($A3:$C3)>$E3,SUM($A3:$C3)-E3," Formule = Formule & "IF(SUM($A3:$C3)<" Formule = Formule & "$E3,$E3-SUM($A3:$C3),0))" Range("D3").Resize(4).Formula = Formule Range("D3").Resize(4).Value = _ Range("D3").Resize(4).Value End Sub Zahra.xlsm
    1 point
  40. السلام عليكم 🙂 مشاركتي هنا مو معناها اني أؤيد هذا الطريق ، وانما لأنه تم فتح هذا الباب ، فاريد ان اضع بعض نقاط تجربتي فيه 🙂 1. لا تستخدم ملف System.MDW ، وانما اعمل منه نسخة واستعمل النسخة ، 2. احتفظ بنسخة من ملفاتك الـ MDW معك في مكان امين ، لأنك ستحتاج لها اذا فقدت النسخة الاصل ، 3. بما انك تقدر ان يكون عندك اكثر من مجموعة (مجموعة لبرنامج المحاسبة ، ومجموعة لبرنامج الصادر والوارد ، وووو) ، يفضل ان يكون اسم ملف الـ MDW هو نفس اسم برنامجك ، 4. خلي ملف MDW نفس مجلد الجداول BE ، وعليه ، يجب ان تكون كل الاختصارات تشير اليه ، 5. في البرنامج ، علشان تعرف اسم المستخدم ، الامر هو CurrentUser ، 6. يجب ان تفتح البرنامج من المختصر Shortcut من على سطح المكتب (رجاء متابعة النقطة تحت) ، وتعمل مختصر لكل مستخدم ، 7. اذا تم فتح البرنامج بدون المختصر (او اذا لم يوجد ملف MDW) ، فإسم المستخدم سيكون Admin ، وهذه كارثة ، لذلك يجب ان تحذف اسم Admin من قائمة المستخدمين في ملف MDW ، 8. في اول سطر ، عند فتح قاعدة البيانات ، يجب ان تغلق البرنامج اذا كان المستخدم هو Admin : if currentuser= "Admin" then docmd.quit end if 9. المختصر على سطح المكتب هو كما اشار اليه اخي ابا جودي ، 10. يمكن إضافة اسم المستخدم في المختصر (بدل ان يختار اسمه عند فتح البرنامج) : "C:\Program Files\Microsoft Office\Office\msaccess.exe" /wrkgrp "\\TT\WorkgroupFile.mdw" "\\TT\Database.mdb" /user UserName 11. يمكن إضافة اسم المستخدم وكلمة السر في المختصر (بدل ان يختار اسمه عند فتح البرنامج ، وادخال كلمة السر) ، ولكن حذاري ، فقد يعرفها المخربون : "C:\Program Files\Microsoft Office\Office\msaccess.exe" /wrkgrp "\\TT\WorkgroupFile.mdw" "\\TT\Database.mdb" /user UserName /pwd Password جعفر
    1 point
  41. السلام عليكم واجهتني مشكلة عند محاول تنسيق النتائج الاحصائية فى الاكسيل ، و هى انه فى حالة درجات المعنوية المختلفة فى عدد كبير من الاحصائيات تظهر علامتي ** و * لتدل على مستوى المعنوية Significance Level و يكون هذا التنسيق غير ملفت بدرجة كبيرة فى الجداول الكبيرة. خاصة لاظهار الاختلاف بين الخلايا المميزة ب ** و تلك المميزة ب * واحدة. وفى حالة النتائج الكبيرة ـ، يكون من المرهق ابراز الخليا ذات مستوى المعنوية المختلف عن طريق التنسيق دفعة واحدة ، و ايضا الاكسيل يفهم الخلايا التي تحوي علامات * و ** على انها خلايا نصية و ليس ارقام ـ فلا يمكن اجراء حسابات عليها و للتغلب على هذه المشاكل قمت بعمل التالي هام: اولا يرجي قبل التجربة استخدام نسخة من الملف الخاص بك ليمكن العودة اليها حال حدوث مشكلة اثناء التجربة. اولا تغيير التنسيق دفعة واحدة لكل الخلايا التي تحوي مستوى معنوية معين ، و ذلك عن طريق استبدال الخلايا التي تحوي ** بتنسق مختلف ، و هذا يتم عن طريق استخدام الرمز ~*~* حيث ان علامة * بمفردها تعني كل الارقام و الحروف لذا يجب ان يسبقها علامة ّ لكي يتم التعامل معها كحرف و ليس ك حرف بدل Wild Character فتظهر الخلايا كالتالي و يلي ذلك استبدال تنسيق الخلايا التي تحول علامة * واحدة ، و هذا أصعب لانه سيشمل ايضا الخلايا التي بها نجمتان ** عند التنفيذ لذا يتم البدء اولا باستبدال ال ** باي حرف مثل a ثم تنفيذ التنسيق المطلوب أو اضافة حرف b لتمييزها ، فتصبح النتيجة كالتالي : و اذا اردنا اجراء عمليات حسابية على الخلايا فيجب حذف جميع الحروف a و b و الاكتفاء بالتنسيق لاجراء الحسابات ، و ايضا يفضل اخذ نسخة احتياطية من ورقة العمل قبل التنفيذ
    1 point
  42. كما ذكرت لك سيناريو التشفير و فك التشفير يعتمد على سير العمل في برنامجك بالنسبة لي استخدمت هذه الطريقة كالتالي لدي برنامج فيه مجلد للصور عند حفظ الصورة لاول مرة في المجلد يتم تشفيرها وعند طلب الصورة يتم نفل الصورة الى قرص D ثم يتم فك تشفيرها و عند الانتهاء منها يتم تشفيرها و حذفها بهذه الطريقة اضمن ان المفات الاصلية لن تتاثر ابدا
    1 point
  43. السلام عليكم ورحمة الله وبركاته.. الحمد لله، والصلاة والسلام على رسول الله، وعلى آله وصحبه، وسلم تسليما كثيرا. أما بعد.. فهذا ملف فيه أمر تشغيل كيبورد الويندوز على سطح المكتب بواسطة إكسيل. وفقني الله وإياكم لما يحب ويرضى. تشغيل كيبورد الويندوز.rar
    1 point
  44. السلام عليكم ورحمة الله وبركاته اقدم هذا العمل الى جميع اساتذتى فى اوفيسنا واقدمه الى جميع اعضاء اوفيسنا وفكرته تقوم على كيف تبحث بدالة VLOOKUP بشرطين اسال الله تعالى ان يتقبل منى هذا العمل تقبلوا منى جميعا خالص التحيه VLOOKUP بشرطين.rar
    1 point
  45. استبدل كود زر الاضافة بهذا الكود Private Sub CommandButton1_Click() Dim sh As Worksheet Dim R As Integer, N As Integer, Endrow As Integer, ALI As Long Set sh = Sheets(TextBox4.Value) ALI = sh.Cells(Rows.Count, 1).End(xlUp).Row + 1 For R = 0 To 10 If Me.Controls(myCon(R)).Text = "" Then N = N + 1 Next If N <> 0 Then MsgBox "ملف فارغ لا يمكن الأضافة": GoTo 1 Me.MousePointer = 11 With Sheets("الكشف الرئيسي") Endrow = .Range("A" & .Rows.Count).End(xlUp).Row + 1 For R = 0 To 10 .Cells(Endrow, R + 1).Value = Me.Controls(myCon(R)).Value If TextBox4.Value = sh.Name Then sh.Cells(ALI, R + 1).Value = Me.Controls(myCon(R)).Value End If Next R End With KH_A ActiveWorkbook.Save Me.MousePointer = 0 MsgBox "تمت الأضافة بنجاح" 1 End Sub وهذا المرفق المطلوب ترحيل _ALI_1.rar
    1 point
  46. ومرفق لكم مثال الأستاذ محمد طاهر (وبتدخل بسيط مني) وبصراحة أعتبره أفضل مثال لتقسيم الأسماء حيث يشمل 1- تقسيم الإسم كاملاً 2- تجاهل المسافات بين الأسماء 3- تحديد أجزاء الإسم التي يجب ربطها بما قبلها أو بما بعدها (مثال عبد و أمة) أو تجاهل (مثال بن و بنت) وبالإطلاع على المثال سيتضح المقصود إن شاء الله تحياتي,,, تقسيم الاسماء.rar
    1 point
×
×
  • اضف...

Important Information