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

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

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

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


    • نقاط

      8

    • Posts

      13,165


  2. الصـقر

    الصـقر

    الخبراء


    • نقاط

      6

    • Posts

      1,836


  3. محمد حسن المحمد

    • نقاط

      4

    • Posts

      2,216


  4. ياسر العربى

    ياسر العربى

    الخبراء


    • نقاط

      3

    • Posts

      1,510


Popular Content

Showing content with the highest reputation on 06 ينا, 2016 in all areas

  1. كما تعودنا نقوم بصورة سنوية بحصر مشاركات و جهود فريق الموقع ، و يلي ذلك حركة ترقبات ضمن فريق الموقع و يليها ترشيح أعضاء جدد للانضمام لاسرة فريق الموقع لتعويض غياب من لم يستطع الاستمرار فى المشاركة . و خلال العام الماضي جاء الأخوة ياسر خليل أبو البراء ، و أبو خليل علي قمة ترتيب فريق الموقع من حيث الجهد الاداري المبذول ، و عليه يسعدني أن أرحب بالأخ ياسر فى مجموعة المراقبين كمراقب عام على الموقع ، و الشكر موصول لأخونا أبو خليل لجهوده المميزة ، و الشكر موصول بعد ذلك لكل من ساهم فى الموقع سواء من فريق الموقع أو الأعضاء بمختلف مجموعاتهم.
    2 points
  2. جرب هل هو المطلوب معاينة طباعة.rar
    2 points
  3. أخي الكريم محمد إليك الكود التالي يوضع في حدث ورقة العمل كليك يمين على اسم الورقة المسماة CV .. ثم اختر الأمر View Code والصق الكود التالي Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C4")) Is Nothing Then Call ChangePic End If End Sub وضع الكود التالي في موديول عادي Sub ChangePic() Dim pic As Picture, strPhotosFolder As String, strPhoto As String strPhotosFolder = ThisWorkbook.Path & "\Photos\" Application.ScreenUpdating = False With Sheets("CV") While .Pictures.Count .Pictures(1).Delete Wend strPhoto = strPhotosFolder & Trim(.Range("C4").Value) & ".*" strPhoto = Dir(strPhoto) If Len(strPhoto) Then strPhoto = strPhotosFolder & strPhoto .Pictures.Insert (strPhoto) Set pic = .Pictures(.Pictures.Count) With pic .ShapeRange.LockAspectRatio = msoFalse .Left = .Parent.Range("G2:G4").Left .Top = .Parent.Range("G2:G4").Top .Width = .Parent.Range("G2:G4").Width .Height = .Parent.Range("G2:G4").Height End With End If End With Application.ScreenUpdating = True End Sub تقبل تحياتي CV Employees Import Pictures Based On ID YasserKhalil.rar
    2 points
  4. بالفعل حبيبي الغالي سمعته يا ربي بعدي آلمني ***ما عدت أطيق الهُجرانَ قد جئت بقلب مضطربِِ*** يرجو من عفوك غفرانَ كم جئت بذنب كبّلّني*** و ملأت ضياعا أيامي حتى ما أضل هنا عبدا*** مأسورا بين الآثامِ قد لاح النور لعيْنيَّ ***فغَذَذْت إلى النور السيرَ من بعد متابك يا قلبي*** لم تلق في الدنيا ضيْراََ َ حطمت القيد أيا نفسي*** لا شهوة تأسرني الآنَ نار الأهواء سأُحرقها*** ما عدت أهاب النيرانَ قد كنت كطير مكلومِ ِ*** محبوسا بين القضبان ِ و الآن أغرد في الروضِ*** و أغرد بين الأغصانِ يا ربي بعدي آلمني*** ما عدت أطيق الهُجرانَ قد جئت بقلب مضطرب*** يرجو من عفوك غفرانَ اللهم ما من يوم يمر الا ونكون اليك اقرب بارك الله فيك حبيبي الغالي ابو يوسف
    2 points
  5. أخي ومعلمي الحبيب محمد طاهر بارك الله فيك وجزيت خيراً على هذا المنتدى الذي يختلف عن أي المنتديات سواء العربية منها أو الأجنبية في كون المنتدى يعد أسرة وعائلة واحدة يجمعهم الحب في الله قبل أي شيء آخر جمعنا الله وإياك في الفردوس الأعلى من الجنة أبي الغالي أبو يوسف لكم يسعدني أن تسطر بيديك الكريمتين هذه الكلمات التي هي لدي أغلى وسام حصلت عليه .. اللهم اجمع بيننا في مستقر رحمتك يا أرحم الراحمين أخي وحبيبي المتميز حسام عيسى أشكرك على اهتمامك البالغ وعلى ردك الجميل وتقديرك لكل من يساهم في المنتدى .. فقد دفعت بالمنتدى خطوات للأمام اللهم اجعل أعمالك في ميزان حسناتك يوم القيامة واجمع بيننا في عليين الأخ الكريم رضا الله يبدو أنك من مدمني الأكسس ولكن يشرفني أن أكون لك أخاً وصديقاُ تقبلوا جميعاً وافر تقديري واحترامي
    2 points
  6. أخي الغالي المتميز مختار بارك الله فيك وجزيت خيراً على هذا الإبداع أخي وحبيبي في الله بن عليه حاجي جزيت خير الجزاء على شرارة الإنطلاق الإبداعية إليكم إثراءً للموضوع الكود التالي Sub FindCombinations() Dim V(1 To 4) As Variant, W(1 To 4) As Variant, P As Variant Dim PCount&, I&, II&, III&, IIII& Dim Target As Single, Cell As Range ReDim P(1 To 4, 1 To 1) For I = 1 To 4 With Union([Ligne_1], [Ligne_2], [Ligne_3], [Ligne_4]).Areas(I) V(I) = .Value W(I) = .Value II = 0 For Each Cell In .Cells II = II + 1 W(I)(1, II) = Cell.Address Next Cell End With Next I Target = [Cellule1].Value For I = 1 To UBound(V(1), 2) For II = 1 To UBound(V(2), 2) For III = 1 To UBound(V(3), 2) For IIII = 1 To UBound(V(4), 2) If Target = V(1)(1, I) + V(2)(1, II) + V(3)(1, III) + V(4)(1, IIII) Then PCount = PCount + 1 ReDim Preserve P(1 To 4, 1 To PCount) P(1, PCount) = W(1)(1, I) P(2, PCount) = W(2)(1, II) P(3, PCount) = W(3)(1, III) P(4, PCount) = W(4)(1, IIII) End If Next IIII Next III Next II Next I Application.ScreenUpdating = False [B16:F65000].ClearContents [C16:F16].Resize(PCount).Value = Application.Transpose(P) [B16].Value = 1 [B16].Resize(PCount).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1, Trend:=False Application.ScreenUpdating = True End Sub تقبلوا تحياتي Find Every Combination YasserKhalil.rar
    2 points
  7. السلام عليكم ورحمة الله وبركاته أستاذنا الحبيب محمد طاهر .. لفتةٌ طيبةٌ وجّهتم عنايتكم من خلالها لإخوة كرام طالما اجتهدوا وبذلوا قصارى جهودهم لإيصال المعلومة الصحيحة والنصح الجميل مترافقين بحلم وأناة ولين جانبٍ إنهما أخوينا الكريمين ياسر خليل أبو البراء وأبو خليل المحترمين اللهم اجعلهما أخلاء متقين آمين.شكراً لكل من ساهم برفع سويةِ منتدانا وألّف إليه قلوباً تهفو إلى علمٍ ناصعٍ ومحبةٍ فياضةٍ والسلام عليكم.
    2 points
  8. السلام و عليكم أرجوا من الأساتذة الكرام التفضل بشرح طريقة عمل نموذج كنموذج قاعدة بيانات نورث ويند خاصة الجزء العلوي منه و شكرا
    1 point
  9. السلام عليكم ورحمة الله تعالي وبركاته الاساتذه الافاضل اريد كود لعمل معاينة الصفحات واغلاقها بناء علي كود بداخل فورم هذه ملف مرفق للتوضيح وجزاكم الله عنا خيرا معاينة طباعة.rar
    1 point
  10. حسب فهمى الجزء الخاص بالمستفيد والمناولة صحيح ولكن الجزء الخاص ببيانات الجدول هو الذى يحتاج تعديل فى الكود حيث المطلوب هو استدعاء بيانات الاذن المحدد رقمه فقط ( اى ان حجم البيانات Rangeيتغير من اذن الى اخر ) اذن 1 يتكون من 3 سطور مدين دائن التوجيه المحاسبى 500 اذن 1 500 اذن 1 100 اذن 11 اذن 2 يتكون من 9 سطور 500 اذن 2 500 اذن 2 500 اذن 2 100 اذن 2 100 اذن 2 100 اذن 2 222 اذن 2 55 اذن 2 55 2132 اذن 22 وهكذا
    1 point
  11. جرب هذا الملف عسى ان يكزن المطلوب تصحيح خطاء salim.rar
    1 point
  12. السلام عليكم ورحمة الله وبركاته أخي الحبيب ياسر وفيكم الله بارك سعادتي لا توصف بهذا الرد الجميل ..الحمد لله الذي جعلنا إخوانا متحابين...فضل الله علينا عظيم. ..تقبل تحياتي العطرة والسلام عليكم ورحمة الله وبركاته
    1 point
  13. السلام عليكم ورحمة الله وبركاته أخي الحبيب ياسر هل شاهدت المقطع أم أنك نسيت....
    1 point
  14. اشكر الاساتذة المحترمين والمهندسين المبدعين م/بن علية وم/ياسر وم/مختار لإثرائهم الموضوع مع ان موضوعي هو بداية لفكرة ما وسأطرحها في موضوع مستقل مرتبط بموضوع سابق وهذا الموضوع الحالي .. بارك الله فيكم جميعا وجعلكم مباركين وعالمين ومحفوفين بعينه الربانية ومحفوظين بعنايته السرمدية ورزقكم نعما لا يحصيها عاد وبارك لكم في أرزاقكم واهليكم وذرياتكم ولكل عزيز لديكم ووسع عليكم واسعدكم وجعلكم من المخصوصين بلطفه وكرمه وحفظه ومعافاته
    1 point
  15. وعليكم السلام ورحمة الله أخي الفاضل ممكن توضيح أكثر بما تريد بالضبط.. لماذا وضعت هذا الكود ليغلق الفاتورة إذا لم يكن به أصناف متاحة! ولماذا وضعته عند اختيار الصنف وليس عند إدراج الكمية؟
    1 point
  16. اخى الكريم جرب هذا المرفق تقبل تحياتى -------------------------------------------------------------- معرفة الصف.zip
    1 point
  17. اخى الكريم الكود يعمل تمام والنتيجة مظبوطه 100 % عندى حتى وان كان فى خلايا بها حرف غ ما هى نسخة الاوفيس لديك ؟ تفضل شرح الكود بالتفصيل Sub alsaqer() ' اخى الكريم اليك شرح الكود ' السطر التالى لايقاف اهتزاز الشاشه عند تنفيذ الكود Application.ScreenUpdating = False ' تعريف متغير اخر سطر من النوع لونج Dim lr As Long ' A عمل سطر لمعرفه اخر سطر به بيانات فى العمود lr = ورقة1.Cells(Rows.Count, "a").End(xlUp).Row ' RANK تحديد النطاق للصق معادلات الداله With ورقة1.Range("c2:c" & lr) ' c2 على سبيل المثال فى الخليه RC[-1] شرح هذا الجزء كما طلبت 'b2 انا عايزه يبص على الرقم اللى بالخليه المجاوره وهى 'c2 فهى على نفس السطر للــ b2 فعلشان اشير الى الخليه ' ولكن ليست نفس العمود فهى فى العمود اللى قبله R لذالك كتبت ' C[-1] لذالك كتبت .Formula = "=IFERROR(RANK(RC[-1],R2C2:R1000C2),0)" ' بعد لصق المعادلات فى النطاق المذكور يتم تحويل النتيجة من المعادله الى قيمه .Value = .Value End With ' مسح المحتوى لاستقبال بيانات جديده Range("i2:k50").ClearContents ' وقلت ان قيمته فى البدايه 2 b عمل متغير وسميته 'i2 الماذا 2 لان انا عايزه يلصق النتائج فى الخليه b = 2 'A عمل حلقه تكرارية بدأ من الصف الثانى الى اخر صف به بيانات بالعمود For i = 2 To lr 'هل هى اكبر من 0 واقل من 11 c لعمل اختبار للخليه اللى موجوده بالعمود if هنا استخدمت If Cells(i, 3) > 0 And Cells(i, 3) < 11 Then 'i & j & k فى حال تحقق الشرط ينسخ الخلايا فى العمود Cells(b, 9).Value = Cells(i, 1) Cells(b, 10).Value = Cells(i, 2) Cells(b, 11).Value = Cells(i, 3) 'بمقدار 1 كل لفه للحلقه b زياده المتغير b = b + 1 ' End If بــ if اغلاق End If ' عمل التالى للحلقه الى ان تنتهى من النطاق المحدد لها Next 'K2 بدأ من الخلية K وتحديد معيار الترتيب هو العمود i2:k50 عمل ترتيب تصاعدى للنطاق من ورقة1.Range("i2:k50").Sort Key1:=ورقة1.Range("k2"), Order1:=xlAscending ' لعدم الاحتياج له K مسح محتوى النطاق العمود Range("k2:k50").ClearContents ' لعدم الاحتياج له c مسح محتوى النطاق العمود Range("c2:c" & lr).ClearContents Application.ScreenUpdating = True End Sub شاهد المرفق تقبل تحياتى ---------------------------------------------------------- معرفة الصف.zip
    1 point
  18. بعد مراجعة الملف وتطبيق ما قلت تم العمل فعلا العلم نور شكرا لك استفدت من علمك بارك الله فيك
    1 point
  19. أخي الكريم معادلة بدون ملف مرفق زي السلطة من غير طماطم ممكن ترفق ملفك اللي فيه المعادلة وتشرح المطلوب أيضاً أو تشرح ما تحققه المعادلة وتريدها بالكود .. ارفق ملفك ترتاح يا قريبي ويا ريت أشوفك اسمك باللغة العربية المشاركة اللي جااااااااااااايه
    1 point
  20. اخى واستاذى الفاضل انا اسعد بمشاركة حضرتك فى اعمالك جرب المرفق ان شاء الله يعجبك تقبل تحياتى ---------------------------------------------------- معرفة الصف.zip
    1 point
  21. اساتذى واخى العزيز الفاضل / الصقر تسلم الايادى ياحبيبى وتسلم العقول النيرة الجميلة . ومن حق المسلمين ان يفخروا بأنك أحدهم بارك الله فيك . وصدقنى انا سعيد بهذة المداخلة ومرورك الكريم على طلبى وعلى هذا الكود القيم مثلك . ولكن يوجد ملحوظة بسيطة يجب ان يتداركها الكود وهو عندما كتبت حرف ( غ ) ضمن درجات العربى كمثال لطالب غائب الكود لايعمل أرجو من سيادتك حل هذة المشكلة ولكن فى النهاية تسلم الايادى والعقول وربنا يباركلنا فيك وفى انتظار حل هذة الملحوظة جزاك الله كل خير فضل حسين
    1 point
  22. اخى الكريم الاستاذ / فضل حسين جرب هذا الكود فى الملف المرفق هل هو طلبك تقبل تحياتى ---------------------------------------- معرفة الصف.zip
    1 point
  23. السلام عليكم وهذا حل آخر سريع وعملي بالجداول المحورية أنظر الفيديو المرفق ومرفق أيضا الملف Piv_Table.rar sumifs__PivTables.rar
    1 point
  24. استاذ توكل جرب المعادلة دى =SUM(SUMIF(B2:B3215;201;D2:D3213);SUMIF(B2:B3215;202;D2:D3213);SUMIF(B2:B3215;205;D2:D3213))
    1 point
  25. أخي الحبيب حسام عيسى اللي مش حارمنا من حاجة أيداً إليك أخي الكريم خليلو (الرجاء تغيير اسم الظهور للغة العربية) إليك الملف المعدل Sudoku Games (Pass_123456).rar
    1 point
  26. السّلام عليكم و رحمة الله و بركاته باسم الله .. ما شاء الله .. تبارك الله بكل إعجاب أبارك هذه اللّمسة المميّزة و الممتازة واصل إبداعاتك يا غالي .. يا " أبا يوسف " .. و أكيد منكَ .. سنستفيد بإذن الله بارك الله فيك .. جزاك الله خيرًا و زادك من علمه و فضله فائق إحتراماتي و إعجاباتي
    1 point
  27. السلام عليكم أستاذى بن عليه أثناء تجربتى لمرفق حضرتك وجدت الآتى : اذا وضعت مكونات العدد 100 ( 15 و 5 و 50 و 30 ) مثلا فى ال 4 صفوف و حذفت الكلمات الصف أ و الصف ب ...... الخ التى بأول كل صف فان الكود لا يعطى شيئا هذا دفعنى للعمل على الكود و تعديله بالكيفية الآتيه : الاستغناء عن كل التسميات فى المرفق والتى تزيد من بطء الكود و التعويض عنها بنطاقات فى الكود نفسه وهذا من شأنه اعطاء الكود مرونة وسرعة . الى جانب تعديلات أخرى بسيطة فى موضع ظهور النتائج Sub TEST2() ' Find every combination H.ben & Mokhtar 5/1/2015 Dim i As Integer Dim Adrs1 As String, Adrs2 As String, Adrs3 As String, Adrs4 As String Dim C1 As Range, C2 As Range, C3 As Range, C4 As Range, MyCel As Range Dim Rng1 As Range, Rng2 As Range, Rng3 As Range, Rng4 As Range i = 16 Set MyCel = Sheets("Sheet1").Range("E12") Set Rng1 = Sheets("Sheet1").Range(Range("B3"), Cells(3, Cells(3, Columns.Count).End(xlToLeft).Column)) Set Rng2 = Sheets("Sheet1").Range(Range("B5"), Cells(5, Cells(5, Columns.Count).End(xlToLeft).Column)) Set Rng3 = Sheets("Sheet1").Range(Range("B7"), Cells(7, Cells(7, Columns.Count).End(xlToLeft).Column)) Set Rng4 = Sheets("Sheet1").Range(Range("B9"), Cells(9, Cells(9, Columns.Count).End(xlToLeft).Column)) On Error Resume Next With Application .ScreenUpdating = False: .DisplayAlerts = False: .Calculation = xlCalculationManual End With Sheets("Sheet1").Range(Cells(16, 2), Cells(Rows.Count, 6)).ClearContents For Each C1 In Rng1 Adrs1 = C1.Address For Each C2 In Rng2 Adrs2 = C2.Address For Each C3 In Rng3 Adrs3 = C3.Address For Each C4 In Rng4 Adrs4 = C4.Address If C1 + C2 + C3 + C4 = MyCel Then Cells(i, 2) = i - 15 Cells(i, 3) = Adrs1 Cells(i, 4) = Adrs2 Cells(i, 5) = Adrs3 Cells(i, 6) = Adrs4 i = i + 1 End If Next Next Next Next On Error GoTo 0 Set MyCel = Nothing Set Rng1 = Nothing Set Rng2 = Nothing Set Rng3 = Nothing Set Rng4 = Nothing With Application .ScreenUpdating = True: .DisplayAlerts = True: .Calculation = xlCalculationAutomatic End With End Sub تحياتى لك من قلبى سيدى الفاضل الخلوق . و السلام عليكم Find every combination H.ben & Mokhtar.rar
    1 point
  28. السلام عليكم ورحمة الله أخي الكريم محمد شوقي، جرب المرفق لعل فيه المطلوب... بن علية معادلة جمع نطاق بشرطين.rar
    1 point
  29. اخي الحبيب أ / ياسر خليل يجب ان يعلم الجميع ان هذا المنتدى ملك لنا جميعا ويجب المحافظة عليه ولن يحدث ذلك الا بالمحافظة على التعليمات التي تنظم العمل داخل المنتدى حتى نستفيد جميعا من جميع الموضوعات اللهم ارزقنا واياكم العلم النافع وجزا الله كل من تعلم العلم وعلمه خير الجزاء تقبل تحياتي
    1 point
  30. لو التحديث فى المرفق الاخير كان هو ده طلب حضرتك يبقى الحمد لله انا عن نفسى لاحظت ان لا يتم التسجيل للوقت لاكثر من توقيت فى المره الواحده بتكرار الضغط على الازرار كان لابد من غلق الفورم وفتحه مره اخرى لتسجيل اكثر من قيمة واعتبرت هذا قصور من وجهة نظرى وظللت افكر لو انا فى معمل تحاليل كيميائية بما اننى كيميائى وكنت اجرى التجارب واريد ان اسجل الوقت لاكثر من مره على تجربة ما لن اقفل الفورم وافتحه لذلك قمت بهذا التعديل البسيط فى هذا المرفق اتفضل هذا التعديل ايضا وانتظر ردك اخى الحبيب stopwatch3.rar
    1 point
  31. ثالثا :- التعرف على خصائص الــ Frame من شاشة الخصائص اثناء عملية التصميم لمشاهدة خصائص الــ Frame شاهد الصوره التاليه وهذه صوره مكبره لخصائص الفريم هنمسك اهم الخصائص والاكثر شيوعا فى الاستخدام ونبدا نشرح بالتفصيل الخاصيه (Name) :- Name هو اسم الـ Frame المستخدم فى الاكواد وعند انشاء اى Frameيقوم الفيجوال بيسك بأعطاء اسم افتراضى له Frame1واذا قمنا بعمل Frame ثانى فأن الفيجوال بيسك يعطى له اسم افتراضى Frame2 وانا افضل عدم تغيير اسماء Frameالافتراضيه التى عرفها الفيجوال بيسك فعندما نريد كتابه كود خاص بالعنصر Frame فيجب علينا الالتزام بالاسم الموجود فى الخاصيه Name --------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Back Color):- هذه الخاصيه تتيح للمستخدم تغيير لون خلفية الـ Frame على اليسار يوجد سهم اضغط عليه ستظهر لك قائمة يمكنك من خلالها اختيار اللون المناسب كما يحلو لك لا نحتاج الى ارفاق صوره للتوضيح لانه نفس الشرح اللى عملناه قبل كدا فى شرح الليبل والتكس بوكس والكمبوبوكس --------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Border Color):- هذه الخاصيه تتيح للمستخدم تغيير لون حدود الـ Frame على اليسار يوجد سهم اضغط عليه ستظهر لك قائمة يمكنك من خلالها اختيار اللون المناسب كما يحلو لك --------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Caption ):- هذه الخاصيه تتيح للمستخدم كتابة عنوان للـــ Frame --------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Enabled ):- هذه الخاصيه تحمل خيارين true و False عند اختيارك true سوف يكون الــ Frame والعناصر بداخله متاحه امام المستخدم عند عمل الفورم وهو الاختيار الافتراضى للفيجوال عند اختيارك False سوف يكون الــ Frame والعناصر بداخله غير متاحه امام المستخدم عند عمل الفورم يعنى هيكون محمى --------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Font ):- هذه الخاصيه تتيح للمستخدم تغيير نوع وحجم وسماكة الخط لعنوان الـ Frame ( الذى يتم كتابته بالخاصيه Caption ) على اليسار يوجد سهم اضغط عليه ستظهر لك قائمة يمكنك من خلالها اختيار نوع وحجم وسماكة الخط كما يحلو لك --------------------------------------------------------------------------------------------------------------------------- الخاصيه ( ForeColor ):- هذه الخاصيه تتيح للمستخدم لون الخط لعنوان الـ Frame ( الذى يتم كتابته بالخاصيه Caption ) ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Height ):- هذه الخاصيه تتيح للمستخدم التحكم فى ارتفاع الـ Frame فيمكنك أما من خلال التصميم السحب بالماوس للاسفل لتحديد الارتفاع للـ Frameأو كتابة رقم للارتفاع فى الخاصيه Height ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Left ):- هذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ Frame عن الضلع الايسر من الفورم ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Top ):- هذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ Frame عن الضلع الاعلى من الفورم ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Width ):- هذه الخاصيه تتيح للمستخدم التحكم فى عرض الـ Frame فيمكنك أما من خلال التصميم السحب بالماوس يميناً أو يساراً لتحديد عرض الـ Frameأو كتابة رقم للعرض فى الخاصيه Width ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Visible ):- وهذه الخاصيه تتيح للمستخدم التحكم فى ظهور او عدم ظهور الــ Frame عند عرض الفورم وعند الضغط على السهم المجاور لها ستجد لها خيارين True و False عندد اختيار True سوف يظهر الـ Frame على الفورم عند فتحه ( وهذا هو الخيار الافتراضى من الفيجوال بيسك ) وعند اختيار False ٍسوف يختفى الـ Frame على الفورم عند فتحه يعنى هيكون غير ظاهر ومخفى لا يراه المستخدم ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( ٍِSpecial Effect ):- هذه الخاصيه للـ Frame تعطى اشكال مبهره ومميزه للـ Frame على اليسار ستجد سهم اضغط عليه ستظهر لك قائمة وبها خمس خيارات جرب الخيارات ثم اختر الشكل المناسب لذوقك ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( ٍِScrollBars ):- هذه الخاصيه من أهم الخصائص للـ Frame لانها تتيح للمستخدم عمل سكرول بار رأسى أو أفقى أو رأسى وأفقى أو بدون سكرول بار نهائيا شاهد الصوره التاليه الاختيار الاول : - fmScrollBarsNone وهو الاختيار الافتراضى للفيجوال وهو جعل الـ Frame بدون سكرول بار لا رأسى ولا أوفقى الاختيار الثانى:- fmScrollBarsHorizontal وهو جعل الـ Frame باسكرول بار افقى الاختيار الثالث:- fmScrollBarsVertical وهو جعل الـ Frame باسكرول بار راسى الاختيار الرابع:- fmScrollBarsBoth وهو جعل الـ Frame باسكرول بار رأسى و أفقى ( الاتنين معا ) ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( ٍِScrollHeight ):- عند اختيارك من الخاصيه ScrollBars الاختيار الثالث fmScrollBarsVertical أو الاختيار الرابع fmScrollBarsBoth فيجب تحديد ارتفاع الاسكرول بار بكتابة رقم فى الخاصيه ScrollHeight ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( ٍِScrollWidth ):- عند اختيارك من الخاصيه ScrollBars الاختيار الثانى fmScrollBarsVertical أو الاختيار الرابع fmScrollBarsBoth فيجب تحديد عرض الاسكرول بار بكتابة رقم فى الخاصيه ScrollWidth ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( ٍِScrollLeft ):- هذه الخاصيه مرتبطه بالخاصيه ScrollWidth تتيح لنا تحديد كم يبعد الاسكرول بار الافقى عن عن الضلع الايسر للفريم عند فتح الفورم ------------------------------------------------------------------------------------------------------------------------ الخاصيه ( ٍِScrollTop ):- هذه الخاصيه مرتبطه بالخاصيه ScrollHeight فهى تتيح لنا تحديد كم يبعد الاسكرول بار الراسىعن عن الضلع الاعلى للفريم عند فتح الفورم ------------------------------------------------------------------------------------------------------------------------ طبعا انا عارف ان الخاصيه ScrollWidth & ScrollLeft & ScrollHeight & ScrollTop غير واضحه لكم لذالك هنقوم بشرح مثال عملى حتى تتضح لنا الصوره كامله عن هذه الخصائص فى عمل اسكرول بار والتحكم فيه مثال 1 :- عمل اسكرول بار رأسى والتحكم فى شريط التمرير فى هذه الصوره نريد عما اسكرول بار رأسى للفريم شاهد اول خطوه لماذا لم يظهر شريط التمريرداخل الاسكرول بار ؟؟؟؟؟ سامع ياسر العربى بيرد عليا وبيقول لان الخاصيه ScrollHeight = 0 هقوله برافوووووووووو طيب يالا نكتب رقم ارتفاع الاسكرول بار وليكن 100 الترجمه الحرفيه لكلمة ScrollHeight تعنى ارتفاع شريط التمرير شاهد الصوره بعد ما نكتب رقم ارتفاع الاسكرول ارتفاعه =100 للاسف يا عم ياسر كتبنا ارتفاعه 100 ومازال لا يوجد شريط تمرير ترى ما السبب ؟؟ رد عليا الاخ عبدالعزيز البسكرى قاعد صاحى معانا ومركز وقال لان ارتفاع الفريم فى الخاصيه Height = 270 وارتفاع شريط التمرير 100 برافووووو فأرتفاع الفريم اكبر من ارتفاع شريط التمرير لذالك لا يظهر الفايده من شريط التمرير الوصول الى المساحه اللى اكبر من ارتفاع الفريم نفسة لانها غير ظاهره فتعالو نكتب ارتفاع شريط التمرير وليكن 270 ونشوف ايه اللى هيحصل شاهد الصوره شاهد الصوره ارتفاع الفريم يساوى ارتفاع شريط التمرير = 270 لذالك ظهر شريط التمرير لكن لما تيجى تحركه مفيش مساحه مساحه هيتحرك فيها جرب تضغط على السهم اللى بالاعلى او الاسهم اللى بالاسفل اللى موجود بالاسكرول بار ستجد ان الشريط لا يتحرك لانه مساوى للفريم بالارتفاع فمش قادر يتحرك مفيش مساحه يتحرك فيها طيب تعالو نكتب ارتفاع شريط التمرير وليكن 300 ونشوف ايه اللى هيحصل شاهد الصوره طيب كدا عرفنا ازاى نعمل اسكرول بار راسى من الخاصيه ScrollBars وذالك من خلال اختيار fmScrollBarsVertical وعرفنا ايضا ازاى نتحكم فى ارتفاع الشريط من الخاصيه ScrollHeight عايزين نعرف ازاى نتحكم فى موضوع الشريط عند فتح الفورم يعنى فين تكون بدايته هنا تاتى اهمية الخاصيه ScrollTop تعالو نشوف الصوره دى كدا انتهينا من المثال الاول وعرفنا ازاى نعمل اسكرول بار رأسى ونتحكم فى ارتفاع شريط التمرير وكمان نتحكم فى بداية الشريط عند فتح الفورم ---------------------------------------------------------------------------------------------------------------- مثال 2 :- عمل اسكرول بار أفقى والتحكم فى شريط التمرير فى هذه الصوره نريد عما اسكرول بار رأسى للفريم شاهد اول خطوه لماذا لم يظهر شريط التمريرداخل الاسكرول بار ؟؟؟؟؟ سامع ابويوسف بيرد عليا وبيقول لان الخاصيه ScrollWidth = 0 هقوله برافوووووووووو طيب يالا نكتب رقم ارتفاع الاسكرول بار وليكن 200 الترجمه الحرفيه لكلمة ScrollWidth تعنى عرض شريط التمرير شاهد الصوره بعد ما نكتب رقم العرض للاسكرول عرضه = 200 للاسف يا ابويوسف كتبنا عرض 200 ومازال لا يوجد شريط تمرير ترى ما السبب ؟؟ رد عليا الاخ ابوالبراء قاعد صاحى معانا ومركز وقال لان عرض الفريم فى الخاصيه Width = 360 وعرض شريط التمرير 200 برافووووو فعرض الفريم اكبر من عرض شريط التمرير لذالك لا يظهر الفايده من شريط التمرير الوصول الى المساحه اللى اكبر من عرض الفريم نفسة لانها غير ظاهره فتعالو نكتب عرض شريط التمرير وليكن 360 ونشوف ايه اللى هيحصل شاهد الصوره شاهد الصوره عرض الفريم يساوى عرض شريط التمرير = 360 لذالك ظهر شريط التمرير لكن لما تيجى تحركه مفيش مساحه مساحه هيتحرك فيها جرب تضغط على السهم اللى بالايمن او الاسهم اللى بالايسر اللى موجود بالاسكرول بار ستجد ان الشريط لا يتحرك لانه مساوى للفريم بالعرض فمش قادر يتحرك مفيش مساحه يتحرك فيها طيب تعالو نكتب عرض شريط التمرير وليكن 450 ونشوف ايه اللى هيحصل شاهد الصوره طيب كدا عرفنا ازاى نعمل اسكرول بار افقى من الخاصيه ScrollBars وذالك من خلال اختيار fmScrollBarsHorizontal وعرفنا ايضا ازاى نتحكم فى ارتفاع الشريط من الخاصيه ScrollWidth عايزين نعرف ازاى نتحكم فى موضوع الشريط عند فتح الفورم يعنى فين تكون بدايته هنا تاتى اهمية الخاصيه ScrollLeft تعالو نشوف الصوره دى كدا انتهينا من المثال الثانى وعرفنا ازاى نعمل اسكرول بار افقى ونتحكم فى عرض شريط التمرير وكمان نتحكم فى بداية الشريط عند فتح الفورم ---------------------------------------------------------------------------------------------------------------- محلوظه مهمه جدا : انا شرحت على الصوره التاليه وهى كما نرى لا تحتاج عمل اسكرول بار لان كافه العناصر اللى بالفريم ظاهره وعرض الفريم مناسب لها لذالك انصح بأنه لا نلجأ لعمل سكرول بار سواء افقى او راسى او الاتنين معا الا اذا كان العناصر بالفريم كتيره وانا مش عايز اكبر حجم الفريم حتى لا يأخذ مساحه على الفورم فوقتها نلجأ للاسكرول بار **************************************************************************************** الى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد ان شاء الله هيكون عن التعامل مع خصائص الــ Frame فى لغة البرمجه انتظرونا تقبلوا تحياتى
    1 point
  32. الطريقه الٍسادسه :- تعبئه الكمبوبوكس باستخدام الحلقه التكراريه For Each (طريقه احترافيه) لو عندى شيت زى كدا وفيه بيانات وعايز اقوم بتعبئة الكمبوبوكس بالبيانات المظلله باللون الاخضر شاهد الصوره مثال :- مطلوب تعبئة الكمبوبوكس 1 بالبيانات المظلله باللون الاخضر هنعمل الكود التالى With ComboBox1 For Each Data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) .AddItem Data .List(.ListCount - 1, 1) = Data.Offset(0, 1).Value Next End With نشرح الكود ونمشى وحده وحده ونشوف ازى تم كتابته بالسطر الاول استخدمنا With ComboBox1 يعنى بنقول للكود الشغل بتاعنا هيكون مع الكمبوبوكس 1 ( الكمبوبوكس المطلوب تعبئته ) وطبعا طالما فتحنا With يبقى لازم نقفلها بــ End With زى كدا With ComboBox1 End With السطر التانى استخدمنا الحلقه التكرارية For Each وسميت الحلقه بأسم Data (وممكن تسميها اى اسم او احرف اخرى كما يحلو لك ) Data موجوده فى اى نطاق قلتله موجود فى النطاق من A2 الى اخر خلية بها بيانات فى العمود A ( وطبعا عرفنا ازاى قبل كدا نعرف اخر صف به بيانات فى اى شيت وفى اى عمود ) وكدا الحلقه التكرارية هتبدأ تلف على كل خليه فى النطاق المذكور بدأ من الخلية A2 وطبعا لازم نقفل الحلقه بـ Next For Each Data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) Next فلحلقه لما تبدأ هيكون Data = A2 Next الكود هيروح للخليه اللى بعدها Data = A3 Next الكود هيروح للخليه اللى بعدها Data = A4 Next الكود هيروح للخليه اللى بعدها وهكذا حتى يصل الى اخر خليه بها بيانات بالعمود وهى A11 كدا الحلقه بتلف بدون فائده او بالادق بدون مهمه تنفذها مجرد فقط انه بيلف انا عايز استفيد من الفه بتاعته دى فنعمل ايه هقوله وانت بتلف اعمل حاجتين خلى Data اللى هى فى اول لفه هتكون قيمتها A2 دخلها فى العمود الاول للكمبوبوكس ( ملحوظه العمود الاول فى الكمبوبوكس بيكون رقمه 0 والخليه المجاورة لها بالعمود B اللى هى B2 دخلها بالعمود الثانى بالكمبوبوكس ( ملحوظه العمود الثانى بيكون رقمه 1 ) وهكذا وهو بيمر على كل خليه بالنطاق هيعمل كدا .AddItem Data .List(.ListCount - 1, 1) = Data.Offset(0, 1).Value ترتيب الاعمده فى الكمبوبوكس بيدأ من 0 وكذالك ترتيب الصفوف بيدأ من 0 AddItem هى العمود رقم 0 فى الكمبوبوكس والعمود ده يساوى Data اللى هى كل خليه هتمر فيها الحلقه اللى هى اسماء العملاء بالعمود A والعمود رقم 1 فى الكمبوبوكس هو (List(.ListCount - 1, 1. هيظهر فيه كود العميل اللى بالعمود B (رقم العمود , صفوف الكمبوبوكس)List. صفوف الكمبوبوكس بتبدأ من 0 زى ما قلت علشان كدا قلت ان صفوف الكمبوبوكس - 1 **** ListCount - 1. طيب العمود رقم 1 عايزين نظهر فيه الكود اللى بالعمود B بالشيت فنعمل ايه Data.Offset(0, 1).Value= هنا استخدمنا الداله offset فى اول لفه للحلقه هيكون Data = A2 فأنا بقوله انتقل من A2 بمقدار صف 0 والعمود 1 ( يعنى ايه صف 0 يعنى نفس الصف والعمود واحد يعنى تحرك وروح للعمود B اخر شئ طبعا الكود ده وقت تنفيذه انت اللى بتحدده ولكن على سبيل المثال انا عايز اكتبه فى حدث تشغيل الفورم فيكون كالتالى Private Sub UserForm_Initialize() With ComboBox1 For Each Data In Sheet1.Range("A2:A" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) .AddItem Data .List(.ListCount - 1, 1) = Data.Offset(0, 1).Value Next End With End Sub والى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد وطريقه اخرى من طرق تعبئة الكمبوبوكس الطريقه القادمه هنعرف ازاى نجلب البيانات بالكمبوبوكس دون تكرار انتظرونا تقبلوا تحياتى
    1 point
  33. تفضل اخي الكريم اذكرني بدعوة صادقة لي ولوالدي رابط خارجي https://drive.google.com/file/d/0ByK3PmWwl-ciMTVxYVVHRVd1dzA/view?usp=docslist_api برجاء فك الضغط في البارتشن D اسم المستخدم/xpcode كلمة المرور/1234 تحياتي لك
    1 point
  34. لا , الكود هو نفسه كود الاستعلام "insert into table1 (nem,nnumber,tele,amount) values (nem,nnumber,tele,amount)" لو نظرت جملة ال sql في الاستعلام فهو نفسه تماما الذي اختلف هو فقط استدعاء جملة ال sql بواسطة الأمر docmd.runsql بهذا الأمر تستطيع تنفيذ اي جملة استعلام
    1 point
  35. مثال على كيفية التحكم بترتيب عناصر لائحة ListBox من خلال زر أمر افتح الملف تجد على اليسار مربع تحرير و سرد , اختر منه احدى القيمتين , تجد البيانات الخاصة بالموظف قد عرضت في اللائحة التي على اليمين الآن في أعلى اللائحة يوجد زري أمري Order by ID أي تريتب البيانات حسب الرقم المعرف Order by Title أي ترتيب البيانات حسب الوصف يمكنك النقر على أي من هذين الزرين لاعادة الترتيب حسب أي عمود , كما يمكنك فرز تلك البيانات تصاعديا أو تنازليا , حسب اتجاه السهم الموجود في زر الأمر المذكور OrderListBox2k.rar
    1 point
×
×
  • اضف...

Important Information