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

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

  1. Ali Mohamed Ali

    Ali Mohamed Ali

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


    • نقاط

      13

    • Posts

      11650


  2. Foksh

    Foksh

    الخبراء


    • نقاط

      8

    • Posts

      4897


  3. عبدالله بشير عبدالله
  4. كمال على طارق

    كمال على طارق

    03 عضو مميز


    • نقاط

      3

    • Posts

      244


Popular Content

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

  1. أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. سابقاً وفي الموضوع الذي قمت بطرحه بإستفسارات حول آلية تطبيق وإمكانية التنفيذ من خلال آكسيس ليقوم بإرسال رسائل قصيرة SMS من الجوال . كانت الملاحظات والمشاركات ذات قيمة بالنسبة لي . وأشكر كل من ساهم بالرد بمعلومة حتى لو كانت بسيطة وجزئية بنظره .🥰. وبعد البحث عن فكرة مجانية بالكامل . خلصت في نهاية المطاف إلى أنني بحاجة فقط إلى جسر وصل وربط بين الجوال والكمبيوتر ( آكسيس تحديداً ) . ولهذا قمت أولاً بإنشاء تطبيق خاص وحصري ، ويعمل فقط على هواتف أندرويد بشكل عام فقط ( طبعاً بحكم طبيعة عملي في مجال الجوالات وصيانتها ) - جماعة IOS اعتذر منكم في الوقت الحالي 😁 - فكان التنفيذ لتطبيق لا يحتاج منك إلا تشغيل/أيقاف الخدمة فقط . وطبعاً وللمعلومة هذه الخدمة لا تعتمد على أي اتصال بالإترنت نهاااائياً . حيث أن الربط سيكون من خلال الشبكة المحلية التي يتصل بها الكمبيوتر والجوال معاً ، حتى لو كانت مجرد شبكة محلية بدون انترنت ، وعليه :- سيلزمنا أولاً تحميل التطبيق بصيغة APK من الرابط التالي هنا ، وتثبيته على الجوال بالشكل الطبيعي . ولكن وبما أن حمايات جوجل تتطور وتتحدث يومياً فإنك ستلاحظ أن النظام في جوالك سيمنع التثبيت بحكم أنك لم تقم بتحميل التطبيق من متجر تطبيقات جوجل 😅 ، وبالتالي فما عليك فعله بعد تحميل التطبيق من الرابط إلى جوالك ، ما يلي :- 1. افتح متجر جوجل بلاي في جوالك ، واتبع الخطوات التالية :- 2. الآن قم بإيقاف الحماية مؤقتاً للسماح بتثبيت تطبيقات خارجية ، ثم أعد تشغيلها للإطمئنان ، كما في الصورة :- 3. قم بتثبيت التطبيق الذي قمت بتحميله من الرابط السابق الآن . وبما أننا سنتعامل مع تطبيق يتعامل مع الرسائل وجهات الاتصال فقط . فسيطلب منك التطبيق الإذن بالصلاحيات للوصول الى الرسائل وجهات الإتصال ، وهذا الأمر طبيعي جداً . يعني حاله كحال أي تطبيق تقوم بتثبيته ويطلب منك صلاحيات . ولكن صلاحياتنا هنا محدودة وظاهرة . 4. قم الآن بتحميل النظام من الرابط التالي هنا للإصدار 64 ، أو من هنا للإصدار 32 . وستكون الواجهة بالشكل التالي :- 5. الآن ما الذي يتوجب عليك فعله بعد تحميل التطبيق وتثبيته على الجوال وفتحه ، وتشغيل البرنامج ؟ فقط اتبع ما يلي مصوراً :- اضغط الزر الأحمر والذي يدلك على حالة الإتصال بالخدمة ( تعمل / متوقف ) . حيث سيتغير لونه إلى اللون الأخضر عند تشغيل البرنامج . ليصبح بالشكل التالي على نجاح التشغيل :- التطبيق سيعمل معك بالعربية أو الإنجليزية ، ويدعم نمط الوضع الداكن أو الفاتح . وهي أمور جمالية فقط لا غير . لكن الإفتراضية ستكون اللغة العربية بالوضع الداكن . 6. الآن وبما أننا حصلنا على رقم IP محلي داخل الشبكة الحالية التي تحدثنا أنه يجب أن يكون الجوال والكمبيوتر متصلان على نفس الشبكة . سنذهب إلى واجهة التطبيق ونضغط زر الإعدادات الموجود بقائمة الأزرار الموجودة في الجزء العلوي الأيمن . وستجد أنك دخلت إلى النموذج التالي :- والمطلوب منك هو إدخال رقم الـ IP الذي ظهر معك في التطبيق الذي تم تثبيته على جوالك ، كما في الصورة ( مع اختلاف القيم طبعاً حسب الموزع الذي يتصل به جهازاك ) . وطبعاً باقي تفاصيل الإعدادات واضحة . حيث يمكنك تحديد عدد حروف الرسالة النصية الواحدة المرسلة . ومدة التحديث التلقائي التي تريد أن يتم كل عدد ثواني الكشف عن الاتصال . ثم انقر الزر الأخضر لحفظ الإعدادات والخروج . 7. وبعد أن تمت عملية تهيئة النظام للإتصال من خلال الشبكة المحلية بنجاح . سنقوم بالضغط على الزر الذي له شكل شبكة الـواي فاي WiFi . وستلاحظ انه تم الاتصال بالجوال وسيظهر لك اسم جوالك في أعلى الجهة اليمنى من واجهة النظام . وكذلك نسبة البطارية في جهازك في الجهة اليسرى المقابلة . وهذا دلالة على الإتصال ناجح بين آكسيس والجوال . 8. الآن ما دلالات ووظائف الأزرار الباقية ؟؟ ♻ الزر وظيفته جلب جهات الإتصال من الجوال ومزامنتها داخل التطبيق . والهدف هو تحميل جهات اتصالك بدلاً من حفظها واحداً واحداً . طبعاً ميزة الإضافة لجهة جوال جديدة غير متاحة حالياً في هذه النسخة . ♻ الزر الغير مفعل كوظيفة ، هو ووظيفته لاحقاً هي إستيراد الرسائل من الصندوق الوارد في جوالك الى اكسيس . وطبعاً المزامنة لن تكون بتكرار الرسائل عند كل عملية استيراد أو مزامنة ، وكذلك الأمر لجهات الاتصال . فلن يكون هناك تكرار عند كل عملية مزامنة . ♻ الزر ووظيفته عرض واختيار جهات الإتصال التي تمت مزامنتها من جوالك لاختيار - فردي أو متعدد - جهات إتصال وأرقام ترغب بالإرسال لهم . وعند النقر المزدوج على أي جهة إتصال سيفتح لك نموذج تعديل الاسم أو جهة الاتصال هذه وحفظ التعديلات . و طبعاً تستطيع الإرسال لرقم غير محفوظ في جهات اتصالك . ♻ الزرين ( فحص حالة الإتصال تلقائياً و حفظ الرسالة بعد الإرسال ) تسميتهما دالة على الوظيفة بشكل صريح . ♻ الزر 😄 ، وظيفته إضافة تعبير رسومية Emoji للرسالة . 9. الليست بوكس الموجود على الجهة اليسرى من الواجهة سيعرض لك جميع الرسائل التي تم ارسالها ( طبعاً إن قمت بتفعيل الحفظ التلقائي في الزرين الذين تم شرحهم قبل هذه النقطة ) ووجب الذكر هنا أن الخيارات والإعدادات ستبقى محفوظة حتى لو قمت بالخروج من النظام والعودة له لاحقاً . وطبعاً عند النقر المزدوج على أي رسالة مرسلة محفوظة سيتم نقل نص الرسالة الى مربع نص الرسالة بدلاً من كتابتها مرة أخرى عند حاجتها . وهنا ستجد المتعة في هذه القائمة من خلال طريقة العرض التي تريدها . يعني أنه يمكنك عرض الليست بوكس عن طريق القائمة وهي طريقة العرض الإفتراضية أو الشجرة . وذلك من خلال الزرين الموجودين فوق هذه القائمة . حيث في طريقة عرض القائمة سيتم عرض جميع الرسائل كسجل منفرد لكل رسالة . بينما في طريقة عرض الشجرة سيتم عرض الرقم المرسل له . وعند فتح قائمته تظهر لك الرسائل التي ارسلتها له 😁 . الآن وفي نهاية المطاف ، آمل أن يكون هذا العمل الذي استغرقني قرابة الشهر ، قد نال إعجابكم من الناحية التنفيذية و الوظيفية له . وحيث أن الوظائف التي لم تدرج بعد ، سيكون لها قريباً دمج وإضافة بعد التحقق من نجاحها بكافة الأشكال وتجربتها على أكثر من جوال ، في تحديث جديد . طبعاً التطبيقات التي تشابه فكرة تطبيق الجوال الخاص بي كثيرة على متجر جوجل بلاي .. فلك الحق والحرية بتجربة أي تطبيق آخر من المتجر نفسه . على سبيل المثال لا الحصر Traccar SMS Gateway . لكن ما يميز تطبيقي أنك لست بحاجة الى رمز وصول Token . أيضاً لن تستفيد من ميزة إستيراد جهات الإتصال من جوالك الى آكسيس . وبعض المزايا الأخرى بالتأكيد 😉 . •| وفي الحديث عن أن العمل مقفل وبصيغة ACCDE . فهو مجهود شخصي وغير منفذ مسبقاً . لذا عذراً عن عدم رفعه مفتوح المصدر فيما بعد |• 🤗 ولك الحق في عدم تجربة أي مشاريع مقفلة 🤗
    3 points
  2. تفضل استاذ @بلال بلال طلبك الاخير بالاستعلام Query1 والحقل BB . اليك المرفق . التاريخ-3.rar
    1 point
  3. تفضل استاذ @بلال بلال اليك المرفق بطلبك . ووافني بالرد . التاريخ-2.rar
    1 point
  4. كده يعني البرنامج التاريخ.rar
    1 point
  5. شكرا جزيلا أخي الفاضل حليت المشكلة ربنا يبارك فيك
    1 point
  6. من أول مشاركة أنقر زر أعرض الملف ستنتقل إلى صفحة الملف في المكتبة وهناك أنقر زر حمل هذا الملف
    1 point
  7. وعليكم السلام ورحمة الله وبركاته .. بما أن الفكرة ليست واضحة بالنسبة لي .. ولكن جرب إنشاء زر للحفظ مثلاً في النموذج الفرعي الأول Subform_1 . واجعل له الكود التالي :- Me.TEXT_3.Value = Nz(Me.Subform_2.Form!Txt_Sub_Total.Value, 0) بحيث يكون أول شيء يفعله هو جلب قيمة الإجمالي من مربع النص في الفرعي2 الى الفرعي 1 ، ويمكنك اضافة باقي الأحداث ليصبح زر للحفظ . M - 1.mdb
    1 point
  8. وإذا كان الاستخدام على ويندوز 7 ( وهو الويندوز الشعبي المفضل فى أغلب مدارسنا ) وهو متوافق مع 2003 ، كيف سيكون الحل ؟ لأنه مع الحل السابق سوف تتلقى هذا الإعتراض :
    1 point
  9. اشكركم جميعاً تم حل المشكلة بعد محاولات عديدة وقبل نسخ وربط الخلايا
    1 point
  10. 🤔 هل من الممكن أن يكون اختلاف التنسيق بين الخليتين له سبب بهذه المشكلة ؟؟؟ ولكن الفيصل في حل مشكلتك هو ارفاق ملف كما أشار أخي الأستاذ @عبدالله بشير عبدالله ..
    1 point
  11. وعليكم السلام اتفضل الكود دا لعله يكون المطلوب جرب وشوف وخبرنا بالنتجه Option Explicit Sub ارسال_رسائل_واتساب() Dim ws As Worksheet Dim LastRow As Long Dim i As Long Dim Phone As String Dim Name As String Dim Msg As String Set ws = ThisWorkbook.Sheets("رسائل اليوم") LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = 2 To LastRow Name = Trim(ws.Cells(i, "A").Value) Phone = Trim(ws.Cells(i, "C").Value) Msg = Trim(ws.Cells(i, "E").Value) If Phone <> "" And Msg <> "" Then Msg = Replace(Msg, "[الاسم]", Name) Msg = WorksheetFunction.EncodeURL(Msg) ThisWorkbook.FollowHyperlink _ "https://web.whatsapp.com/send?phone=" & Phone & "&text=" & Msg Application.Wait Now + TimeValue("00:00:08") SendKeys "~", True Application.Wait Now + TimeValue("00:00:03") End If Next i MsgBox "تم إرسال جميع الرسائل", vbInformation End Sub وممكن حضرتك تتصفح المواضيع اللي تحت👇 ينمكن تلاقي اللي بتدور عليه وأكتر كما🌹 Copy of واتس اب ويب.xlsm
    1 point
  12. اعرض الملف 🖼️ أداة جميلة لإزالة خلفيات الصور | سلسلة هدايا الأكسس | ⭐ 🎁 السلام عليكم ورحمة الله وبركاته لكسر الروتين وعموم الفائدة 😎👌 أقدم لكم أداة جديدة بفكرة جديدة 🙂 :: أداة إزالة خلفيات الصور :: الهدف من الأداة واضح >> وهو ببساطة إزالة خلفيات الصور >> والناتج صورة بخلفية شفافة بصيغة png . ولها استخدامات كثيرة في الاحتياجات العامة أو لتشذيب الصور قبل إدراجها في برنامج الأكسس مثلا .. أو .. أو .. أو .. عدد ما شئت أنا شخصيا أحتجتها في برنامجي (صانع الشهادات) لإزالة خلفيات التواقيع 🖋️📜 ثم إضافتها للبرنامج كمرفق. الأداة فكرتها بسيطة >> الإتصال بموقع remove.bg المشهور عن طريق ال API والعودة بالناتج بدون الحاجة لفتح الموقع. مفتاح الـAPI الحالي هو خاص بي ويمكنكم استخدامه مباشرة ولكنه محدود ب 50 تحويل لليوم .. في حال رغبتك بوضع مفتاحك الخاص ( وهي خدمة مجانية بالمناسبة ) يمكن تغييره في أول صفحة الكود وقد وضحت الطريقة هناك . 🙂 الملف مفتوح المصدر :: ودعواتكم الطيبة 🙂 صاحب الملف Moosak تمت الاضافه 06/22/26 الاقسام قسم الأكسيس  
    1 point
  13. مشاركة مع اخي ابو البشر تفضل تم التعديل وتحقيق مطلبك Database2.rar
    1 point
  14. وعليكم السلام ورحمة الله وبركاته في عدم وجود ملف لمعرفة السبب جرب الطريقة البدائية البسيطة اذهب إلى الشيت والخلية الذي تريد ظهور الناتج فيها. اكتب علامة يساوي (=). بالماوس، انتقل إلى الشيت الآخر واضغط على الخلية التي تريد جلب البيانات منها ثم اضغط على زر Enter
    1 point
  15. أخي الكريم ، الفكرة ليست بمعادلة وينتهي الموضوع !!!! بناءً على ملفك المرفق فإنه حتى المعادلة لن تأتي لك بالمطلوب لأسباب كثيرة . نمط التاريخ وشكله وتنسيقه غير واضح في الخلايا داخل الورقات اليومية . الخلية التي سيكون بها تاريخ المقارنة يجب أن يكون في خلية ثابتة في جميع الورقات . خلية عرض الصافي أيضاً يجب أن تكون في خلية ثابتة . فليس من المنطقي أن تكون مرة في Q ومرة في R ومرة في F ... إلخ وعليه تم العمل من خلال ماكرو واستدعاؤه داخل الورقة الرئيسية كالتالي :- Sub GetValuesFromSheets() Dim wsCurrent As Worksheet Dim wsOther As Worksheet Dim i As Long Dim j As Long Dim targetDate As Date Dim found As Boolean Dim lastRow As Long Set wsCurrent = ThisWorkbook.ActiveSheet Application.ScreenUpdating = False Application.Calculation = xlCalculationManual wsCurrent.Range("C3:C33").ClearContents For i = 3 To 33 If wsCurrent.Cells(i, "B").Value <> "" Then If IsDate(wsCurrent.Cells(i, "B").Value) Then targetDate = CDate(wsCurrent.Cells(i, "B").Value) found = False For Each wsOther In ThisWorkbook.Worksheets If wsOther.Name <> wsCurrent.Name Then lastRow = wsOther.Cells(wsOther.Rows.Count, "B").End(xlUp).Row If lastRow > 33 Then lastRow = 33 For j = 3 To lastRow If wsOther.Cells(j, "B").Value <> "" Then If IsDate(wsOther.Cells(j, "B").Value) Then If CDate(wsOther.Cells(j, "B").Value) = targetDate Then wsCurrent.Cells(i, "C").Value = wsOther.Range("R27").Value found = True Exit For End If End If End If Next j End If If found Then Exit For Next wsOther If Not found Then wsCurrent.Cells(i, "C").Value = "غير موجود" End If End If End If Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub Private Sub Worksheet_Activate() Call GetValuesFromSheets End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B3:B33")) Is Nothing Then Call GetValuesFromSheets End If End Sub وهذا مرفقك بعد إجراء بعض التعديلات عليه وضبط المواضع التي تحدثت عنها سابقاً تصفيات العيادات.xlsm ملاحظة .. تم تعديل التاريخ في كل ورقة ليصبح 2026-06-19 2026-06-20 2026-06-21 2026-06-22
    1 point
  16. وعليكم السلام ورحمه الله وبركاته يجب عليك ارفاق ملف الاكسل المراد العمل عليه نظام حماية لملف الاكسل والدخول للصفحات تشفير الملفات بدلا من استخدام انواع الحماية المختلفة مدونة اعمال ايقونات الماس لمنتدى اوفيسنا_شاشة دخول_صلاحيات_PASS WORD_اخفاء معادلات
    1 point
  17. وعليكم السلام ورحمة الله وبركاته اليك الحل بالمعادلات في شيت1 بالاكواد شيت2 مثال1.xlsb
    1 point
  18. وده ملف أخر برنامج مزرعة دواجن.rar
    1 point
  19. وعليكم السلام ورحمة الله وبركاته .. هذه فكرة بسيطة للورقة الثانية في الخلية D4 ( المطلب الأول ) ، جربه :- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$4" Then Dim cell As Range, n As Long Range("B6:B35, D6:D35").ClearContents If IsDate(Target.Value) And Target.Value <> "" Then For Each cell In Sheets("بيانات العاملين").Range("B2:B" & Sheets("بيانات العاملين").Cells(Rows.Count, "B").End(xlUp).Row) If cell.Value = Target.Value Then n = n + 1 Cells(6 + ((n - 1) Mod 30), 2 + ((n - 1) \ 30) * 2).Value = cell.Offset(0, 1).Value If n = 60 Then Exit For End If Next cell End If End If End Sub المطلب الثاني في الورقة الثالثة ، جرب استعمال الفكرة التالية بحيث لتحديد العدد جعلت الخلية G4 لتحديد العدد بدلاً من 5 والتقيد به . وبالتالي اذا لم تحدد قيمة في G4 سيكون الافتراضي = 5 أسماء ، والكود كالتالي في الورقة الثالثة :- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("F4:G4")) Is Nothing Then Dim cell As Range, n As Long, limit As Long Dim status As String Range("C7:C" & Rows.Count).ClearContents status = Range("F4").Value If status = "ناجح" Or status = "راسب" Then limit = IIf(Val(Range("G4").Value) <= 0, 5, Val(Range("G4").Value)) For Each cell In Sheets("بيانات العاملين").Range("E2:E" & Sheets("بيانات العاملين").Cells(Rows.Count, "E").End(xlUp).Row) If cell.Value = status Then n = n + 1 Cells(6 + n, "C").Value = Sheets("بيانات العاملين").Cells(cell.Row, "C").Value If n = limit Then Exit For End If Next cell End If End If End Sub لاحظ أنني قمت بإضافة احتمال آخر = راسب من باب التوسعة في خيارات البحث بالنتيجة اللجنة.xlsm
    1 point
  20. إضافة للاستاذ كمال تفضل ملف عملي طرح تاريخين.xlsx
    1 point
  21. وعليكم السلام-تفضل طالما انك لم تقم برفع ملف موضح به المطلوب بكل دقة ,وفى طلبك وبالمعادلات العادية لا يوجد أفضل من معادلة DATEDIF
    1 point
  22. طلبك الأول ، شرحه موجود في الموضوع التالي :- طلبك الثاني شرحه فيما يلي ..
    1 point
  23. السلام عليكم ورحمة الله وبركاته كان من الافضل ارفاق ملف للتطبيق عليه جرب الملف المرفق ببيانات افتراضية في النطاق A2:A100 ومعادلة الجمع في الخلية D2 ,DL ويمكنك نسحها الى اي خلية اخرى =IFERROR(SUMPRODUCT((A2:A100>0)*(SUBTOTAL(103;OFFSET(A2;ROW(A2:A100)-MIN(ROW(A2:A100));0)))*(A2:A100));0) جمع الأرقام الموجبة فقط الظاهرة دون المخفية.xlsx
    1 point
  24. أحسنت استاذ مجدى بارك الله فيك وجعله الله فى ميزان حسناتكم ... وكل عام وأنتم بخير
    1 point
  25. تفضل كما بالصورة كى تعمل ... أو جرب هذا الكود Sub FFvba() Cells(1, 2) = "123-45-6789" Dim rng As Range Set rng = Range("B1:B4") rng.FlashFill End Sub
    1 point
  26. تفضل تــم عمل المطلوب -فهذا الكود لزر الخروج من ملف الإكسيل بعد الحفظ Private Sub خروج_Click() ThisWorkbook.Saved = True Application.Quit End Sub كما تم عمل زر بكل صفحة للعودة للصفحة الرئيسية Main كل ما عليك هو الضغط على أيقونة Go To Sheets سيظهر لك مربع حوارى عليك بكتابة اسم الصفحة المراد الوصول لها من خلال الضغط على OK اكواد.xlsm
    1 point
  27. بارك الله فيك وجزاك الله خير الثواب
    1 point
  28. المعادلة تعمل تمام ... ولكن جربها هكذا =CEILING(ROUND(IF(BL10>10000,(AI10-10000)*0.003+(10000-50)*0.008,IF(AND(BL10>5000,BL10<=10000),(AI10-50)*0.008,IF(AND(BL10>1000,BL10<=5000),(AI10-50)*0.0075,IF(AND(BL10>500,BL10<=1000),(AI10-50)*0.007,IF(AND(BL10>250,BL10<=500),(AI10-50)*0.0065,IF(AND(BL10>50,BL10<=250),(AI10-50)*0.006,0)))))),2),0.05)
    1 point
  29. 1 point
  30. وعليكم السلام-يمكنك استخدام معادلة المصفوفة (Ctrl+Shift+Enter) =IFERROR(INDEX(LIST!$A$12:$A$230,SMALL(IF(MONTH(LIST!$G$12:$G$230)=MONTH($C$2),ROW(A$12:A$230)-ROW(A$12)+1),ROWS($A$6:A6))),"") 1قائمة.xlsx
    1 point
  31. تمام ببساطة -يمكنك استخدام هذه المعادلة للتسلسل للتخلص من هذه المشكلة .. وبالتالى كده تم اكتمال طلباتك =AGGREGATE(2,5,$A$1:A1)+1 ياسمين 2.xlsx
    1 point
  32. تفضل لك ما طلبت بهذه المعادلة =SUMPRODUCT(($C$2:$C$17=$E6)*(SUBTOTAL(103,OFFSET($C2,ROW($C$2:$C$17)-MIN(ROW($C$2:$C$17)),0)))) معادلة عد الخلايا المرئية فقط بشروط.xlsx
    1 point
  33. بالتوفيق ان شاء الله ومبارك الترقية ..أعانك الله على مهامك ومسؤلياتك الجديدة
    1 point
  34. وعليكم السلام -يمكنك استخدام هذه المعادلة =IF(COUNTIFS($B$2:$B$200,B2,$C$2:$C$200,C2,$D$2:$D$200,D2,$E$2:$E$200,E2)>1,"مكرر","") Countifs.xlsx
    1 point
  35. بارك الله فيك وزادك الله من فضله
    1 point
×
×
  • اضف...

Important Information