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

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

  1. Moosak

    Moosak

    أوفيسنا


    • نقاط

      9

    • Posts

      2167


  2. abouelhassan

    abouelhassan

    05 عضو ذهبي


    • نقاط

      8

    • Posts

      2916


  3. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      7

    • Posts

      12754


  4. Foksh

    Foksh

    الخبراء


    • نقاط

      7

    • Posts

      3092


Popular Content

Showing content with the highest reputation on 02/12/24 in all areas

  1. الرابط الموجود في الفورم لم يتم إعداده للمشاركة ( يطلب إذن لتحميله ) ، يجب عليك إتاحة المشاركة للتمكن من التحميل .. هذا هو كود التحميل من الجوجل درايف : كود للتحميل المباشر من الجوجل درايف Google drive شرح الكود: لتحميل الملفات من جوجل درايف بنفس الاسم والامتداد فقط تحتاج رابط الملف كاملا وأن يكون الملف عاما (مشاركا مع الجميع) الكود يعالج مشكلة أسماء الملفات العربية صالح للنواتين 32بت وكذلك 64بت يعمل في كل التطبيقات التي تستعمل vba يوضع هذا الكود في موديول جديد الكود: Sub DownloadFromGD(GDriveURL As String) Dim myURL As String Dim FileID As String Dim xmlhttp As Object Dim name0 As Variant Dim oStream As Object FileID = Split(Split(GDriveURL, "/d/")(1), "/")(0) myURL = "http://drive.google.com/u/0/uc?id=" & FileID & "&export=download" Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") xmlhttp.Open "GET", myURL, False xmlhttp.Send name0 = DECODEURL(xmlhttp.getResponseHeader("Content-Disposition")) If name0 = "" Then MsgBox "الملف غير موجود في الموقع" Exit Sub End If name0 = Split(name0, "*=UTF-8''")(1) 'split after *=UTF-8'' to get utf8 names If xmlhttp.Status = 200 Then Set oStream = CreateObject("ADODB.Stream") oStream.Open oStream.Type = 1 oStream.Write xmlhttp.responseBody oStream.SaveToFile CurrentProject.Path & "\" & name0, 2 ' 1 = no overwrite, 2 = overwrite oStream.Close End If Set xmlhttp = Nothing Set oStream = Nothing MsgBox "تم تحميل الملف في نفس مسار البرنامج باسم: " & vbNewLine & vbNewLine & name0 End Sub Function DECODEURL(varText As Variant) Static objHtmlfile As Object If objHtmlfile Is Nothing Then Set objHtmlfile = CreateObject("htmlfile") objHtmlfile.parentWindow.execScript "function decode(s) {return decodeURIComponent(s)}", "jscript" End If DECODEURL = objHtmlfile.parentWindow.decode(varText) End Function طريقة الاستدعاء (الاستخدام): طريقة استخدام الكود مثل السطر المكتوب في الإجراء test أو يمكن وضعه عند الضغط على زر مثلا ويتكون هذا السطر من كتابة اسم الاجراء DpwnloadFromGD ثم رابط الملف المراد تحميله بين علامتي تنصيص Sub test() DownloadFromGD "https://drive.google.com/file/d/18jrvTxgR1QTzwm8YaJHIvsdOmqj02L2x/view" End Sub
    3 points
  2. السلام عليكم ورحمة الله وبركاته مبارك عليك اخي الحبيب @محمد احمد لطفى الترقية الى قائمة الخبراء .. تستاهل اكثر زادك الله علما ونفع بك
    2 points
  3. وهذه مشاركتي بطريقة أخرى تم إجراء تعديلات على الكود الذي يظهر النتيجة برسالة عند النقر المزدوج على الحقل FieldChangedFrom . واستخدامه في حدث ( في الحالي ) للنموذج FrmAudit ، على النحو التالي :- Private Sub Form_Current() On Error GoTo flderr Dim tbl As String Dim fld As String tbl = Me.tblNm fld = FieldChangedFrom Dim rs As Recordset Set rs = CurrentDb.OpenRecordset(tbl) rs.MoveFirst Do While Not rs.EOF If rs.Fields(0) = fld Then Me.FieldChangedFrom = rs.Fields(1).Value Exit Sub End If rs.MoveNext Loop flderr: Exit Sub End Sub وفي حدث زر تتبع التغييرات ، قمت بإضافة سطرين ليصبح الكود كالتالي :- Me.Refresh DoCmd.OpenForm "frmAudit", acNormal DoCmd.GoToRecord , , acLast [Forms]![frmAudit]![FieldChangedFrom].SetFocus [Forms]![frmAudit]![FieldChangedFrom].Requery Database4.accdb
    2 points
  4. أخي الكريم ، واضح أنك تريد مشروع كامل وليس مساعدة في شيء محدد
    2 points
  5. بسم الله الرحمن الرحيم السلام عليكم ورحمه الله وبركاته اساتذتي واخوتى هذا الملف به فهرس لجميع المنتدي ليسهل البحث للاعضاء يوجد فورم يمكنك البحث بها كما يمكنكم استخدام الفلتر العادي وبمجرد الضغط على اي نتيجه من نتائج البحث يتم فتح صفحتها في المنتدي ولا انسي فضل استاذي الكبير ياسر خليل على المساعده في عمل الملف تم تحديث الملف يوم الخميس الموافق 10 - 04 - 2025 فهرس منتدي الاكسيل.xlsb
    1 point
  6. السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) اليوم جئتكم ببرنامج المنبه الذكي هدية بسيطة لأعضاء منتدانا الغالي وصف البرنامج :- إمكانية تغيير الثيم من داخل الساعة . إمكانية تغيير نغمة رنين المنبه . نغمة تنبيه كل ساعة . دعم للغفوة كما في أجهزة الموبايل . إمكانية تعديل مدة العفوة حسب الحاجة . إمكانية عمل تنبيه متكرر حسب اليوم ، أو التنبيه لأيام محددة . صور من المنبه الذكي :- عند فتح المنبه لأول مرة لوحة التحكم بالإعدادات واجهة المنبه شاشة وقت التنبيه شاشة ضبط المنبه شاشة عرض المنبهات الفعالة والآن مع التحميل بدايةً النسخة 64 ، وقريباً النسخة الثانية بإصدار 32 إن شاء الله :- 64.zip ملاحظة:- تم حفظ البرنامج بصيغة Accde كونه قيد التطوير والتعديل حالياً وعدناكم بإضافة جديدة وهي إضافة حالة الطقس في شاشة المنبه الذكي ، والحمد لله الذي قدرني على توظيف هذه الميزة داخل التطبيق . وكما ذكرت سابقاً الخدمة تحتاج إتصال إنترنت . من الإعدادات > قم باختيار البلد > ثم تطبيق . وسيتم الإتصال بالسيرفر تلقائياً وإدراج درجة الحرارة في شاشة المنبه الرئيسية . ملاحظة :- درجة الحرارة التي يتم عرضها حالياً هي للعواصم العربية فقط ، وسيتم العمل على إدراج معظم المدن في الدول العربية في تحديثات لاحقة . الملف مفتوح المصدر ، وأطلب منكم فقط الدعاء لوالديّ Smart Alarm.zip وباب الحوار مفتوح للمناقشة
    1 point
  7. مبدع .. هكذا الأفكار الشبابية .. جزاك الله خيرا
    1 point
  8. المعادلة تعمل اخى وذكرت لك الأخطاء اين حاول للتعلم
    1 point
  9. المستحيل ليس له وجود مع المبدعين الله الله عليك مستر فادي 😄 بس زين لو تشرح الفكرة 🙂
    1 point
  10. هل تحتاج معادلة ام كود 1. افتح Excel وانقر على الخلية التي ترغب في وضع الصيغة فيها. 2. استخدم الصيغة التالية: حيث أن $A$2:A2 تحدد نطاق البيانات الذي تريد البحث فيه للقيم المكررة، و A2 هو الخلية التي تحتوي على القيمة التي تريد فحصها. 3. اضغط على Enter. هذه الصيغة ستظهر القيمة فقط إذا كانت تظهر للمرة الأولى في النطاق المحدد، وإلا ستظهر خلية فارغة. =IF(COUNTIF($A$2:A2,A2)=1,A2,"") وهذا كود Sub RemoveDuplicatesWithCount() Dim LastRow As Long Dim i As Long Dim UniqueValue As String Dim Count As Long LastRow = Cells(Rows.Count, "A").End(xlUp).Row For i = 2 To LastRow UniqueValue = Cells(i, 1).Value Count = WorksheetFunction.CountIf(Range("A2:A" & LastRow), UniqueValue) If Count = 1 Then Cells(i, 2).Value = UniqueValue Else Cells(i, 2).Value = UniqueValue & " (" & Count & ")" End If Next i End Sub هذا الكود سيقوم بتطبيق الصيغة وسيظهر القيم المكررة مع عددها في الخلية المجاورة. قم بتنفيذ الخطوات نفسها لإضافة الكود إلى وحدة VBA في Excel وتشغيله.
    1 point
  11. المعادلة الجديدة، يمكننا تغيير المعادلة لاستخدام وظائف تدعمها الإصدارات السابقة من Excel. إليك معادلة بديلة تستخدم الوظائف المتاحة في الإصدارات القديمة: ``` =IF(ISERROR(INDEX($A$1:$A$1000, MATCH(0, COUNTIF($E$1:E1, $A$1:$A$1000) + IF($B$1:$B$1 يرجى استبدال النطاقات ($A$1:$A$1000، $B$1:$B$1000، $C$1:$C$1000، $E$1:E1) بنطاقات البيانات الخاصة بك. هذه المعادلة تستخدم وظائف MATCH وCOUNTIF للبحث عن الأرقام المطلوبة وتجنب التكرار. تأكد من تغيير "تاريخ1" و "تاريخ2" و "اسم المكتب" إلى القيم المناسبة. =IF(ISERROR(INDEX($A$1:$A$1000, MATCH(0, COUNTIF($E$1:E1, $A$1:$A$1000) + IF($B$1:$B$1000>=تاريخ1, IF($B$1:$B$1000<=تاريخ2, IF($C$1:$C$1000="اسم المكتب", 1, 0), 0), 0), 0))), "", INDEX($A$1:$A$1000, MATCH(0, COUNTIF($E$1:E1, $A$1:$A$1000) + IF($B$1:$B$1000>=تاريخ1, IF($B$1:$B$1000<=تاريخ2, IF($C$1:$C$1000="اسم المكتب", 1, 0), 0), 0), 0)))
    1 point
  12. ماشاء الله عليكم اساتذتنا الكبار @ابوخليل @Moosak @Foksh ابداع وتميز كل الاحترام والتقدير لكم 🌹
    1 point
  13. توقعتك تسأل .. 😄🖐🏻️ .. هذه واحدة من الطرق الجميلة لتطبيق دالة معينة على مجموعة من العناصر مرة واحدة .. قمت بتحديد جميع العناصر ثم كتبت اسم الدالة في حدث بعد التحديث هكذا ( ()AddToAudit= ) وهذه الطريقة أسهل من كتابة الحدث لكل عنصر على حده .. 🙂 ولها شروط سأذكرها لك .. أما بالنسبة للقائمة المنسدلة وضعت لها دالة منفصلة وذلك لحفظ القيمة الحالية في متغير عام قبل التغيير عند حدث ( عند التركيز ) .. ولو كانت عندك أكثر من قائمة منسدلة حددها جميعا وألصق اسم الدالة لها جميعا مرة واحدة .. من شروط استخدام هذه الطريقة : 1- أن يكون الكود (الإجرائية) من نوع Function وليس Sub . 2- أن لا يكون لنفس العنصر أي أكواد أخرى في نفس الحدث .. وفي حال الحاجة لوضع أكواد أخرى في نفس الحدث يتم العودة للطريقة الإعتيادية لكتابة الكود ويتم مناداة الدالة بالطريقة المعتادة : Call AddToAudit()
    1 point
  14. المعادلة التي استخدمتها هي جزء من صيغة مصفوفة ديناميكية في Excel لاسترداد الأرقام دون تكرار حسب تاريخين معينين واسم المكتب. إليك كيفية استخدام هذه الصيغة: 1. قم بوضع هذه الصيغة في الخلية التي ترغب في استرداد الأرقام فيها. 2. قم بتعديل "تاريخ1" و "تاريخ2" و "اسم المكتب" لتناسب القيم الفعلية التي تريدها. 3. اضغط على Ctrl + Shift + Enter بدلاً من الضغط على Enter وحده. هذا يجعل Excel يفهم أنها صيغة مصفوفة. إليك الصيغة: ``` =IFERROR(INDEX(A:A, SMALL(IF((B:B>=تاريخ1)*(B:B<=تاريخ2)*(C:C="اسم المكتب"), ROW(B:B)-MIN(ROW(B:B))+1), ROWS(A$1:A1))), "") ``` تأكد من تغيير "تاريخ1" و "تاريخ2" و "اسم المكتب" إلى القيم المناسبة.
    1 point
  15. النتيجة رائعة .. والطريقة اجمل وأروع احترافية بمعنى الكلمة وهذا ما كنت ابحث عنه ولكن عجبي !!!! ما الحدث الذي ينفذ الوظيفة ؟؟ حاولت ولكني لم اهتد اليه
    1 point
  16. تفضل =IFERROR(INDEX(A:A, SMALL(IF((B:B>=تاريخ1)*(B:B<=تاريخ2)*(C:C="اسم المكتب"), ROW(B:B)-MIN(ROW(B:B))+1), ROWS(A$1:A1))), "")
    1 point
  17. أستاذ موسى ، كلامك الجميل هو نابع من شخصك الجميل لا شك . ربي يسعدك ويرزقك من علمه ما تنتفع به . بالنسبة لهذه النقطة فهي سهواً سقطت أثناء حفظ الملف بآخر لحظة ، وسيتم الانتباه لها في التحديث بكل تأكيد . أيضاً سيتم في التحديث القادم إن شاء الله . فكرة جميلة ، قيد العمل أيضاً . استفسارك في محله ، ولها أيضاً تصريف عما قريب . بارك الله فيك على ملاحظاتك التي يسعدني وجودها
    1 point
  18. اعرفه من السجل نفسه اي سجل يتم ادراجه في اي جدول يتم ادراج المستخدم والوقت آليا ولمعرفته هناك طريقان . الاول : تخصيص استعلام للبحث في السجلات وهذا طويل خاصة اذا تعددت الجداول الثانية : احترافية : بالنقر المزدوج على معرف السجل تظهر رسالة صغيرة باسم المدخل ووقت الادخال النقر المزدوج هذا مشروط بصاحب صلاحية محددة
    1 point
  19. مبروك الخبير الجديد @محمد احمد لطفى تستحق اللقب عن جدارة
    1 point
  20. تفضل محاولة احد الاعضاء تعمل بكفائة لاحظ جدول الاكسيل وقاعدة البيانات Access Import.rar
    1 point
  21. أخي فادي @fadi83 أهلا وسهلا بك في المنتدى 🙂 🌹🌼 نصيحتي لك الآن وفي المشاركات المقبلة أن تقوم بإرفاق نسخة من برنامجك ( الجزئية الخاصة باستفسارك فقط ) لكي تسهل الحل على الإخوة المساعدين .. ولكي تجد المساعدة بسرعة ودقة تناسب احتياجاتك 🙂👌🏻
    1 point
  22. ما شاء الله تبارك الله أستاذ فادي @Foksh إبداع وتميز وجمال 🙂🌹 روعة التصميم ودقة التنفيذ تعبران عن حسك الفني الرائع وإتقانك البديع 🙂👌🏻 عندي ملاحظات تحسينية ليس إلا .. ولا تنقص من حجم العمل وروعته 🙂 : - هناك زري إغلاق (يمين ) و ( أعلى يسار ) أحدهما يغلق البرنامج ويخرج والآخر يقفل النموذج ويبقى الأكسس مفتوحا . - حبذا لو تضيف زر تصغير الشاشة للأسفل Minimize . حبذا لو تضيف خيار تشغيل البرنامج عند تشغيل الكمبيوتر ليعمل البرنامج مباشرة عند تحميل الويندوز . استفسار : ما الداعي لإعادة تشغيل البرنامج بعد تغيير الإعدادات ؟ أليست تتطبق بعد حفظها مباشرة ؟ 🙂
    1 point
  23. مبروك عليك وعلينا استاذ @محمد احمد لطفى بالتوفيق دائماً .
    1 point
  24. جرب هذه الدالة واخبرنى عذرًا على الالتباس. يمكنك استخدام الدالة التالية لجمع الصف الأول بشرط أن تكون القيمة في الصف الثاني غير فارغ =SUM(A1:INDEX(A:A, MATCH(1E+306, B:B, 1))) هذه الدالة تستخدم دالة MATCH للعثور على أول خلية غير فارغة في الصف الثاني، ثم يستخدم الدالة INDEX لإنشاء مرجع للخلية المتناظرة في الصف الأول، وأخيرًا يقوم بجمع القيم في هذا النطاق. =SUM(A1:INDEX(A:A, MATCH(1E+306, B:B, 1)))
    1 point
  25. وضح طلبك اذا كان بدك تطبيق الكود فقط أرى انك تحاول طالما لديك الكود للتعلم أما إذا كان شى ثانى برجاء التوضيح
    1 point
  26. سرعة القراءة عندك عالية جدا هذا ما كتبته انا في ذيل موضوعي :
    1 point
  27. ``` =UNIQUE(FILTER(A:A, (B:B>=تاريخ1)*(B:B<=تاريخ2)*(C:C="اسم المكتب"))) ``` 1. قم بتنسيق البيانات في ورقة العمل بحيث تكون الأرقام في العمود A، تواريخ التاريخ في العمود B، وأسماء المكاتب في العمود C. ``` حيث تحتاج إلى استبدال "تاريخ1" و "تاريخ2" بالتواريخ المرغوبة، و "اسم المكتب" بالاسم المناسب. 3. اضغط على Enter لتطبيق الصيغة. هذه الصيغة ستقوم بجلب الأرقام بدون تكرار حسب التاريخين المحددين واسم المكتب.
    1 point
  28. مبارك اخي الاستاذ @محمد احمد لطفى تستاهل ... اعانك الله على هذا اللقب ...
    1 point
  29. أهلا بك أ. @محمد احمد لطفى في فريق الخبراء.. أرجو أن يتهيأ لك الوقت لترينا بعضاً من فرائدك البرمجية!
    1 point
  30. زادك الله من فضله وكرمه وجوده وعلمه ، ونفعك به 🤲 مبارك عليك أخي @محمد احمد لطفى 🥰🎉💐
    1 point
  31. مبارك عليك أخي @محمد احمد لطفى 🙂🌹 وفقك الله أينما حللت 🌼🤲🌼
    1 point
  32. بالنسبة لهذه النقطة عمي @ابوخليل جرب هذه الطريقة للحصول على القيمة النصية بدل الرقمية من النموذج : ' تعطيك القيمة النصية الظاهرة Me.ComboBox.Text ' تعطيك القيمة الرقمية أو الحقيقية للحقل Me.ComboBox.Value 🙂 كم أن لدي نموذج إجتهدت عليه سابقا لتسجيل التغييرات بكل التفاصيل التالية : وسأعرضه لاحقا إن شاء الله للاستفادة 🙂
    1 point
  33. عليكم السلام للأسف اقول لك عملك هذا خطأ هل كتبك تصل مليون ؟ .. سيضمها ويحتضنها جدول واحد فكر بطريقة اخرى لتقسيم الكتب داخل الجدول الواحد
    1 point
  34. الف شكر لحضرتك ع المجهور الرائع جزاك الله خير
    1 point
  35. السلام عليكم ورحمة الله وبركاته كنت بصدد عمل برنامج " دليل هاتف " فصادفتني بعض المشاكل باستخدام القوائم فأردت عمل شئ من التغيير في استعمال القوائم حتى هداني الله الى فكرة بأستخدام الاكواد والحمد لله انجزتها ولكنها تبقى في بدايتها وامكانية تطويرها واردة واحببت ان اشارككم بها لعل اجد من ارائكم بعض الامور التي قد تفيد بهذا الشأن هنا ملف يحتوي على صفحة من البرنامج مع احتوائه على القائمة المذكورة اخوكم عماد الحسامي
    1 point
×
×
  • اضف...

Important Information