اذهب الي المحتوي
أوفيسنا

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

  1. AbuuAhmed

    AbuuAhmed

    الخبراء


    • نقاط

      6

    • Posts

      976


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      6

    • Posts

      9,814


  3. متقاعد

    متقاعد

    الخبراء


    • نقاط

      4

    • Posts

      583


  4. محمد هشام.

    محمد هشام.

    الخبراء


    • نقاط

      2

    • Posts

      1,375


Popular Content

Showing content with the highest reputation on 26 نوف, 2022 in all areas

  1. المرفق الاخير لاستاذنا @AbuuAhmed يعمل لدي بشكل ممتاز
    3 points
  2. تفضل اخي يمكنك استخدام احدى المعادلات التالية =SIERREUR(RECHERCHEH('بيانات الموظفين '!F2;'جدول المرتبات'!$B$3:$O$18;EQUIV('بيانات الموظفين '!E2;'جدول المرتبات'!$B$3:$B$18;0);0);"") ولاستخراج قيمة الراتب في شيت جدول المرتبات =SIERREUR(INDEX('جدول المرتبات'!$B$3:$O$18;EQUIV(Q6;'جدول المرتبات'!$B$3:$B$18;0);EQUIV(R6;'جدول المرتبات'!$B$3:$O$3;0));"") ورقة1.xlsx
    2 points
  3. عن اذن اخي واستاذي @Barna اجعل مصدر البيانات هكذا =DCount("[name1]";"1_1";"[a1]='حاضر'")
    1 point
  4. كما العنوان عداد تنازلي بالميلي ثانية مع خيار بالتوقف المؤقت وخيار استئناف العد من جديد. StopwatchExample_01.accdb
    1 point
  5. كفيت ووفيت ، شكرا جزيلا 🙂 الآن مشاركتك اصبحت مرجع للاعضاء 🙂 جعفر
    1 point
  6. وهو كذلك أستاذي الغالي أولا قمت بتحميل ملفك واعتمدت في ملفك على الزر الأول بملفك واكتفيت به لأنه يفي بالغرض .. قمت بنسخ المديولين mod_IsWindows_64bit و modShellEx إلى برنامجي مع حذف دالتين OpenTabTip و strTerminateThis من مديول modShellEx ووضع تحت زر استدعاء الدالة RunOSK واكتفيت بهذا ملاحظة على الزر الثاني في ملفك سبب مشكلة عندي وهو تحجيم نافذة الملفات بحيث يصبح الكيبورد نصف الشاشة بالاسفل والبرنامج نصف الشاشة العلوية وهذا يعتبر مشكلة عندي .. فاستغنيت عنه
    1 point
  7. شكرا جزيلا استاذ ابوبسملة وجزاك الله انت والاساتذة كل خير الحمدلله حلت المشكلة
    1 point
  8. متميز ابو احمد طريقتك في كتابة الاكواد تدرس تحياتي وتقديري
    1 point
  9. جرب الآن ، أنا بدلت المرفق ، والأمور عندي ممتازة.
    1 point
  10. ماشاء الله والابداع .. أفتح الملفات وأشوف الابداع واللعب ماشاء الله أستاذي @مبرمج متقاعد@ شكرا لك على بساطت فكرتك الجميلة .. بالرغم أني أميل للأكواد .. لكن شكرا على ردك وتطبيقك في الملف .. لا استغني عنها أن شاء الله فقد اعجبتني لله درك @ابو جودي ماهاذا الابداع ..والاحتراف .. حفظك الله ياستاذي الغالي .. يعجز لساني عن شكرك .. فبارك الله فيك .. يامحترف الاكواد شكرا لك أستاذي أبو أحمد على مثالك الرائع .. قمت بتجربت الملف .. يقوم بتلوين خلفية الحقل .. ولا يقوم بتخزين كود اللون في الجدول .. وعند الانتقال إلى السجل التالي أو السابق يضل اللون المختار مثبت في خلفية الحقل ارجو تعديل الملف بشكل كلي وعملي حتى تعم الفائدة للجميع وتكتمل الافكار استاذي @جبرائيل@ لم أفهم طريقت تطبيق الكود بالرغم أني حاولت تطبيقه فياريت تقوم بتطبيقها على ملفي .. لتعم الفائدة وتكتمل الأفكار الرائعة منكم
    1 point
  11. ما نسيت ، بس سطري كان طرق باب ، ولم أتلقى الجواب 🙂 الآن بما أنك رديت على طرق الباب أضع لك المثال. طبعا يمكن عملها بدون استخدام زر ، ممكن من حدث DblClick لصندوق اللون. تطبيق لون_05.accdb
    1 point
  12. يا ابو احمد ، خليتني انط من على الكرسي وانا اقول بسم الله ما شاء الله واصلي على النبي ، على هذاالسطر الجميل ، وبعد رسائل الخطأ ، اكتشفت انك تنادي الدالة DialogColor ، بس نسيت ترفقها لنا 😁 'https://www.devhut.net/vba-choosecolor-api-x32-x64/ #If VBA7 Then Private Type ChooseColor lStructSize As Long hwndOwner As LongPtr hInstance As LongPtr rgbResult As Long lpCustColors As LongPtr flags As Long lCustData As LongPtr lpfnHook As LongPtr lpTemplateName As String End Type #Else Private Type ChooseColor lStructSize As Long hwndOwner As Long hInstance As Long rgbResult As Long lpCustColors As Long flags As Long lCustData As Long lpfnHook As Long lpTemplateName As String End Type #End If Private Const CC_ANYCOLOR = &H100 'Private Const CC_ENABLEHOOK = &H10 'Private Const CC_ENABLETEMPLATE = &H20 'Private Const CC_ENABLETEMPLATEHANDLE = &H40 Private Const CC_FULLOPEN = &H2 Private Const CC_PREVENTFULLOPEN = &H4 Private Const CC_RGBINIT = &H1 'Private Const CC_SHOWHELP = &H8 'Private Const CC_SOLIDCOLOR = &H80 #If VBA7 Then Private Declare PtrSafe Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As ChooseColor) As Long #Else Private Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As ChooseColor) As Long #End If Public Function DialogColor(Optional lDefaultColor As Variant) As Long Dim CC As ChooseColor Dim lRetVal As Long Static CustomColors(16) As Long 'Some predefined color, there are 16 slots available for predefined colors 'You don't have to defined any, if you don't want to! CustomColors(0) = RGB(255, 255, 255) 'White CustomColors(1) = RGB(0, 0, 0) 'Black CustomColors(2) = RGB(255, 0, 0) 'Red CustomColors(3) = RGB(0, 255, 0) 'Green CustomColors(4) = RGB(0, 0, 255) 'Blue With CC .lStructSize = LenB(CC) .hwndOwner = Application.hWndAccessApp .flags = CC_ANYCOLOR Or CC_FULLOPEN Or CC_PREVENTFULLOPEN Or CC_RGBINIT If IsNull(lDefaultColor) = False _ And IsMissing(lDefaultColor) = False Then .rgbResult = lDefaultColor 'Set the initial color of the dialog .lpCustColors = VarPtr(CustomColors(0)) End With lRetVal = ChooseColor(CC) If lRetVal = 0 Then 'Cancelled by the user DialogColor = RGB(255, 255, 255) ' White -> 16777215 Else DialogColor = CC.rgbResult End If End Function جعفر
    1 point
  13. تم تنقيح الكود فقط لإزالة بعض المتغيرات والسطور غير المطلوبة حاليا. StopwatchExample_06.rar
    1 point
  14. وعليكم السلام 🙂 1. اضافة جميلة وملف صوت مميز ، والاحلى انك جمعت المرفقات في مجلد واحد 🙂 2. انا كذلك كنت مستغرب من هذا ، وبحثت ولم اصل الى نتيجة ، وبعدها جرّبت واقتنعت 🙂 وكذلك للتجربة ، 1. افتح برنامجك ، 2. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، ستجد بان الوندوز حذفه ، 3. رجاء ارجاع المجلد Tools مرة اخرى ، باستعمال Ctrl + Z ، 4. افتح اي من النموذجين Up او Dn ، 5. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، ستجد بأنك لا تستطيع حذفه ، لأن الوندوز يستعمل ملف الخط ، 6. اغلق النموذج الذي فتحته ، 7. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، وستجد ان الوندوز حذفه ، 8. رجاء ارجاع المجلد Tools مرة اخرى ، باستعمال Ctrl + Z ، من هنا نرى ، انه اذا كان الوندوز يستخدم ملف الخط ، فلن يحذف المجلد. 9. اعمل هذا التغيير على احد النموذجين Up او Dn ، Private Sub Form_Close() 'Call RemoveFonts(CurrentProject.Path & "\Tools\digital-7 (mono).ttf") Call RemoveFonts("digital-7 (mono).ttf") Call RemoveFonts("C:\Windows\Fonts\digital-7 (mono).ttf") End Sub 10. افتح النموذج ثم اغلقه ، 11. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، ستجد بأنك لا تستطيع حذفه ، لأن الوندوز يستعمل ملف الخط ، من هنا عرفت انه لسبب ما 🙂 وللمحترفين ، هناك طريقة اخرى لمعرفة اذا قام الكود بحذف الخط من الوندوز ، باضافة Debug لمعرفة نتيجة عمل Api : 1 = تم حذف الخط ، 0 = لم يتم حذف الخط (ونلاحظ انه مرتين ، لأن الكود الاخير فيه حذف الخط من مسارين) : جعفر
    1 point
  15. وعليكم السلام 🙂 هناك عدة محاولات هنا جعفر
    1 point
  16. واذا تسمح لي اخوي ابو احمد ، بجعل البرنامج تلقائيا يستخدم الخط ويحذفه عند الخروج من البرنامج (استخدمت هذه الطريقة في احد برامجي في لخط الباركود 🙂 ) ، وعليه ، صورة نموذجك بالخط الصحيح سيكون . والوحدة النمطية لإضافة وحذف الخط Private Declare PtrSafe Function AddFontResource Lib "gdi32.dll" Alias "AddFontResourceA" ( _ ByVal lpFileName As String) As Long Private Declare PtrSafe Function RemoveFontResource Lib "gdi32" Alias "RemoveFontResourceA" ( _ ByVal lpFileName As String) As Long ' Public Function AddFonts(Font_Name_Path As String) Dim result As Long result = AddFontResource(Font_Name_Path) 'MsgBox Result & " fonts added" End Function Public Function RemoveFonts(Font_Name_Path As String) Dim result As Long result = RemoveFontResource(Font_Name_Path) 'MsgBox Result & " fonts added" End Function . وننادي الاضافة عند فتح النموذج ، ثم ننادي الحذف عند اغلاق النموذج: Private Sub Form_Open(Cancel As Integer) Call AddFonts(CurrentProject.Path & "\Digital_Font\digital-7 (mono).ttf") End Sub Private Sub Form_Close() Call RemoveFonts(CurrentProject.Path & "\Digital_Font\digital-7 (mono).ttf") End Sub . مع مراعاة اني عملت مجلد للخط "digital-7 (mono).ttf" اسميته Digital_Font في مجلد البرنامج . جعفر StopWatch.zip
    1 point
  17. تمت التعديلات التالية: - الأخذ في الاعتبار تغير التاريخ عند الساعة 12 ليلا. - تبديل الخط لصندوق للعداد مع وضع عنوان مصدر الخط لمن يريد انزاله وحفظه في مجلد الخطوط للويندوز. - أخذ ملاحظة عزيزنا جعفر بإبقاء الوقت عند الإيقاف النهائي للعد واستبداله بالتعامل مع زر الإيقاف المؤقت. - بعض التحسينات في الكود. StopwatchExample_02.accdb
    1 point
  18. السلام عليكم 🙂 عمل مبدع ، وكود نظيف وسهل التتبع 🙂 الشيء الوحيد اللي عدّلت فيه هو ، عند النقر على ايقاف الساعة ، كانت تختفي ، فقمت بإيقاف السطر 🙂 Me.txtRemainTime = Null جعفر
    1 point
  19. اشكرك مهندسنا الفاضل @ابوبسمله نعم هذا ما اريد , بارك الله بك وزادك علما انشاء الله
    1 point
  20. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته يسرني اليوم أن أقدم لكم هذه الهدية الرمضانية المتميزة والرائعة 😊 ( الكاتب الذكي لدوال المجال في أكسس ) Dloockup, DCount, DMax, DMin, Dfirst, DLast , DSum, DAvg هذه الأسطورة هي عبارة عن أداة صممتها في أكسس ( بفضل الله وحمده ) تقوم بكتابة دوال المجال نيابة عنك بشكل آلي .. وتعطيك النتيجة بشكل مباشر 😉👌🏼 لن يخطيء أحد بعد اليوم في كتابة جملة هذه الدوال إن شاء الله 😁 كل ما عليك فعله هو استيراد هذه الأداة لبرنامجك ثم اختيار الجدول أو الاستعلام المطلوب والحقل المراد وبعدها سترى العجب العجاب 🙂 ✨ ومن مزاياها :✨ 1 - تسهل عليك كتابة أسماء الجداول والحقول ( فقط تختارها من القائمة المنسدلة ) . 2- يحل مشكلة تداخل النصوص عند استخدامها مع الجداول والحقول المكتوبة باللغة العربية . 3- تفحص لك النتيجة مباشرة للتأكد من أنك ستحصل على البيانات التي تريدها . 4 - سهلة الاستخدام فقط اتبع الخطوات الموضحة وتأكد من اختيار نوع البيانات الصحيح . 5 - يمكنك عمل دالة بأربعة 4 معايير بكل سهولة ويسر . 6 - يمكنك عمل تعديلاتك الخاصة على الدالة مباشرة وفحص النتيجة مباشرة بعد التعديل على النتيجة النهائية . 7 - إمكانية الحصول على الصيغة الخاصة بمحرر الأكواد VBA أو الصيغة المستخدمة في الاستعلامات ومنشيء التعبير . 8- إمكانية استخدام الأداة بشكل مستقل من غير الحاجة لنقلها إلى برنامجك . 9- وغيرها الكثير مما سيفتح الله عليكم اكتشافه بأنفسكم إن شاء الله 😅 طريقة الاستخدام : سهلة يسيرة بحمد الله .. فقط قم بسحب النموذج المسمى SmartDomainFunctionsBuilder_F إلى برنامجك عن طريق السحب والإفلات .. ثم قم بفتح النموذج عندك وسوف يقوم هو آليا بالتعرف على الجداول والاستعلامات الخاصة ببرنامجك بدون الحاجة إلى جهد يذكر 🙂 ( مع إمكانية استخدام الأداة بشكل مستقل من غير الحاجة لنقلها لبرنامجك ولكنك ستفقد الكثير من المميزات 😉 ) الأداة تم عمل الكثير من التجارب عليها وتم تلافي العديد من الأخطاء وإصلاحها بحمد الله وفضله... ولكن لا زلت لا أستغني عن آراءكم وملاحظاتكم من خلال استخدامكم لها 😉 الشرح بالتفصيل : 🙂 وهنا قمت بشرح الأداة بشكل مفصل نوعا ما في مقطع فيديو مدته نصف ساعة تقريبا : وأخيرا التحميل 😊 تحميل الملف الأصلي : >> حمل من هنا آخر إصدار للأداة << تحميل الملف بلمسات المهندس العزيز @د.كاف يار : د.كاف يار __Domain Functions Builder V1.0.accdb وأهم من الأداة نفسها 😉 لا تنسوني من صالح دعائكم لي ولوالدي .. ولا تحرموني من آرائكم ومقترحاتكم ونصحكم وإرشادكم 🙂 أخوكم ومحبكم موسى الكلباني 😊 ‏‏Domain Functions Builder V1.0.accdb
    1 point
  21. السلام عليكم ورحمة الله وبركاته جائني علي الخاص الرسالة التالية من أخونا الفاضل (رجب محمد) ===================================== عندي شيت اكسل يحتوي على بيانات اكثر من عشرين الف اسم وقد حاولت ان اطبع كل عشرين اسم في صفحة مستقلة الطريقة التي اتبعها دائما هو عمل بيج بريك للصفحة وظبط الهوامش كما تعلم حضرتك وهذا يتم في ملف صغير يحتوي على عدد قليل من الاسماء اما الملف الاكبر فقد تعبت فيه لان عند الطباعة يظهر في صفحة عدد مثلا ثلاثون وفي صفحة اخري خمسون هل هناك طريق بسيطة لعمل ذلك الرجاء الرد سريعا ولكم جزيل الشكر =================================== إنتهت الرسالة ولم يكن أخونا رجب يستطيع رفع الملف المهم نصحته باستخدام الكود التالي Sub Macro1() LR = Sheet1.[A99999].End(xlUp).Row For r = (15 + 19) To LR Step 20 ' يمكنك استبدال الرقم 15 برقم أول سطر بعد العناوين ActiveSheet.HPageBreaks.Add Before:=Cells(r, 1) Next End Sub وبعد إرسال الملف لي واستئذانه في نشره هذا هو الملف مرفق بعد عمل اللازم (ليس به معلومات تضر بمصلحة العمل) بيج بريك.rar
    1 point
  22. أخي وحبيبي في الله وأستاذي الكبير طارق لكم تشتاق نفسي لرؤية مشاركاتك بالمنتدى ، فمنكم تعلمنا وما زلنا ننهل من علمكم الغزير .. بارك الله فيك وجزاك الله خيراً على هذا الكود المميز والرائع أحببت أن أشارك ولو بشيء بسيط ، مشاركتي مجرد شرح بسيط جداً للكود حتى يستفيد الأخوة الكرام من الكود Sub AddPageBreaks() Dim R As Long, LR As Long 'تحديد رقم آخر صف به بيانات في العمود الأول LR = Sheet1.[A99999].End(xlUp).Row 'إعادة ضبط كل فواصل الصفحات ActiveSheet.ResetAllPageBreaks 'يمكنك استبدال الرقم 15 برقم أول سطر بعد العناوين 'يمثل الرقم 20 عدد الأسطر أو الصفوف المطلوبة في كل صفحة For R = (15 + 20) To LR Step 20 'عمل فاصل للصفحات قبل نهاية كل حلقة تكرارية ActiveSheet.HPageBreaks.Add Before:=Cells(R, 1) 'الانتقال للحلقة التالية Next End Sub تقبل ودي وحبي واحترامي وتحياتي أستاذي ومعلمي الباشمهندس طارق
    1 point
  23. السلام عليكم ورحمه الله وبركاته اتقدم لكل أعضاء هذا المنتدى الغالى بملف قمت بترجمته من أحد الكتب الأجنبية وهو عن الحيل الذكية فى أكسل 2010 وهى بعض المهارات لا يعرفها الكثيرين فى المنتدى أتمنى أن يستفيد منها كل الأعضاء وشكرا جزيلاً Excel 2010 Tips.zip
    1 point
×
×
  • اضف...

Important Information