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

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

  1. د.كاف يار

    د.كاف يار

    الخبراء


    • نقاط

      7

    • Posts

      1,681


  2. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      5

    • Posts

      3,491


  3. أبوعبد الله

    أبوعبد الله

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


    • نقاط

      3

    • Posts

      1,389


  4. ناقل

    ناقل

    الخبراء


    • نقاط

      2

    • Posts

      558


Popular Content

Showing content with the highest reputation on 12 أبر, 2022 in all areas

  1. اقترح عليك ان تستخدم قناع الادخال لكل عنصر مثال على ذكل لدينا مربع نص رقمي و ليكن مثلا يتكون من عدد 4 حقول و يمثل حقل ID و يكون قناع الادخال بهذا الشكل بالتالي فأن القيمة المدخلة ستكون رقمية و لن يقبل القيم النصية مثال آخر لقيمة نصية هنا لدينا مربع نصي لإدخال الاسم و التنسيق الافتراضي له هو حروف فقط يكون قناع الادخال بهذا الشكل بإختصار من خلال قناع الادخال بإمكانك التحكم بنوعة الادخال لكل حقل فمثلا لو كنت تريد ما يلي :- اجبار المستخدم على ادخال قيمة نصية محددة لا تزيد عن رقم فيكون قيمة قناع الادخال هو : 0 اما لو اردنا المستخدم ادخال عدد محدد من الارقام مثلا تسعة ارقام فيكون قيمة قناع الادخال هو : 9 اما مثلا لو اردنا اجبار المستخدم على ادخال رقمين و حرفين فيكون قيمة قناع الادخال بهذا الشكل : ##LL لتمكين المستخدم من ادخال حروف و ارقام بعدد محدد مثلا خمسة حروف او ارقام فيكون قناع الادخال بهذا الشكل : AAAAA ******* ملاحظة ************* الحروف في قناع الادخال مثلا A كبير فيعني ادخال اجباري اما لو كان الحرف صغير a فيعني ادخال اختياري كما ستجد بعض نماذج اقنعة الادخل من خلال الخصائص
    4 points
  2. السلام عليكم ورحمة الله اتفضل اخي اليك هذا الكود Private Sub BtnDelete_Click() If Me.NewRecord = True Then Exit Sub Dim MyPass, MyId MyPass = InputBox("للحذف السجل اكتب رقم سري الخاص بالحذف السجلات", "تأكيد الحذف") If MyPass = 9999 Then MyId = Me.ID DoCmd.SetWarnings False DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdDeleteRecord DoCmd.SetWarnings True MsgBox "تم حذف السجل رقم " & " ( " & MyId & " ) " & "بنجاح" ElseIf Len(MyPass & "") = 0 Then MsgBox "تم الغاء العملية الحذف" Else MsgBox "خطأ في رقم سري الخاص لحذف السجلات" End If End Sub واليك ملف تطبيقي DeleteWithPassword.accdb
    3 points
  3. والجواب حسنا سنضيف اليه مسج التاكيدية نعم , بواسطة هذا موديول '---------------------------------- 'API CONSTANTS FOR PRIVATE INPUTBOX '---------------------------------- Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _ ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long Private Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, _ ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long 'Constants to be used in our API functions Private Const EM_SETPASSWORDCHAR = &HCC Private Const WH_CBT = 5 Private Const HCBT_ACTIVATE = 5 Private Const HC_ACTION = 0 Private hHook As Long '---------------------------------- 'PRIVATE PASSWORDS FOR INPUTBOX '---------------------------------- '//////////////////////////////////////////////////////////////////// 'Password masked inputbox 'Allows you to hide characters entered in a VBA Inputbox. ' 'Code written by Daniel Klann 'March 2003 '//////////////////////////////////////////////////////////////////// Public Function NewProc(ByVal lngCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim RetVal Dim strClassName As String, lngBuffer As Long If lngCode < HC_ACTION Then NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam) Exit Function End If strClassName = String$(256, " ") lngBuffer = 255 If lngCode = HCBT_ACTIVATE Then 'A window has been activated RetVal = GetClassName(wParam, strClassName, lngBuffer) If Left$(strClassName, RetVal) = "#32770" Then 'Class name of the Inputbox 'This changes the edit control so that it display the password character *. 'You can change the Asc("*") as you please. SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0 End If End If 'This line will ensure that any other hooks that may be in place are 'called correctly. CallNextHookEx hHook, lngCode, wParam, lParam End Function Function InputBoxDK(Prompt, Title) As String Dim lngModHwnd As Long, lngThreadID As Long lngThreadID = GetCurrentThreadId lngModHwnd = GetModuleHandle(vbNullString) hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID) InputBoxDK = InputBox(Prompt, Title) UnhookWindowsHookEx hHook End Function وفي خلف الزر الحذف سنكتب هكذا Private Sub BtnDelete_Click() If Me.NewRecord = True Then Exit Sub Dim MyPass, MyId MyPass = InputBoxDK("للحذف السجل اكتب رقم سري الخاص بالحذف السجلات", "تأكيد الحذف") If MyPass = 9999 Then MyId = Me.ID If MsgBox("هل انت متأكد من حذف السجل" & " ( " & MyId & " ) " & "؟ عند اختيار ( نعم ) لا يمكنك الرجوع عنه ", vbYesNo, "رسالة تأكيدية") = vbYes Then DoCmd.SetWarnings False DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdDeleteRecord DoCmd.SetWarnings True MsgBox "تم حذف السجل رقم " & " ( " & MyId & " ) " & "بنجاح" Else MsgBox "تم الغاء العملية الحذف " End If ElseIf Len(MyPass & "") = 0 Then MsgBox "تم الغاء العملية الحذف" Else MsgBox "خطأ في رقم سري الخاص لحذف السجلات" End If End Sub واليكم المرفق DeleteWithPassword.accdb
    2 points
  4. السلام عليكم ورحمة الله وبركاته 💐 أخي الكريم هل هذا ما تريد الوصول إليه فإن لم يكن يرجى التوضيح اكثر تم استخدام الدالة Sumif للوصول إلى النتائج لكن بعد إلغاء دمج الخلايا في ملف البيانات كما يلي: ملحص.xlsx
    2 points
  5. جرب هذا في حقل التاريخ ..... Between [Forms]![نموذج_بحث]![from] And [Forms]![نموذج_بحث]![to]
    2 points
  6. الاخوة الافاضل برجاء كل من لديه اضافات الي الاكسيل ( Add Ins ) يرفقها بالموضوع للاستفادة من هذه الاضافات التي تسهل كثيرا في العمل علي الاكسيل مرسل لكم اضافة لدي و هي الماجيك فورم MasNoPass.rar
    1 point
  7. فاتورة الارجاع تشبه فاتورة المشتريات .. بمعنى انك ستظيف مواد للمخزن ودفع مبالغها من الرصيد لديك
    1 point
  8. لا اعتقد ممكن مع خلايا مدمجة وان امكن سيحدث لك مشاكل في المستقبل وقد يتم تدمير ملف اكسيل وتفقد جميع بياناتك لذلك ينصح العمل على خلايا غير مدمجة وتوجد مقالات كثيرة في الانترنت حول خطورة الخلايا المدمجة التي تسبب مشاكل كبيرة .
    1 point
  9. اجماليات المبالغ يتم تحديثها بمجرد الانتقال لسجل جديد داخل النموذج الفرعي او عند الضغط على زر حفظ او يمكن التحديث بعد اختيار نوع العملة Private Sub نوع_العملة_Click() Forms![Invoice]![D22].Requery Forms![Invoice]![D11].Requery End Sub
    1 point
  10. هذه المتغييرات للإعلان عن ان المكتبة المستخدم هي الاكسل نوع التطبيق - الصفحة - الورقة Dim xlApp As Excel.Application ' التطبيق Dim xlWb As Excel.Workbook ' الملف Dim xlWs As Excel.Worksheet ' الورقة بعد الاعلان عن المتغييرات كإجراءات بإننا سوف نقوم باستخدام وظيفة محددة يجب تزويد المكتبة او الوظيفة ببعض المعطيات كمسار ملف الاكسل Set xlWb = xlApp.Workbooks.Open("مسار ملف الاكسل") Set xlWs = xlWb.Worksheets(1) ' رقم الورقة داخل ملف الاكسل بعد فتح الملف الآن ما ذا تريد ان تفعل من خلال التالي تستطيع التعامل مع الخلية داخل الورقة x= رقم السطر y= رقم العمود xlWs.Cells(x, Y).Value التطبيق xlWs.Cells(1, 1).Value هذا باختصار شرح اساسيات الكود
    1 point
  11. تفضل التعديل يابو الحسن كذلك اتمنى اذا فيه مشكلة تكون ردودك مختصرة و تحدد المشكلة بدون تفصيل طويل الدائن و المدين.zip
    1 point
  12. اخي شاهد المرفق ( علامة مميزة للفورم ) ما الخطأ في الكود (1).xlsm
    1 point
  13. الف مليون مبروك اخي ومن تقدم الي تقدم ان شاء الله
    1 point
  14. جرب هذا التعديل انتخابات (1).zip
    1 point
  15. أخي العزيز @ABOLO2 من خلال متابعتي لطرحك في الموضوع الذي أشرت إليه أرى أن هناك حاجة ملحة لأن ترفق ملف أكسس كمثال لكي يتم التعامل معه .. لكن لا نضل ندور في دائرة من السؤال والجواب ولا نتوصل للنتيجة التي ترغب بها 🙂
    1 point
  16. 1 point
  17. ألف ألف مبروك يا استاذ اسأل الله ان يبارك فيك
    1 point
  18. الف مبروك والى مزيد من التقدير والتفوق والتقدم
    1 point
  19. 1 point
  20. نيابة عن أخي أزهر .. يقصد لك أن تضع مربع نص جديد وتسميه textpassword لكي يتعرف عليه الكود 🙂 أما لو أردت الاستغناء عن مربع النص والاستعاضة عنه بصندوق إدخال فاكتب الكود هكذا : Private Sub Form_Delete(Cancel As Integer) Dim InBox As String InBox = InputBox("أدخل كلمة المرور لتأكيد الحذف", "خاص بالادارة") If InBox = 9999 Then DoCmd.RunCommand acCmdDeleteRecord Else MsgBox "كلمة مرور خاطئة" Cancel = True End If End Sub
    1 point
  21. اخى الكريم هذه هى المعادلة بالفعل الصحيحة فغير منطقى ان يصل بها الشهور الى 12 شهر لأنه سيتحول تلقائى الى السنة ونفس الحال بالنسبى لعدد الأيام فلا يصل أبداً الى 30 يوم لأنه سيتحول تلقائياً الى الشهر ... وشكراًُ =(YEAR(C3)-YEAR(B3))+(MONTH(C3)-MONTH(B3))/12+(DAY(C3)-DAY(B3))/365 تحليل1.xlsx
    1 point
  22. ان شاء الله الحل هنا ان اردت وهو إهداء لمن يريد وهنا كان موضوع البحث والنقاش
    1 point
  23. وعليكم السلام ورحمة الله وبركاته 🙂 اهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، رجاء مراجعة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة بشرائك النسخة الاصلية من الموقع الذي اشر اليه الاستاذ صالح او تقدر تستخدم طريقة اخرى: . جعفر
    1 point
  24. هذا الكود Option Explicit Sub test1() Dim sh As Worksheet Dim Ro As Long Dim i%, t% Set sh = Sheets("test") With sh Ro = .Range("G" & Rows.Count).End(3).Row .Range("B31:C39").ClearContents If Ro < 51 Then Exit Sub t = 31 For i = 51 To Ro If UCase(.Range("G" & i)) = "YES" Then Range("B" & t).Value = _ Range("B" & i).Value t = t + 1 If t >= 40 Then Exit For End If Next i End With End Sub
    1 point
  25. مقدمة: أولا سوف يتم تقسيم الموضوع إلى عدة أجزاء على موضوعات منفصلة تعريف الإضافة + طريقة تحويل الماكرو إلى إضافة + حمايتها بكلمة سر عمل شيت بسيط يحتوي على 2 زر أحدهم لتثبيت الإضافة والأخر لحذف التثبيت تلقائيا طريقة التعديل على الإضافة عمل تبويب للإضافة لكي تظهر في الإكسل كـ Tab طريقة حماية الإضافة بدون باسورد وجعلها غير قابلة للعرض طريقة عمل تحديث للإضافة بحيث يقوم المستخدم بعمل تحديث للإضافة في حال إصدارلك لإصدار به تحديثات طريقة كسر حماية الإضافة في حال نسيان الباسورد أو كانت غير قابلة للعرض ما هي الإضافة Addin ؟ هي واحدة أو أكثر من التعليمات البرمجية " ماكرو " والتي تقوم بتنفيذ إجراء أو إجراءات على الشيت أو ملف الإكسل كاملاُ يعني الماكرو بتاعي اللي بستخدمه في أي شئ على سبيل المثال تلوين خلايا أو إضافة صفحات إلخ ده بحوله إلى إضافة Addin فيما تكمن أهمية تحويل الماكرو إلى إضافة؟ لنفترض أنني قمت بعمل ماكرو وأردت أن أرسل هذا الماكرو لصديق أو لمجموعة من المستخدمين أو حتى أضعه هنا على المنتدى فمن الطبيعي أن أجد بعض الأشخاص ليس لديهم أي معرفة بمحرر الأكواد ولا يعرفون ماذا تعني الإضافة ولا الماكرو ولكنهم في حاجة للاستفادة من هذا الماكرو وحتى أنا شخصيا هناك بعض الماكروز اللي محتاج إنها تعمل معي على كل ملفات الإكسل الحالية والجديدة وتكون جزء لا يتجزء من برنامج الإكسل الخاص بي فليس من المعقول أن أقوم بإضافة هذا الماكرو لكل ملف إكسل حالي أو جديد فكان من الضروري تحويل هذا الماكرو إلى إضافة. الإضافة بمجرد إضافتها للإكسل فهي تكون بمثابة ملف يحتوي على الماكرو يتم فتحه تلقائيا في كل مرة يتم فيها فتح ملف إكسل وبالتالي يكون جاهز للاستخدام في أي وقت وفي كل ملف إكسل. تحويل الماكرو إلى إضافة كيف يمكن تحويل الماكرو إلى أو مجموعة من الماكروز إلى إضافة Add In؟ الطريقة بسيطة وتتلخص في الأتي: فتح ملف إكسل جديد أو ملف الإكسل الحالي الذي يحتوي على الماكرو التأكد من عمل الماكرو وإخراجه على أكمل وجه ليؤدي الغرض الذي صنع من أجله بطريقة ممتازة يفضل جعل الملف فيه شيت واحد فقط خالي تماما من أي بيانات حماية الماكرو عن طريق وضع كلمة سر لمحرر الأكواد وذلك بالدخول لمحرر الأكواد Alt+F11 ومن ثم الضغط كليك يمين على اسم المشروع لتظهر النافذة التالية لنكتب اسم المشروع " بدون فواصل" ثم وصف المشروع " اسم الإضافة كما نريده أن يظهر " ثم نضع باسورد لحماية الماكرو من العبث 5- أخيرا سنقوم بحفظ ملف الإكسل بعد إغلاق محرر الأكواد ثم نضغط على F12 أو من قائمة File لحفظ الملف باسم Save As 6- نكتب اسم الإضافة بدون فواصل مثال" OfficenaAddin" ليكن شكل الإضافة النهائي كالصورة التالية : لإضافة الـ Addin إلى الإكسل والاستفادة منها وتجربتها يمكنك اتباع الخطوات في الرابط التالي هنــا الجزء الثاني سيتم شرحه في الموضوع القادم بمشية الله وهو عن عمل ملف إكسل صغير يعمل على تثبيت أو حذف الإضافة بضغطة زر ودمتم في رعاية الله
    1 point
  26. اخي العزيز كان عندي ملف من احد الاخوه في المنتدي يحقق طلبك و لكني لم اعثر عليه فسعيت ان اجهز لك طلبك قدر المستطاع بعمل هذا الملف لعله يوفي لك ما تريد ________________________.rar
    1 point
  27. أما إذا كان 2007 فلابد من إضافة أيقونة ADD-INS لشريط الأدوات QUIICK ACCESS TOOLBAR ومنها تقوم بتفعيل المعادلة بنفس الطريقة حيث ا، قائمة ADD-INS في 2007 هي البديل عن الوظائف الإضافية في 2003 . أبو عبدالله أخي العزيز على شريط أدوات الوصول السريع وبالضغط على زر الماوس الأيمن تظهر لك قائمة اختر منها تخصيص شريط أدوات الوصول السريع ثم من القائمة المنسدلة اليمنى التي عنوانها اختيار الأوامر من قم باختيار كافة الأوامر - فتسظهر لك بالقائمة أسفلها كافة أوامر الإكسيل ثم إذهب لآخر أوامر بنهاية القائمة واختر الأمر الخامس من أسفل وهو ( وظائف إضافية ) قم بالوقوف عليه ثم قم بالوقوف على الأمر بشرط أدوات الوصول السريع التي تحب إضافة الأمر الجديد بجانبه ثم قم بإضافة الأمر الجديد من زر إضافة الموجود بين القائمتين ثم اضغط موافق . والآن قد اصبح عندك أمر وظائف إضافية ضمن أوامر شريط أدوات الوصول السريع - إضغط على أيقونة وظائف إضافية فستظهر لك قائمة بكل الوظائف الإضافية المتوفرة قم بتفعيل الوظيفة أو المعادلة WRITENO2 بنقر صندوق التفعيل ( علامة صح ) ثم موافق والمعادلة هي التي قمت سابقاً بإضافة ملفها من نوع ADD-INS كما سبق أن أوضحت وبذلك ستصبح المعادلة موجودة يمكن استخدامها بأي ملف آخر - ولاختيار المعادلة عند الرغبة في استعمالها قم من أيقونة *F ( إدراج دالة ) ومن نافذة تحديد فئة اختر ( معرفة من قبل المستخدم ) فستظهر لك كل المعادلات التي تم تعريفها بأكواد VBA ومنها طبعا ستجد المعادلة WRITENO2 قم باختيارها والباقي سبق شرحه . أبو عبدالله
    1 point
  28. اخي العزيز / masrawy_online أشكرك جزيل الشكر على مرورك الكريم . أخي العزيز / أبو محمد هذا النوع من المعادلات لايعمل إلا بأحدى طريقتين إما أن يكون كود المعادلة موجود بنفس الملف المراد التطبيق عليه أو توسيع مجال الاستفادة والتطبيق من الكود بعمل ملف خاص به من نوع ملفات إكسيل بامتداد add-in ثم وضع الملف في مجلد add-in والذي يكون الوصول إليه من خلال مساره بالشكل التالي C:\Documents and Settings\User\Application Data\Microsoft\AddIns وطبعاً فيما يتعلق بمجلد user فإنه يختلف من جهاز لآخر حسب إسم المستخدم للجهاز إن كان هناك إسم معين للدخول على الجهاز . والملف المرفق هو الملف الخاص بالمعادلة WriteNo2 والتي استخدمت في الملف الذي أرفقته لك سابقاً وكل ما عليك أن تقوم بفك ضغط الملف المرفق ووضعه في مجلد Addins كما شرحت لك وبذلك ستكون المعادلة متوفرة لك في أي ملف إكسيل وستجدها موجودة ضمن قائمة المعادلة بالإكسيل في مجموعة User Defined وبنفس الإسم WriteNo2 وبذل تستطيع تطبيقها واستخدامها بأي ملف دون الحاجة لوضع الكود الخاص بها بالملف ، وعند تطبيق المعادلة ستجد حقلين في نافذة فتح تطبيق المعادلة الأولى بعنوان No وتضع بها عنوان الخلية التي سيكون بها الرقم المراد تحويله إلأى رقم بالحروف ، والحقل الثاني وعنوانه Sex ويعني صفة الرقم عند كتابته بالحروف من حيث التذكير والتأنيث في اللغة العربية وببساطة لجعل صيغة الرقم مؤنثة كأن تقول على ال 10 عشرة اكتب في حقل Sex الرقم صفر 0 ‘ وإذا رغبت بتذكير صيغة الرقم أي يكون عشر بدل عشرة أكتب في حقل Sex الرقم 1 . أرجو أن أكون نجحت في توضيح الفكرة . وتقبل تحياتي أبو عبدالله WriteNo2.rar
    1 point
  29. السلام عليكم الملف المرفق به طلبك . أبو عبدالله number_to_text.rar
    1 point
×
×
  • اضف...

Important Information