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

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

  1. عبدالله بشير عبدالله
  2. hegazee

    hegazee

    03 عضو مميز


    • نقاط

      6

    • Posts

      292


  3. Foksh

    Foksh

    الخبراء


    • نقاط

      5

    • Posts

      4912


  4. ابوحبيبه

    ابوحبيبه

    03 عضو مميز


    • نقاط

      5

    • Posts

      138


Popular Content

Showing content with the highest reputation on 05/02/26 in مشاركات

  1. السلام عليكم ورحمة الله وبركاته .. 🙂 نزولا عند رغبة شيخنا الفاضل @ابوخليل تم إضافة تحسين بسيط على دالة التفقيط المبسطة لتعميم الفائدة .. طبعا الدالة كانت تأخذ 3 أرقام من كسر العملة هكذا ( 143.487 ) وهذا ينطبق على بعض العملات كالريال العماني والبيسة العمانية بينما أن هناك الكثير من العملات تعتمد 2 رقمين لكسر العملة مثال الريال والهللة السعودية والجنيه والقرش المصري هكذا ( 123.45 ) والتعديل الذي تم إجراؤه هو إضافة معامل رابع للدالة للتحكم في هذا الاختلاف واختيار عدد أرقام كسر العملة 2 أو 3 حسب الحاجة .. بدون إطالة إليكم الدالة كاملة .. وكذلك تم إضافة ملف جاهز ليبين طريقة الاستخدام : 🙂 Option Compare Database Option Explicit Function NoToTxt(TheNo As Double, _ MyCur As String, _ MySubCur As String, _ Optional FractionDigits As Integer = 3 _ ) As String '---------------------------------- ' دالة التفقيط المحسنة ' TheNo : المبلغ ' MyCur : العملة الرئيسية ' MySubCur : جزء العملة ' FractionDigits : عدد أرقام جزء العملة 2 أو 3 '---------------------------------- ' : أمثلة على الاستخدام ' NoToTxt(15.436, "ريال عماني", "بيسة") ' NoToTxt(15.43, "ريال", "هللة", 2 ) ' NoToTxt2(15.436, "ريال", "بيسة", 3) '---------------------------------- Dim MyArry1(0 To 9) As String Dim MyArry2(0 To 9) As String Dim MyArry3(0 To 9) As String Dim Myno As String Dim GetNo As String Dim RdNo As Integer Dim My100 As String Dim My10 As String Dim My1 As String Dim My11 As String Dim My12 As String Dim GetTxt As String Dim Mybillion As String Dim MyMillion As String Dim MyThou As String Dim MyHun As String Dim MyFraction As String Dim MyAnd As String Dim i As Integer Dim ReMark As String Dim IntegerPart As Double Dim FractionPart As Long Dim ScaleNo As Double ' عدد خانات الكسر المسموح بها ' الدالة الحالية تقرأ الجزء العشري كمجموعة من 3 أرقام، لذلك الحد الأعلى 3 If FractionDigits < 0 Then FractionDigits = 0 If FractionDigits > 3 Then FractionDigits = 3 If Abs(TheNo) > 999999999999.999 Then Exit Function If TheNo < 0 Then TheNo = TheNo * -1 ReMark = "عليه مبلغ " Else ReMark = "له مبلغ " End If If TheNo = 0 Then NoToTxt = "صفر" Exit Function End If MyAnd = " و" MyArry1(0) = "" MyArry1(1) = "مائة" MyArry1(2) = "مائتان" MyArry1(3) = "ثلاثمائة" MyArry1(4) = "اربعمائة" MyArry1(5) = "خمسمائة" MyArry1(6) = "ستمائة" MyArry1(7) = "سبعمائة" MyArry1(8) = "ثمانمائة" MyArry1(9) = "تسعمائة" MyArry2(0) = "" MyArry2(1) = " عشر" MyArry2(2) = "عشرون" MyArry2(3) = "ثلاثون" MyArry2(4) = "اربعون" MyArry2(5) = "خمسون" MyArry2(6) = "ستون" MyArry2(7) = "سبعون" MyArry2(8) = "ثمانون" MyArry2(9) = "تسعون" MyArry3(0) = "" MyArry3(1) = "احدى" MyArry3(2) = "اثنان" MyArry3(3) = "ثلاثة" MyArry3(4) = "اربعة" MyArry3(5) = "خمسة" MyArry3(6) = "ستة" MyArry3(7) = "سبعة" MyArry3(8) = "ثمانية" MyArry3(9) = "تسعة" '====================== ' تجهيز الرقم حسب عدد الخانات المطلوبة بعد الفاصلة ' مثال: ' FractionDigits = 2 يجعل 15.436 تقرأ كـ 15.44 ' FractionDigits = 3 يجعل 15.436 تقرأ كـ 15.436 TheNo = Round(TheNo, FractionDigits) IntegerPart = Fix(TheNo) If FractionDigits = 0 Then FractionPart = 0 Else ScaleNo = 10 ^ FractionDigits FractionPart = CLng(Round((TheNo - IntegerPart) * ScaleNo, 0)) End If ' معالجة حالة التقريب التي قد ترفع الجزء العشري إلى 100 أو 1000 If FractionDigits > 0 Then If FractionPart >= ScaleNo Then IntegerPart = IntegerPart + 1 FractionPart = 0 End If End If ' الجزء الصحيح 12 رقم + الجزء العشري دائمًا 3 أرقام داخليًا ' عند اختيار خانتين مثلًا 44 يتم تخزينها كـ 044 حتى تُقرأ أربعون وأربعة GetNo = Format(IntegerPart, "000000000000") & "." & Format(FractionPart, "000") i = 0 '=============== Do While i < 16 My100 = "" My10 = "" My1 = "" My11 = "" My12 = "" GetTxt = "" If i < 12 Then Myno = Mid$(GetNo, i + 1, 3) Else Myno = Mid$(GetNo, i + 2, 3) End If If Val(Mid$(Myno, 1, 3)) > 0 Then RdNo = Val(Mid$(Myno, 1, 1)) My100 = MyArry1(RdNo) RdNo = Val(Mid$(Myno, 3, 1)) My1 = MyArry3(RdNo) RdNo = Val(Mid$(Myno, 2, 1)) My10 = MyArry2(RdNo) If Val(Mid$(Myno, 2, 2)) = 11 Then My11 = "احدى عشر" If Val(Mid$(Myno, 2, 2)) = 12 Then My12 = "اثني عشر" If Val(Mid$(Myno, 2, 2)) = 10 Then My10 = "عشرة" If Val(Mid$(Myno, 1, 1)) > 0 And Val(Mid$(Myno, 2, 2)) > 0 Then My100 = My100 & MyAnd End If If Val(Mid$(Myno, 3, 1)) > 0 And Val(Mid$(Myno, 2, 1)) > 1 Then My1 = My1 & MyAnd End If GetTxt = My100 & My1 & My10 If Val(Mid$(Myno, 3, 1)) = 1 And Val(Mid$(Myno, 2, 1)) = 1 Then GetTxt = My100 & My11 If Val(Mid$(Myno, 1, 1)) = 0 Then GetTxt = My11 End If If Val(Mid$(Myno, 3, 1)) = 2 And Val(Mid$(Myno, 2, 1)) = 1 Then GetTxt = My100 & My12 If Val(Mid$(Myno, 1, 1)) = 0 Then GetTxt = My12 End If If i = 0 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then Mybillion = GetTxt & " مليار" Else Mybillion = GetTxt & " مليارات" If Val(Mid$(Myno, 1, 3)) = 1 Then Mybillion = " مليار" If Val(Mid$(Myno, 1, 3)) = 2 Then Mybillion = " ملياران" End If End If If i = 3 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then MyMillion = GetTxt & " مليون" Else MyMillion = GetTxt & " ملايين" If Val(Mid$(Myno, 1, 3)) = 1 Then MyMillion = " مليون" If Val(Mid$(Myno, 1, 3)) = 2 Then MyMillion = " مليونان" End If End If If i = 6 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then MyThou = GetTxt & " الف" Else MyThou = GetTxt & " الاف" If Val(Mid$(Myno, 1, 3)) = 1 Then MyThou = " الف" If Val(Mid$(Myno, 1, 3)) = 2 Then MyThou = " الفان" End If End If If i = 9 And GetTxt <> "" Then MyHun = GetTxt If i = 12 And GetTxt <> "" Then If FractionDigits > 0 Then MyFraction = GetTxt End If End If End If i = i + 3 Loop '============================ If Mybillion <> "" Then If MyMillion <> "" Or MyThou <> "" Or MyHun <> "" Then Mybillion = Mybillion & MyAnd End If End If If MyMillion <> "" Then If MyThou <> "" Or MyHun <> "" Then MyMillion = MyMillion & MyAnd End If End If If MyThou <> "" Then If MyHun <> "" Then MyThou = MyThou & MyAnd End If End If If MyFraction <> "" Then If Mybillion <> "" Or MyMillion <> "" Or MyThou <> "" Or MyHun <> "" Then NoToTxt = ReMark & Mybillion & MyMillion & MyThou & MyHun & " " & MyCur & MyAnd & MyFraction & " " & MySubCur & " فقط" Else NoToTxt = ReMark & MyFraction & " " & MySubCur & " فقط" End If Else NoToTxt = ReMark & Mybillion & MyMillion & MyThou & MyHun & " " & MyCur & " فقط" End If End Function NoToTxt.accdb
    3 points
  2. حدث عند الوقت 👍🏻 فكرة جميلة جداً توظيف التايمر
    1 point
  3. جرب التعديل التالي 115.xlsm
    1 point
  4. مشاركة مع استاذي @jjafferr تفضل د/ @jo_2010 محاولتي حسب ما فهمت . الشرح والمرفق . ووافني بالرد . Jo(2-5-2026).rar
    1 point
  5. عمل رائع أخي @Moosak وإثراءً للموضوع أرفق لكم مثالين الاول للأستاذ الغالي @عبدالله باقشير الله يذكره بالخير (كان مشرفاً لمنتدى أكسل وكان إسمه في المنتدى خبور خير) حيث أنه قد قام بتغطية كل ماجاء في هذا المثال مع إضافة بعض الإضافات الجميلة التي يمكن أن يراها البعض مهمة ولعل أهمها - طريقة كتابة إسم العملة للأرقام من 3 إلى 10 (مثال خمسة ريالات وليس خمسة ريال) - إمكانية تفقيط رقم يصل إلى البلايين (مايزيد عن 999 مليار) المثال الآخر للأستاذ الكبير أبو هادي (لن يعرفه إلا القدامى 😅) ويشبه مثال الاخ عبدالله كثيراً ولكنه يتميز عنه بأنه ثنائي اللغة فيمكنك التفقيط باللغتين العربية والإنجليزية فلو أمكنك أستاذ موسى الإطلاع على المثالين لترى إذا ماكان بإمكانك إضافة الخيارات الإضافية التي وردت فيها لتخرج بعمل أكثر تكاملاً أمثلة للتفقيط.rar
    1 point
  6. جزاك الله خيرا استاذي الكريم لم تقصر ابدا في مساعدتنا وفقك الله الى كل خير واسف مره اخرى على كثره الاسئله ,ولكن حاجتي الى الملف ادت الى ذلك
    1 point
  7. عذراً على المتابعة .. فخبرتي في اكسل ليست قوية بما يكفي 😅 حتماً سنجد هنا قامات واسماء لها خبرة أكثر مني
    1 point
  8. طيب ايش هي المشاكل ,, انت الآن طلبك كالآتي :- 1. حساب عدد الخلايا الغير فارغة لكل لون في الأعمدة . صحيح ؟؟ الآن المشاكل التي تقصدها :- 1. عند تغيير لون الخلية لا يتم تحديث القيم في أعداد الخلايا التي كتبنا فيها المعادلات ، صحيح ؟ يعني انت تريد عند التغيير للون أي خلية ، أن يتم التعديل مباشرة في أعداد الألوان في الأعمدة ؟؟؟؟؟؟؟؟؟؟؟؟؟ وهنا المشكلة أخي الكريم .. فتغيير اللون ليست حدث أو قيمة يشعر بها آكسل للأسف وبالتالي لن يتم تحديث التعداد إلا إذا !!!!!! في حدث عند التحديث للورقة ، كالتالي :- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.Calculate End Sub قمنا بإعادة حساب كل الصيغ والمعادلات في الورقة مرة أخرى ، بمجرد أن تقوم بالتحرير داخل اي خلية ، ثم الخروج . خلاف ذلك لا اعتقد ان ذلك ممكن .
    1 point
  9. بكل الأحوال .. إن كان ما سبق صحيح ، فقط علينا إضافة شرط للجملة الشرطية بحيث تصبح :- If c.Interior.Color = clr.Interior.Color And Trim(c.Value) <> "" Then بداً من :- If c.Interior.Color = clr.Interior.Color Then
    1 point
  10. السلام عليكم كما في العنوان حسابات جارية للأموال الواردة والمنصرف لشركة محددة وفروعها كل فرع له حسابه الخاص اما ان كانت حاجتك مثل هذا ولكن كل الفروع تصب في حساب واحد فستجد بغيتك هنا قيود للفروع وللموظفين تحويلات مفتوحة بين هذه القيود حساب الواردات لكل فرع حساب المصاريف لكل فرع تقرير تفصيلي حسب كل قيد رواتب الموظفين .. حسب الموظف الواحد وفرعه او حسب موظفي فرع او جميع موظفي الشركة ... فقط بضغطة زر برنامج عفريت صغير يقدم خدمة عظيمة اتمنى ان تجدوا الفائدة .. الفائدة العملية باستخدامه .. او الاستفادة من فكرة التصميم وبناء الأساسات تطوير البرنامج : 1- تقسيم قاعدة البيانات 2- اضافة شاشة دخول ومستخدمين ( كلمة المرور للجميع = 1) 3- تحسينات على بعض النماذج مثل نموذج الموظفين 4- اضافة دالة الاستااذ موسى لتفقيط المبالغ واشياء اخرى لا تحضرني البرنامج قابل لاي تطوير جديد التطوير الجديد غالبا سيتم على الواجهات .. مما يعني ان بياناتك لو استخدمت البرنامج (النسخة هذه الأخيرة) ستبقى بياناتك آمنة ولن يجري عليها اي تغيير تطوير 3 ضبط نماذج الادخال بتصميم جديد محكم وزيادة حقول للبيانات اللازمة اضافة تقارير خاصة لعرض الاسماء وتقارير تصفية للحسابات ولمسات اخرى تطوير 5 اقتباس من واجهات الاستاذ موسى مع بعض تصرف عمل نظام صلاحيات خفيف ومختصر توسع من اجل التطوير مستقبلا الادمن كلمة المرور =78 البقية كلمة المرور =1 طوير 7 ,, شبه نهائي اعتقد انني وصلت الى استيفاء مجمل المتطلبات في برنامج حسابات مالية جارية .. الاضافات : - اضافة بيانات المنشأة - امكانية رفع شعار خاص بالمنشأة - اسيفاء واعداد جميع التقارير والكشوف الاجمالية والتفصيلية - اضافة خدمة اخذ نسخة احتياطية ... ( حفظ في مجلد البرنامج أو ارسال الى USB ) لمسات اخرى تجدونها في العمل المرفق كلمات المرور : admin = 78 الآخرين = 1 اتمنى تجدو المتعة والفائدة ولا تنسوني من دعواتكم الطيبات تطوير بتاريخ 1/5/2026 تحسينات على التقارير اضافة نظام الحجب كبديل للحذف اشياء اخرى تجدونها officena_EasyAcc.rar
    1 point
  11. جزاك الله خيرا .. وكتبها في موازين أعمالك
    1 point
  12. و عليكم السلام ورحمة الله وبركاته تفضل الملف حسب نسخة الأوفيس عندك لو قديم الملف الأول و لكن اذا أضفت كلمات جديدة يجب أن تضيفها في الصيغة ولو عندك . أوفيس حديث يمكن استخدام الملف الثاني فهو يتعرف على الكلمات تلقائيا الملف الثالث يعمل بالأكواد الحضور والغياب (2).xlsx الحضور والغياب حديث.xlsx الحضور والغياب أكواد.xlsm
    1 point
  13. تفضل لعل هذا طلبك مع ان الملف القديم كان يحدد النتائج بمجرد الضغط على زر بحث. تم استبدال أول أسماء الأصناف بكلمات حقيقية لتجربة البحث بالأسم لأن الكل كان يبدأ بحرف ص 3 _ شهر ابريل1 2026.xlsm
    1 point
  14. لايوجد تاريخ انتهاء اقامة ........ لو تقصد تاريخ انتهاء هوية المستخدم تفضل التعديل . مع ملاحظة انا لم ادخل بيانات السيارة والمستخدمي والمفوضين من عندي كله من ملف الاكسل الذي ارسلته . Ahmed ElShahat_3.rar
    1 point
  15. حرب التعديل التالي توزيع عدد الحصص (233) (1).xlsm
    1 point
  16. وعليكم السلام وحمه الله اتفضل لعله المطلوب برمجة اكسل (1).xlsm تم تصميم الصوره ب ai برمجة اكسل (1).xlsm
    1 point
  17. أخي الكريم سبب المشكلة بالتفصيل: تفعيل خيار "عرض الصيغ" (Show Formulas): ورقة العمل تحتوي على إعداد داخلي (showFormulas="1") يقوم بإظهار القيم الرقمية الخام للتواريخ (مثل 41604) بدلاً من التاريخ المنسق (2013/11/26)، مهما حاولت تغيير التنسيق. تجميد الصفوف: وجود صفوف مجمدة (حتى الصف 😎 قد يجعل التنقل وتغيير الإعدادات لبعض الأعمدة يبدو وكأنه لا يستجيب بشكل طبيعي. التنسيق المخصص: العمود G يستخدم تنسيقاً مخصصاً (yyyy/mm/dd) وهو صحيح، لكنه لا يظهر بسبب النقطة الأولى. كيفية حل المشكلة في ملفك الأصلي: يمكنك حل المشكلة بضغطة زر واحدة : اذهب إلى تبويب صيغ (Formulas) في شريط الأدوات العلوي. في مجموعة تدقيق الصيغ (Formula Auditing)، ستجد خيار إظهار الصيغ (Show Formulas) مفعلاً، قم بالضغط عليه لإلغاء تفعيله. أو استخدم اختصار لوحة المفاتيح: Ctrl + ~ )مفتاح حرف الذال في الكيبورد العربي(. بمجرد إلغاء هذا الخيار، ستظهر جميع التواريخ في العمود G بتنسيقها الصحيح فوراً. سبب نجاح الحل عند النسخ لملف جديد هو أن هذا الإعداد خاص بورقة العمل الحالية ولا ينتقل عند نسخ البيانات فقط إلى ملف جديد. الصورة المرفقة من عندي أوفيس 365
    1 point
  18. اعرض الملف لعشاق كرة القدم (ملف أكسل لإحتساب نتائج كأس العالم 2026) رغم أني لا أنشط إلا في منتدى أكسس إلا أني اليوم قررت أن أرفق لكم ملف أكسل جميل كان قد أرسله لي شقيقي الأصغر هشام بعد أن وجده في أحد المواقع الأجنبيه وقام بتعريبه ووضع بعض التحسينات عليه وقد إستأذنته في رفعه إلى المنتدى ووافق بكل سرور كل ما عليكم هو إدخال النتائج في الورقة Match Results وسيقوم أكسل ببقية العمل أرجو أن ينال العمل إستحسانكم وإذا كان هناك أي ملاحظات فلا تتردوا في ذكرها تحياتي صاحب الملف منتصر الانسي تمت الاضافه 04/11/26 الاقسام قسم الإكسيل
    1 point
  19. تنقيح أخير، أصبح فيه الكود سطر واحد فقط 🙂 Sub Date2Text() Range("B7", "AJ23").NumberFormat = "m-d" End Sub
    1 point
  20. وعليكم السلام ورحمة الله وبركاته بالنسبة للاوقات التي خارج الاوقات في M&N لم تحدده وفي اي بصمة تسجل تم ربط المعادلات حسب الاوقات في M&N اكسل1.xlsm
    1 point
  21. تم تنقيح الكود سابقا لو ضغطت الزر أكثر من مرة فسوف يبدل النتائج مع كل ضغطة أما الآن سيبدلها مع الضغطة الأولى فقط. Sub Date2Text() Const sRow = 7, eRow = 23 Const sCol = 2, eCol = 36 Dim Row As Integer, Col As Integer Application.EnableEvents = False Application.ScreenUpdating = False For Row = sRow To eRow For Col = sCol To eCol With Cells(Row, Col) If .NumberFormat = "d-mmm" Then .NumberFormat = "@" If .Value <> "" Then .Value = Month(.Value) & "-" & Day(.Value) End If Else .NumberFormat = "@" End If End With Next Col Next Row Application.EnableEvents = True Application.ScreenUpdating = True MsgBox "Done" End Sub
    1 point
  22. يمكن حلها كذلك بالأكواد إذا أردتها تظهر بتنسيق كما الوقت مع أن تنسيق الوقت لا يقبل أكثر من 24 ساعة. تقرير التأخير الشهري_03.xlsx
    1 point
  23. وعليكم السلام -كان عليك ان تقوم بالتالى حدد العمود. اذهب إلى علامة التبويب بيانات (Data) > نص إلى أعمدة (Text to Columns) > إنهاء (Finish) ثم اكتب معادلة جمع عادية وستحصل على النتيجة المرجوة تقرير التأخير الشهري 11112.xlsx
    1 point
  24. تفضل مجزر دواجن معدل.2.xlsx
    1 point
  25. حل آخر بالأكواد، في الموضوع السابق فهمتك خطأ بأنك تريد أن يبدأ الشهر دائما مع يوم الأحد وقد تم التعديل في هذه النسخة يتم مراجعة خلية العام الدراسي في حال لم يتم تعديله من قبلكم. حساب_التاريخ_09.xlsm
    1 point
  26. تفضل اخي الكريم تعديل معادلة.xlsx
    1 point
  27. تم تنقيح الكود لتسهيل التعديل عليه Private Sub Worksheet_Change(ByVal Target As Range) Dim Row As Integer, Col As Integer Dim fRow As Integer, fCol As Integer, fdd As Integer Dim yy As Integer, mm As Integer, dd As Integer Dim cellDate As Date, DateRange As String, m m = Array("", "يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", _ "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر") With Target DateRange = Replace(.Address, "$", "") If DateRange <> "M1" Then 'تبديل عنوان خلية التاريخ عند الحاجة' Beep 'MsgBox Exit Sub End If If Not IsDate(Range(DateRange)) Then Beep 'MsgBox Exit Sub End If Application.EnableEvents = False Application.ScreenUpdating = False yy = Year(.Value) mm = Month(.Value) For fdd = 1 To 7 If Weekday(DateSerial(yy, mm, fdd)) = vbSunday Then Exit For Next fdd End With Cells.Find(What:="الأحد", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate fRow = ActiveCell.Row fCol = ActiveCell.Column + 1 Cells(fRow - 2, fCol + 5) = m(mm) dd = fdd - 3 For Col = fCol To fCol + 9 Step 2 dd = dd + 2 For Row = fRow To fRow + 4 dd = dd + 1 cellDate = DateSerial(yy, mm, dd) If Month(cellDate) = mm Then Cells(Row, Col + 0) = cellDate Cells(Row, Col + 1) = 1 Else Cells(Row, Col + 0) = "" Cells(Row, Col + 1) = "" End If Next Row Next Col Application.EnableEvents = True Application.ScreenUpdating = True End Sub حساب_التاريخ_06.xlsm
    1 point
  28. تفضل حساب_التاريخ3.xlsx
    1 point
  29. السلام عليكم نعم المشكلة من حماية الشيتات اليك التعديل مع اظافة الترقيم التلقائي لرقم التسجيل Plateform (1) .xlsb
    1 point
  30. اليك التعديل Plateform (1).xlsb
    1 point
  31. السلام عليكم ورحمة الله وبركاته الشيت مفتوح المصدر "كعلم ينتفع به" وادعو الله ان يكون خالصا لوجهه تعالى و يحتوي على رصد الدرجات للمواد الثقافية وتقييم الجدارات_ حتى 9 جدارات وهو جزء اساسي من مشاركتي السابقة "كنترول جدارات كامل مفتوح المصدر" tabred.xlsb
    1 point
  32. اليك التعديل Plateform.xlsb
    1 point
  33. السلام عليكم تم عمل الاحصائيات الملف المرفق به الاحصاء Plateform3.xlsb الشريط المتحرك ليس لدي جلفية لعملة ولا اراه مهما لانه سيسبب ثقل للملف ا1ذا تحققت طلباتك ارجو فتح موضوع جديد لاي طلب جديد وهذا حسب قوانين المنتدى
    1 point
  34. وعليكم السلام ورحمة الله وبركاته تم اظافة احصائية الوظائف وعدد المسجلين ويتم عدها عند تشغيل كود الحجز كما تم عمل واجهة للدخول اسم المستخدم بلال كلمة المرور 123 يمكنك التعديل في الكود ان اردت تغييرها اليك الملف Plateform1.xlsb
    1 point
  35. وعليكم السلام ورحمة الله وبركاته اليك التعديل المطلوب Horaire1.xlsb
    1 point
  36. الاخ tamerfayed يرجى تعديل الإسم للغة العربية طبقا لتعليمات المنتدى مشكلة COUNTIFS $C$8:$C$795,AF8,$B$8:$B$795,$T$9 تعديل مدى البحث c / b من 795 إلى 1000 $C$8:$C$1000,AF8,$B$8:$B$1000,$T$9 OK Otlob Sheet -Feb ,2026.xlsx
    1 point
  37. وعليكم السلام ورحمة الله وبركاته كل عام وانت بخير الصفحات كثيرة وهذا سيجعل اي كود يستغرق وقتا اطول لاستدعاء البيانات استغرق على جهازي حوالي 6 دقائق بمعدل ثانية واحدة لكل صفحة فكرة الاكواد ؟ الكود الاول (اسعار الاسهم ) يتم تشغيله مرة واحدة فقط ويستغرق عدة دقائق بعدها يتم التعامل مع زر التحديت ويستغرق اقل من دقيقة واحدة من خلال 3 مواقع ذكاء اصطناعي تحصلت على افضل كود يقوم بالمهمة التجرية تمت على اكسل 2016 لانه ليس لدي 2010 واعتقد ان الكود يعمل علي 2010 زر التحديث / بعد استدعاء البيانات يقوم زر التحديث بمقارنة البيانات المستدعاة بالموقع واذا كان هناك تغير يقوم يالتحديث قم بالتجربة واعلمنا بالنتائج افضل الاكواد تحصلت عليها من موقع https://chat.deepseek.com/ us_stocks_arincen (1).xlsb
    1 point
  38. و عليكم السلام ورحمة الله وبركاته. تفضل الحل اجتهاد مني و بمساعدة الذكاء الصناعي و إن شاء الله أحد أساتذة المنتدى يقوم بالتطوير أو يقدم إضافات يوجد ملفين الأول ProtectedWorkbook وهو خاص بالعميل الثاني KeyGenerator وهو خاص بك لتوليد المفاتيح التي سيستخدمها العميل لتحويل الملف من تجريبي لدائم خطوات العمل . 1.العميل يفتح الملف 2. يرسلك محتوى خلية B6 Machine ID مثال: DESKTOP-ABC123_AHMED 3. تفتح KeyGenerator.xlsm تكتب اسم العميل + تلصق الـ Machine ID تضغط "توليد الكود" 4. يظهر لك مثلا: ACT-05837291 ترسله للعميل 5.العميل يدخله في B12 ويضغط "تفعيل" ProtectedWorkbook.xlsmلا تنسى وضع كلمة سر لمحرر الأكواد أخيرا لا يوجد حماية 100% في Excel لأن المستخدم يقدر يعطل الماكرو أو يكسر الحماية لا تنسى وضع كلمة سر لمحرر الأكواد كيف يعمل النظام: · أول 3 أيام يعمل طبيعي مع رسالة "متبقي X أيام" · بعد 3 أيام يُقفل ويطلب كود تفعيل · نقل لجهاز جديد يكتشف الفرق ويطلب كود جديد · تفعيل صحيح يُفتح نهائياً على ذلك الجهاز أخيرا لا يوجد حماية 100% في Excel لأن المستخدم يقدر يعطل الماكرو أو يكسر الحماية KeyGenerator.xlsm
    1 point
  39. اولا / الملف السابق به كودين كلاهما معاينة تم تعديل احدهما الى طباعة ثانيا :- للتطبيق على ملفك / احعل لغة الجهاز العربية وانسخ الكود المرفق وفي ملفك الاخر قم بالدخول إلى صفحة الفيجوال بيسك عن طريق التبويب Developer(المطور) ثم Visual Basic ثم من قائمة Insert اختر Module والصقه به واربطه بزر في الصفحة المراد ترقيمها ملاحطة/ الكود المرفق مهمته الطباعة مع الترقيم ان اردت المعاينة مع الترقيم بدون طباعة غير كلمة FALSE الى TRUE في الجملة ws.PrintOut From:=i, To:=i, Preview:=False Sub طباعة() Dim ws As Worksheet Dim totalPages As Long Dim i As Long Dim pageNum As Integer Set ws = ActiveSheet totalPages = (ws.HPageBreaks.Count + 1) * (ws.VPageBreaks.Count + 1) For i = 1 To totalPages pageNum = Application.WorksheetFunction.RoundUp(i / 2, 0) If i Mod 2 <> 0 Then ws.PageSetup.CenterFooter = "الصفحة " & Format(pageNum, "00") Else ws.PageSetup.CenterFooter = "تابع الصفحة " & Format(pageNum, "00") End If ws.PrintOut From:=i, To:=i, Preview:=False Next i End Sub
    1 point
  40. وعليكم السلام ورحمة الله وبركاته . ارى الحل في الغاء جميع معادلات الصفيف واالابقاء على الاسماء في النطاق AA16:AA وبدل المعادلات كود في حدث الورقة ملاحظة هامة اذا اردت نقل الكود الى ملف اخر به الكمبوبكس1 يجب اجراء بعض التعديلات على اعدادات الكمبوبكس1 افتح الكمبوبكس في وضع التصميم ثم خصائص تم امسخ البيانات في الدائرة الحمراء كما في الصورة كذلك قم بمسخ المعادلات تقبل الله صيامكم وطاعاتكم حل مشكل القائمة المنسدلةباستخدام ComboBox1.xlsm
    1 point
  41. وعليكم السلام ورحمة الله وبركاته الحل هو نقل الكود إلى موديول (Module) عادي وتخصيص زر لتشغيله فقط عندما تضيف أوراق عمل جديدة اليك التعديل بالمرفق المصنف2.xlsm
    1 point
  42. اعرض الملف حافز التجريبي حافز التجريبي صاحب الملف أحمد عبد العاطي رشيدي تمت الاضافه 03/07/26 الاقسام قسم الإكسيل  
    1 point
  43. رمضان كريم وكل عام وانتم بخير
    1 point
  44. 🤔 يعني تريد ألغاء الدمج للخلايا التي تم دمجها ، مع إعادة القيم لكل خلية !!! تمام ، جرب هذا الماكرو أ واستعمله في حدث عند النقر لأي زر مثلاً :- Sub UnMergeFoksh() Dim ws As Worksheet Dim r As Long, c As Long Dim mArea As Range Dim cellText As String Set ws = ActiveSheet Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual For r = 4 To 20 For c = 2 To 36 If ws.Cells(r, c).MergeCells Then Set mArea = ws.Cells(r, c).MergeArea cellText = ws.Cells(r, c).Text mArea.UnMerge mArea.NumberFormat = "@" mArea.Value = "'" & cellText mArea.HorizontalAlignment = xlCenter mArea.VerticalAlignment = xlCenter End If Next c Next r Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True Application.ScreenUpdating = True End Sub طبعاً اعتقد انك هنا ستستغني عن حدث عند التغيير للورقة السابق .. ويصبح ملفك كالتالي للحدثين مع إضافة زرين . merge cell.xlsm
    1 point
  45. المنتدى الجميل أرفع ملف يتم ربطه بقاعدة البيانات المرفقة وهو مفتوح المصدر وهو عباره عن برنامج لمتابعة حركة السيارات وصياناتها وقطع الغيار وصرف الوقود ومعدلات الصرف وحركة السيارت أرجو أن ينال إعجابكم ويجعله نافعا لمن يستخدمه أسألكم الدعاء بظهر الغيب CARV.7.5.rar CARV.7.5_be.rar
    1 point
  46. السلام عليكم 🙂 هناك قوالب جاهزة لهذا العمل: الشرح : https://access-templates.com/tutorial/vehicle-fleet-management-solutions-using-microsoft-access-database.html و خمسة قوالب : https://access-templates.com/tag/vehicle+maintenance.html كما ان شركة مايكروسوف عندها قوالب جاهزة في الاكسس ، ويمكن انزال البقية من هنا : https://support.microsoft.com/en-us/office/featured-access-templates-e14f25e4-78b6-41de-8278-1afcfc91a9cb?ui=en-us&rs=en-us&ad=us وفيه لصيانة المعدات . وهناك برنامج للبيع والذي يمكن انزال نسخة تجريبية منه ومعرفة مكوناته وطريقة عمله : http://www.granitefleet.com/ وبالتوفيق 🙂 جعفر
    1 point
  47. حسب ما فهمت من المشاركة ربما يكون المطلوب name_by_number.rar
    1 point
×
×
  • اضف...

Important Information