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

أ / محمد صالح

أوفيسنا
  • Posts

    4,431
  • تاريخ الانضمام

  • Days Won

    191

كل منشورات العضو أ / محمد صالح

  1. هذه الرسالة لا تظهر إلا إذا كان المستخدم زائرا (لا يملك صلاحيات التحميل) أما بعد تسجيل الدخول فالأمر طبيعي جدا
  2. هذه الميزة جميلة لكنها تنطق عند حدوث تغيير في كل مكان وهذا مذعج جدا الكود يحدد الخلايا التي ينطقها البرنامج مثلا إذا أردنا نطق أي تعديل في خلايا العمود A نستعمل الكود التالي في حدث عن التغيير Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Dim v As Object Set v = CreateObject("SAPI.SpVoice") v.Speak Target.Text Set v = Nothing End If End Sub وأعمل حاليا على كود ينطق باللغة العربية ولكنه يحتاج إلى اتصال بالانترنت إن شاء الله أعرضه فيما بعد بالتوفيق
  3. تفضل أخي الكريم تم التعامل مع التواريخ على أنها نصوص وتحويل التاريخ الهجري المنسق كنص إلى تاريخ ميلادي إن شاء الله يكون هو المطلوب حركة تسديد القروض2.xlsm
  4. يمكنك عمل ذلك من خلال التنسيق الشرطي بمعادلة مثل =MONTH(D3)=MONTH(TODAY()) وتطبق على المدى C3:C14 بالتوفيق
  5. أنا ما عدلت على التواريخ أنا فقط ضبطت تنسيقها واعتبارها كتاريخ ومعادلتك في عمود تاريخ التحصيل كنتيجة لضرب تاريخ البداية في 29.5 مع عدد الأقساط ولا تنس أن الاكسل يتعامل مع التواريخ على أنها ميلادية ويعرض فقط التنسيق الهجري
  6. هذه هي التصفية بالمعادلات وتتم بمعادلات المصفوفات حدد النطاق B3:B16 ثم اكتب في شريط الصيغة المعادلة التالية =IFERROR(INDEX(entries!D:D,SMALL(IF(1001=entries!$C:$C,ROW(D:D),""),ROW()-2)),"") واضغط Ctrl+shift+enter لقبول المعادلة وكررر ذلك مع النطاقات C3:C16 =IFERROR(INDEX(entries!E:E,SMALL(IF(1001=entries!$C:$C,ROW(E:E),""),ROW()-2)),"") وأيضا مع النطاق D3:D16 =IFERROR(INDEX(entries!F:F,SMALL(IF(1001=entries!$C:$C,ROW(F:F),""),ROW()-2)),"") ملحوظة: هذه المعادلات لا يتم سحبها أفقيا أو رأسيا وإذا تم ينتج عنها بطء شديد للملف لذا يفضل تحديد النطاق الذي ستطبق عليه كله مرة واحدة بالتوفيق
  7. تفضل هذا ملفك بعد تعديل تنسيق التواريخ والمعادلات حركة تسديد القروض.xlsm
  8. يفترض أن تظهر عندك القوائم كاملة جرب الرابط الخاص بالشرح في مشاركتي السابقة https://support.google.com/docs/answer/1218656?hl=ar&ref_topic=9055295
  9. هذا ما أريده من بداية الكلام فربما لا يحسن أحدنا وصف ما يريد فيحكي بالتفصيل ما يريده فيحاول الجميع الفهم أنت تريد عمل توزيع المحصلين عشوائيا على شهور العام من 1 إلى 12 تفضل هذا ملفك بعد التعديل توزيع المحصلين عشوائيا.xlsm
  10. هل تم تسجيل الدخول بنفس حساب مالك الملف ؟ يعني الحساب الذي تم رفع الملف بواسطته
  11. الحماية في جوجل شيت هي بنفس الطريقة من قائمة tools -- protect sheet أدوات حماية ورقة العمل وتعطي فيها صلاحيات لمستخدمين معينين للتعديل على الشيت كله أو بعض الخلايا وهذا رابط التعليمات الخاصة بجوجل شيت باللغة العربية https://support.google.com/docs/topic/9054603?hl=ar&ref_topic=1382883 وهذا رابط طريقة الحماية https://support.google.com/docs/answer/1218656?hl=ar&ref_topic=9055295 بالتوفيق
  12. لا يوجد حدث في الاكسل اسمه مرة كل شهر ربما تقصد في حدث عند فتح المصنف يعني في كل مرة يتم فتح الملف يتم استدعاء الكود ماذا إذا لم يتم فتح الملف في يوم 10 في الشهر أو كان يوم 10 يوم جمعة خلاصة الكلام ان المعادلات افضل في مثل هذه الحالات مع تعديل بسيط وهو أن يكون تاريخ الجهاز أكبر من أويساوي 10 يعني الأيام في الشهر من 10 إلى نهاية الشهر =IF(DAY(TODAY())>=10,$A3,"") بالتوفيق
  13. لم تفهم قصدي بمتى يتم تنفيذ الكود ؟ وبأي شيء يتم ربطه؟ أقصد هل تريد ربط الكود بزر مثلا عند الضغط عليه يتم التنفيذ وماذا إذا لم يضغط المستخدم على الزر في الموعد المحدد؟؟ وإذا ضغط المستخدم على الزر في يوم 13 في الشهر فلن يكتب الكود شيئا لأن التاريخ ليس 10 في الشهر ربما إذا اوضحت فكرة هذا الشيت وفائدة هذه العملية كتابة الاسم والتاريخ يكون لنا اقتراحات لتنفيذ المطلوب باحترافية اكثر
  14. هل معنى هذا ان المعادلة صحيحة وهي المطلوبة؟ نأتي إلى موضوع تحويلها إلى كود متى يتم تنفيذ الكود الذي يختبر تاريخ اليوم ويكمل باقي العمليات؟ وبأي شيء يتم ربطه ؟
  15. يمكنك ربطة بزر أمر أو صورة أو شكل في الشيت عن طريق إدراج شكل وكتابة اي عبارة عليه ثم كلك يمين وتختار assign macro ثم تختار اسم الماكرو المطلوب ربطه بالزر
  16. اشتغل معاك؟ لو اشتغل بصورة صحيحة يبقى الخطأ في نسخ المعادلة ربما يتم نسخ مسافات زائدة أو نهاية السطر معها بالتوفيق
  17. الخطأ في إضافة المعادلة للشيت فالمعادلة صحيحة وتقوم بالغرض وهذا ملفك بعد التعديل وإضافة المعادلة بطريقة صحيحة Classeur20211.xlsx
  18. نفس الاختلاف في المعادلة إليك الملف بعد كتابة المعادلة المطلوبة عدد الوثائق_2.xls
  19. أضف في أول سطر في الإجراء السطر التالي لمسح محتويات القائمة ListBox1.Clear
  20. الخطأ هو : عدم استعمال المعادلة المذكورة في المشاركة السابقة وهي: =INDEX('عدد الوثائق'!B:B,MATCH(B2,'عدد الوثائق'!A:A,0)) واستعمال معادلة أخرى هي: =@INDEX('عدد الوثائق'!B:B,@MATCH('[B2;عدد ]resultats'!A$1:A$65536,0)) في الخلية F2 يمكنك نسخ المعادلة مع مراعاة الفاصلة أو الفاصلة المنقوطة حسب إعدادات جهازك
  21. الحل في تغيير نوع البيانان Integer إلى long كما هو مستعمل في الاجراء addedit Dim med As Long & Dim s As Long في الزر الأول والثالث تم تعديل الكود السابق
  22. تفضل هذه إعادة صياغة اختصار للأكواد حيث من قواعد البرمجة عدم كتابة الكود مرتين تم عمل دالة لمسح المحتويات clr ودالة للاضافة أو التعديل معا addedit بدلالة رقم الصف Private Sub CommandButton1_Click() Dim med As long med = Sheets("DATA ELV").Range("b10000").End(xlUp).Row + 1 addedit med clr MsgBox "تم نقل البيانات", vbInformation, "تمت العملية بنجاح" End Sub Private Sub CommandButton2_Click() clr Sheets("DATA ELV").Range("y2").Value = Sheets("SAISIE").Range("c2").Value If Not IsNumeric(Sheets("DATA ELV").Range("z2").Value) Then MsgBox "هذا الاسم غير موجود" Else Dim a As long a = Sheets("DATA ELV").Range("z2").Value Sheets("SAISIE").Range("c4").Value = Sheets("DATA ELV").Cells(a, "c") Sheets("SAISIE").Range("c6").Value = Sheets("DATA ELV").Cells(a, "d") Sheets("SAISIE").Range("c8").Value = Sheets("DATA ELV").Cells(a, "e") Sheets("SAISIE").Range("c10").Value = Sheets("DATA ELV").Cells(a, "f") Sheets("SAISIE").Range("c12").Value = Sheets("DATA ELV").Cells(a, "g") Sheets("SAISIE").Range("c14").Value = Sheets("DATA ELV").Cells(a, "h") Sheets("SAISIE").Range("c16").Value = Sheets("DATA ELV").Cells(a, "i") Sheets("SAISIE").Range("c18").Value = Sheets("DATA ELV").Cells(a, "j") Sheets("SAISIE").Range("c20").Value = Sheets("DATA ELV").Cells(a, "k") Sheets("SAISIE").Range("f4").Value = Sheets("DATA ELV").Cells(a, "l") Sheets("SAISIE").Range("f6").Value = Sheets("DATA ELV").Cells(a, "m") Sheets("SAISIE").Range("f8").Value = Sheets("DATA ELV").Cells(a, "n") Sheets("SAISIE").Range("f10").Value = Sheets("DATA ELV").Cells(a, "o") Sheets("SAISIE").Range("f12").Value = Sheets("DATA ELV").Cells(a, "p") Sheets("SAISIE").Range("f14").Value = Sheets("DATA ELV").Cells(a, "q") Sheets("SAISIE").Range("f16").Value = Sheets("DATA ELV").Cells(a, "r") Sheets("SAISIE").Range("f18").Value = Sheets("DATA ELV").Cells(a, "s") End If End Sub Private Sub CommandButton3_Click() Sheets("DATA ELV").Range("y2").Value = Sheets("SAISIE").Range("c2").Value Dim s As long s = Sheets("DATA ELV").Range("z2").Value addedit s clr MsgBox "تم تعديل البيانات", vbInformation, "تمت العملية بنجاح" End Sub Private Sub CommandButton4_Click() Sheets("DATA ELV").Range("y2").Value = Sheets("SAISIE").Range("c2").Value Dim r As long r = Sheets("DATA ELV").Range("z2").Value Sheets("DATA ELV").Rows(r).Delete clr MsgBox "تم حذف البيانات", vbInformation, "تمت العملية بنجاح" End Sub Sub clr() Sheets("SAISIE").Range("c4").Value = "" Sheets("SAISIE").Range("c6").Value = "" Sheets("SAISIE").Range("c8").Value = "" Sheets("SAISIE").Range("c10").Value = "" Sheets("SAISIE").Range("c12").Value = "" Sheets("SAISIE").Range("c14").Value = "" Sheets("SAISIE").Range("c16").Value = "" Sheets("SAISIE").Range("c18").Value = "" Sheets("SAISIE").Range("c20").Value = "" Sheets("SAISIE").Range("f4").Value = "" Sheets("SAISIE").Range("f6").Value = "" Sheets("SAISIE").Range("f8").Value = "" Sheets("SAISIE").Range("f10").Value = "" Sheets("SAISIE").Range("f12").Value = "" Sheets("SAISIE").Range("f14").Value = "" Sheets("SAISIE").Range("f16").Value = "" Sheets("SAISIE").Range("f18").Value = "" End Sub Sub addedit(rw As Long) Sheets("DATA ELV").Cells(rw, "c").Value = Sheets("SAISIE").Range("c4").Value Sheets("DATA ELV").Cells(rw, "d").Value = Sheets("SAISIE").Range("c6").Value Sheets("DATA ELV").Cells(rw, "e").Value = Sheets("SAISIE").Range("c8").Value Sheets("DATA ELV").Cells(rw, "f").Value = Sheets("SAISIE").Range("c10").Value Sheets("DATA ELV").Cells(rw, "g").Value = Sheets("SAISIE").Range("c12").Value Sheets("DATA ELV").Cells(rw, "h").Value = Sheets("SAISIE").Range("c14").Value Sheets("DATA ELV").Cells(rw, "i").Value = Sheets("SAISIE").Range("c16").Value Sheets("DATA ELV").Cells(rw, "j").Value = Sheets("SAISIE").Range("c18").Value Sheets("DATA ELV").Cells(rw, "k").Value = Sheets("SAISIE").Range("c20").Value Sheets("DATA ELV").Cells(rw, "l").Value = Sheets("SAISIE").Range("f4").Value Sheets("DATA ELV").Cells(rw, "m").Value = Sheets("SAISIE").Range("f6").Value Sheets("DATA ELV").Cells(rw, "n").Value = Sheets("SAISIE").Range("f8").Value Sheets("DATA ELV").Cells(rw, "o").Value = Sheets("SAISIE").Range("f10").Value Sheets("DATA ELV").Cells(rw, "p").Value = Sheets("SAISIE").Range("f12").Value Sheets("DATA ELV").Cells(rw, "q").Value = Sheets("SAISIE").Range("f14").Value Sheets("DATA ELV").Cells(rw, "r").Value = Sheets("SAISIE").Range("f16").Value Sheets("DATA ELV").Cells(rw, "s").Value = Sheets("SAISIE").Range("f18").Value End Sub المشكلة في كود البحث كانت في عدم مراعاة ألا يكون الاسم موجودا بالتوفيق
×
×
  • اضف...

Important Information