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

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

  1. rudwan

    rudwan

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


    • نقاط

      12

    • Posts

      2,926


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

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

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


    • نقاط

      8

    • Posts

      13,165


  3. الجموعي

    الجموعي

    الخبراء


    • نقاط

      5

    • Posts

      703


  4. ابو تراب

    ابو تراب

    الخبراء


    • نقاط

      5

    • Posts

      393


Popular Content

Showing content with the highest reputation on 21 ينا, 2015 in all areas

  1. برنامج شئون الموظفين يعمل بالتاريخين الهجرى والميلادى. امكانية البحث برقم الموظف . امكانية ربط الموظف بصورة الموظف من اى مكان من الحاسب (وليس وضع الصور بجانب الملف كما كان مسبقا). امكانية حذف موظف او تعديل بيانات الموظف . اصدار تقارير عن موظف واحد بطباعة بياناته فى صفحة مستقلة. امكانية تصدير التقارير لملف اكسيل جديد باسم جديد. البحث بين تاريخين . امكانية طباعة عدد من الموظفين سواء (اسم الموظف - الراتب - الاقامات - الادارة التابع لها - او اى بيانات مدخلة ). التحكم فى تغيير اسم الشركة . نافذة امان قبل الدخول للبرنامج بكلمة مرور يمكن اظهار النافذة او اغلقها. امكانية التحكم فى اعدادات المظهر (خلفية البرنامج - لون الخط ). للاطلاع عن المزيد من الصور والشرح للبرنامج من هنا او الاطلاع على دليل المستخدم من البرنامج شكر خاص للأستاذ/ عبد الله باقشير حيث استخدمت الكثير من اكواده الاكثر من رائعه وكذلك باقى الاعضاء الاخرين ملاحظة : باسورد نافذة الامان الافتراضى 12345 باسورد vba وقاعدة البيانات وفتح الملف 12345 لابد من تمكين الماكرو ليعمل الملف فى النهاية نسألكم الدعاء بظهر الغيب emp.rar
    3 points
  2. السلام عليكم المنتدى نايم بحاول أصحي الناس والناس بردو نايمه .. خير اللهم اجعله خير ... هو فيه مبارة كرة قدم ولا الناس كسلانة ولا تعبانة طيب للي مهتم بالأمر .. هل ترغب أن يقوم الإكسيل بالحفظ التلقائي كل 10 ثواني مثلا .. في حدث الورقة ضع الكود التالي Private Sub Workbook_BeforeClose(Cancel As Boolean) StopTimer End Sub Private Sub Workbook_Open() StartTimer End Sub وفي موديول جديد ضع الكود التالي Public RunWhen As Double Public Const cRunIntervalSeconds = 10 Public Const cRunWhat = "The_Sub" Sub StartTimer() RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds) Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _ schedule:=True End Sub Sub The_Sub() ActiveWorkbook.Save StartTimer End Sub Sub StopTimer() On Error Resume Next Application.OnTime earliesttime:=RunWhen, _ procedure:=cRunWhat, schedule:=False End Sub ويمكنك بالطبع تغيير الوقت المراد عمل الحفظ التلقائي على أساسه من خلال السطر الثاني Public Const cRunIntervalSeconds = 10 إليكم الملف المرفق Auto Save Every 10 Seconds.rar
    2 points
  3. السلام عليكم ورحمة الله وبركاته اعضاء منتدانا الكرام هذه محاولة لعمل رسالة تلميحية لخلية بالاكواد ارجوا ان تنال اعجابكم. اعلم انه يمكنك عملها عن طريق اضافة تعليق و لكن هذه محاول عبر الكود بحيث يظهر التلميح عند اختيار الخلية المناسبة. الفكرة هى وضع شكل Shape و تنسيقه و من ثم تسميته بما تشاء (اسميته هنا بـ CellTip) بعدها يمكنك التحكم به كما في الكود التالي: Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet.Shapes("CellTip") If Not Intersect(Target, Range("B3:D12")) Is Nothing And Target.Count = 1 Then .Top = Target.Top + 20 .Left = Target.Left With .TextFrame2.TextRange.Characters Select Case Target.Column Case 2: .Text = "الاسم الأول متبوع بأسم العائلة" ' B = الاسم Case 3: .Text = "العمر بالسنوات" ' C = العمر Case 4: .Text = "عنوان الاقامة الحالي" ' D = العنوان End Select End With .Visible = True Else .Visible = False End If End With End Sub لمزيد من التوضيح انظر الملف المرفق. الحمد لله وحده الذي بنعمه تتم الصالحات Cell Tip.zip
    2 points
  4. السلام عليكم و رحمة الله و بركاته اضطر غدا صباحا لسفر اضطراري قد يستغرق اسبوعا أو أكثر لذلك أعتذر ممن بدأت لهم مواضيع لم تكتمل بعد اما أن تعذرونني و تنتظرون الاكمال بعد عودتي أو اذا ممكن أحد من الزملاء ممن لديه وقت يكمل مابدأت به بالنسبة للشرح العادي بدون مرفقات لامانع قد أتمكن من القراءة و الرد من حين لآخر , لكن دون امكانية النظر في المرفقات تحياتي لكم
    2 points
  5. تفضل أخى المظلوب وللأسف تم عملة بالكود لأن بالمعادلات ستكون طويلة بعض الشئ تقبل تحياتى جلب أجازات موظف.rar
    2 points
  6. الاخوه الكرام طبعا من بدأ عرض فكره استخدام TAG هو الاخ الجموعى بارك الله فيه ولكن اسمحو لى بعرض مثال يبسط الفكره اكثر وهذا من وجهه نظرى تقبلو تحياتى Private Sub CommandButton1_Click() Dim Ctl As Control Dim Ctl1 As Control Dim i As Integer Dim i1 As Integer For Each Ctl In UserForm1.Controls If Not Ctl.Tag = "" Then For i1 = 1 To 1 ' åäÇ íÊã ÇÚØÇÁ Çááæä ÇáÇÍãÑ áÇì ßäÊÑæá ÞíãÉ ÇáÊÇÌ ÝíåÇ ÊÓÇæì ÇáÑÞã 1 If Ctl.Tag = i1 Then Ctl.BackColor = vbRed End If Next For i = 2 To 4 ' åäÇ íÊã ÇÚØÇÁ Çááæä ÇáÇÕÝÑ áÇì ßäÊÑæá ÞíãÉ ÇáÊÇÌ ÝíåÇ ÊäÍÕÑ Èíä ÇáÑÞã 2 æÇáÑÞã 4 If Ctl.Tag = i Then Ctl.BackColor = vbYellow End If Next End If Next End Sub TAG.rar
    2 points
  7. السلام عليكم ورحمة الله تعالى وبركاته اخواني في المنتدى اقدم لكم هذا الملف الترحيل بواسطة خاصية TAG الفكرة في الفورم عمل ترقيم لكل مربع نص او كمبوبوكس بترتيب الاعمدة باستخدام TAG التكست بوكس الاول بياناته يتم ترحيلها للعمود 1 إذن يحمل التاج 1 التانى بياناته يتم ترحيلها للعمود 2 إذن يحمل التاج 2 التالث بياناته يتم ترحيلها للعمود 5 إذن يحمل التاج 5 الكمبوبوكس الأول بياناته يتم ترحيلها للعمود 3 إذن يحمل التاج 3 التانى بياناته يتم ترحيلها للعمود 4 إذن يحمل التاج 4 لاحظ الصورة التالية اتمنى ان اكون وفقت في ايصال المعلومة خالص تحياتي الترحيل بواسطة خاصية tag.rar
    2 points
  8. الاخ الكريم (الصقر) الحقيقة مقدرش اقول لحضرتك غير جزاك الله عنى كل الخير الحمد لله الملف التانى حقق كل الى كنت بتمناه وانا دخلت على كود الحفظ وضبت الزمن ل3 ثوانى ودخلت على كود الزمن واضفت خليه لاضافة التاريخ عموما ليك كل الشكر ولكل الى فى المنتدى كل التحية بصراحة اول مرة اتعامل مع المنتدى ومكتشمتخيل سرعة الاستجابة وتحقيق مطلبى وحل مشكلتى امنياتى بدوام النجاح
    2 points
  9. ماشاء الله عليك استاذ سليم .. طريقة ممتازة للبحث و عرض النتائج.. الى الان وجدت ثلاثة مهارات في ملف واحد .. البحث عن طريق Find و FindNext و معادلة عرض النتائج و كذلك برمجة Format Condition شكرا الله لك عن كل حرف كتبت
    2 points
  10. معذرة استاذ عبدالرحمن والله شاركة هنا بدون لا اعلم فتح الموضوع هنا http://www.officena.net/ib/index.php?showtopic=58443 وعتب عليك خالد لفتح الموضوع مرتين
    2 points
  11. طريقة عمل شاشة ( فورم ) ادخال وترحيل واستعلام وتعديل !! خطوة خطوة السلام عليكم اساتذة المنتدي وخبراؤه الكبار الاخوة الافاضل اعلم ان هذه الموضوعات قد قتلت بحثا وطلبا واجابة من الاعضاء وهناك امثلة كثيرة للاساتذة الافاضل الكبار والذي لايصل علمنا او ما لدينا كله الي ذرة واحدة من علمهم ولكني اردت ان اجعل المواضيع الاساسية في عمل اي برنامج في متناول الجميع بطريقة بسيطة وسهله اكثر ما يكون من خلال هذه السلسلة ( اعانني الله علي اكمالها كما ينبغي ) وقصدت ان يكون الموضوع بعنوان واضح ليستفيد منه الجميع عند البحث وسأقدم الشرح بطريقة الفيديو والاكسيل والورد احياناً (((( الدرس الاول )))) شاشة ( فورم ) لادخال بيانات والقيام بتسجيل وترحيل هذه البيانات الي صفحة الاكسيل و الاستعلام من خلالها عن طريق نفس الفورم والتعديل ايضا في البيانات في حالة ما اردنا التعديل في بيان قد سبق ادخاله وطبعاً والاكيد كله من علمكم اساتذتي الكرام الاجلاء وفي الدرس القادم سنتعرف علي بعض الاكواد المعاونة لشاشة الادخال او بمعني ادق اكواد نحتاجها مع شاشة الادخال مثل (تنسيق التكست بوكس ، الترقيم التلقائي في تكست معين ، تنسيق التاريخ في التكست بوكس .... ) واي استفسار .... في الخدمة دائما ... واي شئ غير واضح في الشرح علي استعداد تام لشرحه مرة اخري ومرات اخري واليكم ايضا في المرفقات : 1- ملف اكسيل به الاكواد والشرح هذه المرة داخل الكود ( تم شرح الكود سطر سطر بطريقة وافية وبسيطة جدا داخل الكود نفسه ) 2- عدد ( 3 ) ملف فيديو يشرح طريقة التصميم واضافة الاكواد وكذلك مشاهدة النتيجة جزاكم الله خيرا اساتذتنا اكسيل ..طريقة عمل شاشة ادخال 1.rar فيديو 1 .. طريقة عمل شاشة ادخال 1.rar الملف الفيديو الثاني والثالث في المشاركة التالية حيث لم يمكنني اضافتهم هنا
    1 point
  12. السلام عليكم ورحمة الله وبركاته إخواني الكرام في الصرح العملاق أوفيسنا (الذي يعتبر بمثابة الأم التي تحتضن أبناء الوطن جميعهم) أقدم لكم موضوع بسيط جدا في كيفية تظليل عمود وصف الخلية النشطة بناءً على رغبة الأخ الحبيب أحمد غانم (حفظه الله ورعاه) إذا أردت تنفيذ الفكرة بنفسك قم بعمل الآتي : أولاً حدد خلايا ورقة العمل بأكملها ..مش صعبة يا أحمد ثانياً روح للتنسيق الشرطي ..واختار New Rule ثم Use a formula to determine which cells to format ثم اكتب المعادلة التالية : =COLUMN()=COLUMN(INDIRECT($P$1)) اضغط Format ثم التبويب Fill واختار اللون اللي على مزاجك (يا لذيذ يا رايق) كرر نفس الخطوات السابقة مرة أخرى واكتب المعادلة التالية أيضاً .. =ROW()=ROW(INDIRECT($P$1)) ثالثاً : كليك يمين على ورقة العمل ثم View Code واكتب الكود التالي : Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.ScreenUpdating = False Range("P1").Value = Target.Address Application.ScreenUpdating = True End Sub رابعاً ودي أهم خطوة : بس خلاص جرب الملف المرفق .. في الملف المرفق قمت بتلوين بعض النطاقات ، وعمل تنسيق شرطي للتأكد من أن الكود لا يؤثر بأي حال على التنسيق الشرطي الموجود ولا على الخلايا التي تم تلوينها من قبل ، ويسمح أيضاً بتلوين أي خلايا تريدها Highlight Activecell's Row And Column V2.rar
    1 point
  13. بسم الله الرحمن الرحيم الاخوة الاعزاء أقدم لكم اليوم شرح مبسط عن الحلقه التكرارية For next انا هبدأ على طول بالامثله العمليه والتطبيقية حتى يتضح لنا ما معنى الحلقه وفيما تستخدم مثال 1 عدد عشرة صناديق ( كنت عامل رسم عشر صناديق لكن للاسف عند الحفظ طلب تقليل الوجوه التعبيريه) وهو ايه الصناديق دى ؟؟ / هقولك الصناديق دى كنوز وهدايا فيهم صندوق منهم فى ساعه هدية لحبيبى ياسر خليل انا بصراحه مش عارف ايه المناسبة بس اهو هدية وخلاص حبيبنا برضوا ولازم نكرمه معلش يا عم ياسر هنتعب واحد دلوقتى علشان يروح يجيب لك الساعه انتظر شوية وهتيجى لك الساعه لحد عندك انت غالى برضوا ولا ايه صحيح دا واحد صاحبنا قاعد مبسوط لانه بيسمع الماتش و الاهلى جاب جون امه هتنادم عليه ( مش هتنادى عليه ) هتنادم يعنى هيندم على اليوم اللى اتولد فيه طب ليه؟ لان أمه هتقوله روح للصناديق اللى فوق افتح صندوق صندوق وتعالى هههههههه أول شئ هتلاقى وشه عامل كدا زى ابولهب المهم صحبنا ده هيروح ياعينى للصناديق ويفتح العشرصناديق صندوق صندوق ويرجع طبعا لما يرجع هيعمل لامه كدا ويزعق انا عايز افهم انتى قلتى روح ليه ايه الفايده انى افتح الصناديق بس ضيعتى عليا الماتش لو عايزين نطبق الكلام الحلو ده بس بلغه Vba بتاعة عمنا بيل جيتس Sub hossam() For i = 1 To 10 Next End Sub هنا اول سطر الاعلان عن بداية الكود / السطر الثانى عملنا حلقه تكرارية For واسمها i اللى هو بالمثال فوق الصناديق وممكن تسميه اى حرف اخر كيفما يحلو لك وقلنا ان الصناديق تبدأ من اول صندوق الى اخر صندوق وهو 10 / السطر الثالث هو next وهى تعنى التالى صاحبنا هيروح لاول صندوق ويفتحه وبعدها يروح للصندوق الثانى ويفتحه يخلص وبعدها يروح للصندوق الثالث ويفتحه وهكذا والسطر الرابع يعنى نهاية الكود طبعا الكود ده ما فى منه اى فايده ليه يا عم لانك مقلتش له مهمه ينفذها انت بس قلتله لف على الصناديق زى لف التراك كدا ********************************************************************************************* مثال 2 الحاجه وابنها اللى فى المثال الاول هتقوله يابنى روح للصناديق وهات الساعه لعمك ياسر / افتح صندوق صندوق لو لقيت صندوق منهم فى ساعه مكتوب عليها هدية لعمك ياسر هتها وتعالى قالها وافرض لقيت الساعه باول صندوق ارجع ومكملش ههههههههههههههههه ولد زكى امه قالت له لا يا حبيبى افتح برضوا كل الصناديق افتحهم كلهم حتى لو لقيت الساعه فى اول صندوق طبعا صاحبنا هيعمل كدا الغيظ يا عينى هيطق من عينيه لو حبينا بقى نعمل الكلام ده بالبرمجه بالكود يعنى نعمل ايه Sub hossam() For i = 1 To 10 If "لو اى صندوق جواه ساعه " Then "طلع الساعه من الصندوق " End If Next End Sub الجديد هنا اننا استخدمنا قاعدة If يعنى شرط للمأمورية اللى هيقوم بها صاحبنا مش هيروح يفتح فى الصناديق بس ويرجع زى المره الاولى *********************************************************************************************** مثال 3 صاحبنا اللى فوق ده امه قررت انها تريحه وقالت له افتحى الصناديق يا حبيبى ولو لقيت صندوق فى الساعه هاتها وارجع ومتكملش فتح الباقى صاحبنا قال طيب وراح بدأ يفتح فى الصناديق اول صندوق ملقاش الثانى ملقاش الثالث ملقاش الرابع لقى الساعه جابه ورجع وقال يا فكيك مش هكمل فتح الباقى علشان نعمل الكلام ده بالكود هيكون كدا نفس الكود السابق بس اضافه حاجه صغيره جدا Sub hossam() For i = 1 To 10 If "لو اى صندوق جواه ساعه " Then "طلع الساعه من الصندوق " Exit For End If Next End Sub يعنى عندما يتحقق الشرط ارجع واخرج من الحلقه اللى هى For ومتكملش ******************************************************************************************** مثال 4 عايزين نطبق الكلام الحلو ده بس على امثله بالاكسيل فى الامثله السابقه هنستبدل الصناديق بالخلايا من A1:A10 وهيكون الساعه موجوده فى محتوى الخلايا معانا صوره فيها بيانات من الخلية A1 : A 10 لما نطبق الكود دا Sub hossam() For i = 1 To 10 If Cells(i, "A") = "ساعه" Then Cells(i, "B") = "مبروك" End If Next End Sub حته على الهامش cells تكتب هكذا ( العمود , الصف ) cells فى الكود اعلاه الصف هو i والعمود هو A وتم وضعه بين علامتى تنصيص "A" لما نطبق الكود هنلاقى النتيجة كما هو موضح بالصورة ********************************************************************* مثال 5 لو عايزين الكود لما يلاقى ساعه يطلع وميكملش هنضيف زى ما كلنا Exit For ويكون الكود كدا Sub hossam() For i = 1 To 10 If Cells(i, "A") = "ساعه" Then Cells(i, "B") = "مبروك" Exit For End If Next End Sub وهتلاقى النتيجة كما هو بالصورة مبين ********************************************************************************************* مثال 6 من الوضح ان الامثله السابقه الحلقه تبدا من 1 الى 10 أى معلوم بدايتها ونهايتها طيب لو عندى حلقه معلوم بدايتها وغير معلوم نهايتها يعنى العمود A البيانات فيه متغيره وفى ازدياد فى هذه الحاله نستخدم تعريف اخر خليه بها بيانات فى العمود كالتالى nn = Cells(Rows.Count, "A").End(xlUp).Row nn هنا هو تعريف اخر خليه بها بيانات ويتم استخدمها بالكود بعد ذالك بدل من كتابة Cells(Rows.Count, "A").End(xlUp).Row كل مره ( طبعا يمكن تغيرها الى اى حروف انت تحبها وبكدا هيكون الحلقه كالتالى For i = 1 To nn والكود كامل هيكون كدا Sub hossam() nn = Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To nn If Cells(i, "A") = "ساعه" Then Cells(i, "B") = "مبروك" Exit For End If Next End Sub ************************************************************************ مثال 7 كل الشغل اللى معمول ده على ان الحلقه بتعمل على الصفوف طيب انا عايزها تعمل على الاعمده يعنى الشكل زى الصورة دى بفرض انه غير معلوم اخر خليه بها بيانات فى الصف 1 هنعمل تعريف لها كالتالى nn = Cells(1, Columns.Count).End(xlToLeft).Column هو نفس تعريف اخر صف كما قلنا سابقا ولكن بختلاف ترتيب Cells عايزكم انتم تلاحظو الفرق الكود هيكون كالتالى Sub hossam() nn = Cells(1, Columns.Count).End(xlToLeft).Column For i = 1 To nn If Cells(1, i) = "ساعه" Then Cells(2, i) = "مبروك" Exit For End If Next End Sub الاختلاف هنا عن الكود بالمثال هو تعريف nn كما وضحنا سابقا وايضا فى ( Cells(1, i هنا cells الصف ثابت وهو 1 والعمود هو المتغيير i ولو ضغطنا على الزر سيكون نتيجة الكود كالتالى كما هو مبين بالصورة ************************************************************************************************* مثال 8 الصور الذى تم الشرح عليها كلها فى الورقه 1 من الملف يعنى البيانات ونتيجة البيانات كانت بنفس الورقة انا عايز اروح للورقه 2 واعمل زر واعيين عليه الماكرو بس حلقه For هتبحث عن البيانات بالورقه 1 هنعمل ايه امر بسيط جدا هنستخدم With وطبعا هنقفلها ب End With Sub hossam() With Sheet1 nn = Cells(1, Columns.Count).End(xlToLeft).Column For i = 1 To nn If .Cells(1, i) = "ساعه" Then [A1] = "مبروك" Exit For End If Next End With End Sub طبعا هو نفس الكود اللى بالمثال 7 والجديد هو استخدمنا With Sheet1 فى بداية الكود وقفلناه قبل نهاية الكود ب End With وقلنا لو تحقق الشرط خلى الخليه A1 = "مبروك" كما هو موضح بالصورتين صورة الورقه 1 اللى بها البيانات صورة الورقه 2 عند الضغط على الزر وظهور مبروك بالخلية A1 ********************************************************************************************** تعبت الولد معك يا عم ياسر المهم الحمد لله الولد نجح بالمهمه وجاب لك الساعه ودلوقتى بيتفرج على الماتش والاهلى جاب جون تانى والفرحه مش سيعاه *************************************************************************** أتمنى يارب أكون وفقت بالشرح ويكون سهل للاخوة الجدد المهتمين بالتعلم VBA يمكنكم شرح افضل من هذا على الرابط من اعمال الاخ الحبيب ياسرخليل حلقات افتح الباب يا عبدالتواب http://www.officena.net/ib/index.php?showtopic=56941= وايضا يمكنكم متابعه الرابط التالى للاخ الحبيب محمود الشريف http://www.officena.net/ib/index.php?showtopic=56000&hl= كما يوجد ايضا العديد من الشروحات التى تتناول الحلقه التكرارية For next يمكنكم البحث عنها داخل المنتدى تقبلوا تحياتى واتمنى لك التوفيق
    1 point
  14. السلام عليكم اخواني في المنتدى اقدم لكم هذا الملف للتفتيش عن كلمة او رقم او حتى حرف ضمن نطاق معين راجياَ من اخي ياسر ان يضمه الى مكتبته الغرّاء find.rar
    1 point
  15. السلام عليكم اخى الكريم يوجد شرح كامل لخطوات عمل المعادلتين بالتفصيل ارجو ان اكون قد وفقت فى التوضيح تحياتى اليك ارجوا المساعده.rar
    1 point
  16. الأخ محمد ابو العباس السلام عليكم يبدو ان المعادلة تعمل مع كتابة اسم الشهر ايضاً لكن فقط باللغة الإنكليزية و الله اعلم لك مني جزيل الشكر على ملاحظتك و ثنائك الجميل
    1 point
  17. استأذنك أستاذ / محمد الريفى لو ممكن تشرح لى معنى المعادلة جزء جزء إن اعطيتنى سمكة لأكلها .. فأنت بذلك أطعمتنى ليوم واحد إن علمنى كيف اصطاد السمكة .. فأنت بذلك أطعمتنى العمر كله
    1 point
  18. تكمله بخصوص التعامل مع الألوان بواسطة الأكواد أقدم لكم كود كود تلوين تبويبات الأوراق بضغطه زر واحدة Sub Change_Sheet_Tab_ِColor() 'خاص بفهرس الألوان[Color] إعلان متغير Dim Color As Integer 'خاص بأوراق العمل[WS] إعلان متغير Dim WS As Worksheet 'القيمة 0= [Color] حيث المتغير Color = 0 'عند وجود اخطاءإنتقل التالي On Error Resume Next ' الحلقة التكرارية للبحث في أوراق العمل For Each WS In Worksheets '[Color]فهرس الألوان إبتداء من قيمة المتغير = [WS] لون تبويب أوراق العمل WS.Tab.ColorIndex = Color '1 +[Color]القيمة = [Color] حيث المتغير Color = Color + 1 ' التالي Next End Sub الملف المرفق Change_Sheet_Tab_ِColor.rar
    1 point
  19. السلام عليكم بعد اذن استاذى الحبيب ملك المعادلات جمال عبدالسميع هذه محاوله منى بالمعادلات ربما تفيد تقبلوا تحياتى ارجوا المساعده.rar
    1 point
  20. ماشاء الله أستاذي أبو تراب إبداع بلا حدود سلمت يمينك تحياتي
    1 point
  21. اخي كريمو2 ايه السؤال ده ياراجل ! تفضل واليك الخطوات : 1. اذهب الى الاستعلام المصدر واكتب التعبير التالي وطبعا سيحل محل العمود المعني : Expr1: nz([تأشيرة المراقب المالي];"/") 2. اذهب للتقرير وللمربع المعني وعدل الاسم ومصدر البيانات الى Expr1 وطبعا حذفت قناع الادخال او تركته لايهم هنا لاننا سنعرفه من خلال الكود التالي 3.اكتب الكود التالي في حدث عند التنسيق لتفصيل التقرير Private Sub تفصيل_Format(Cancel As Integer, FormatCount As Integer) If Me.Expr1 <> "/" Then Me.Expr1.InputMask = "CCCC بتاريخ CCCC/CC/CC" Else Me.Expr1.InputMask = "" End If End Sub بالتوفيق
    1 point
  22. اذا كان العمل خيري فلامانع ان نساهم به جميعا لإنجاحه
    1 point
  23. حفيدي الظريف .. ابو دم خفيف من زمان قلت وانا عند كلمتي .... انت فاكهة المنتدى
    1 point
  24. لابأس لاتوجد مشكلة ، والخطأ وارد ، لكن كان ممكن ان تشير لمن رد في الموضوع الثاني الى تكرار الموضوع حتى لايحدث ذلك اللبس
    1 point
  25. الحقيقة انا لم اطلع جيدا على تفاصيل ومكونات البرنامج ، لكن فكرة الترحيل ممكن أتصورها على الشكل التالي : يتم انشاء جدول حركات الطلاب كمايلي : معرف - تاريخ الحركة - رقم الطالب - العام الدراسي - الصف الدراسي - نوع الحركة. ( تأخذ قيمتها من جدول انواع الحركات وتضم قيم : تسجيل جديد - نجاح - رسوب - تخرج ) - هذا الجدول يتم تعبئته بنهاية العام الدراسي ، اما يدوياً او آليا اعتمادا على درجات المواد الدراسية ( جدول آخر ). بعد ان يتم تعبئة الجدول المذكور ، يتم إلحاق سجلات العام الدراسي الحالي في نفس الجدول بإجراء مايلي : اضافة رقم سنة الئ العام الدراسي الحالي اضافة رقم صف الى الصف الحالي اذا كانت الحالة نجاح. اضافة نفس رقم الصف الحالي اذا كانت النتيجة رسوب. عدم اضافة اي سجل اذا كانت النتيجة تخرج اما التسجيل الجديد فيتم يدوياً في بداية العام. هنا لمعرفة الطلاب الحاليين في العام الدراسي الحالي يتم من إخلال استعلام على هذا الجدول على رقم العام الدراسي ورقم الصف الدراسي
    1 point
  26. كود لتحويل امتداد الملف من XLSM الى XLSX (اي ملف بدون اكواد) ملف مرفق للتطبيق Public Sub ConvertXLSMtoXLSX() ' عرف متغيرات تشير للملف الحالي Dim SourceFile As String: SourceFile = ThisWorkbook.FullName Dim SourceName As String: SourceName = ThisWorkbook.Name Dim SourcePath As String: SourcePath = ThisWorkbook.Path & "\" ' عرف ملف مؤقت من اجل التحويل Dim TempFile As String: TempFile = Replace(SourceFile, ".xlsm", "_TEMP.xlsm") Application.DisplayAlerts = False ' احفظ الملف اولا ThisWorkbook.Save ' عرف متغير للوصول لملفات Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject") ' احذف الملف المؤقت اذا وجد On Error Resume Next fso.deletefile TempFile, True On Error GoTo 0 ' اعمل نسخة من الملف الحالي fso.CopyFile SourceFile, TempFile, True ' افتح النسخة المؤقتة Dim TempWB As Workbook Set TempWB = Workbooks.Open(TempFile) ' احفظ بأسم و حول امتداد الملف ActiveWorkbook.SaveAs Filename:=SourcePath & Left(SourceName, Len(SourceName) - 5) & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ' اغلق النسخة TempWB.Close Application.DisplayAlerts = True ' احذف النسخة المؤقتة On Error Resume Next fso.deletefile TempFile, True On Error GoTo 0 End Sub Convert XLSM to XLSX.zip
    1 point
  27. لاداعي لكل هذه التفاصيل أن تكون في جداول منفصلة يمكن اضافة مايتعلق منها بالسيارات الى جدول السيارات و مايتعلق بحركة السيارات الى جدول حركات السيارات
    1 point
  28. يكفيني تلك الدعوات منك أخي الحبيب جزيت خير الجزاء على دعواتك الطيبة ، ولك بمثل إن شاء الله
    1 point
  29. أنا في برامجي أفضل الاحتفاظ بكافة البيانات و لا أمسح اي سجل وفي هذه الحالة ممكن اضافة حقل (صح/خطأ) في جدول الطاقم الاداري و نبني استعلام على السجلات المتوفرة للطاقم الحالي الذي قيمة حقله = صح في جدول الطاقم الاداري
    1 point
  30. بارك الله فيك أستاذ ابو خليل هي كما قلت : البرمجة مجالها واسع جدا و لكل مبرمج خيال و طلب الأخ السائل هو الذي يحدد ماذا يريد لاشك الطريقة التي قمتم بها حاليا أفضل بكثير و خاصة أن أبو الاء يقول أنه لازال في بداية الطريق فهذه الطريقة أنسب و اسهل له مع توضيح طريقة النسخ للبيانات القديمة و أنصح باعتمادها و الاستمرار عليها نظرا لسهولة امكانية التعديل عليها لاحقا لكن أنا رايي الشخصي من الناحية البرمجية " و ليس من باب التفضيل " أن استخدام قاعدة بيانات واحدة أفضل وقد عانينا منها معاناة كبيرة في شركتنا "أقصد طريقة تقسيم القاعدة الى سنوات" فعندما تريد أن تعرف بيانات حساب معين في سنة 1995 مثلا عليك احضار النسخ الاحتياطي لتلك السنة و ياسوأة ان ضاعت تلك النسخة !!!! هذا من ناحية , أما من ناحية ثانية و هي الأهم لو فرضا بعد عشر سنوات تم التعديل على تصميم الجداول ( و هو أمر منطقي و طبيعي مع الحاجة ) فبالتالي سيتم تعديل النماذج و التقارير عليها وفي هذه الحالة فان الجداول القديمة لن تعمل مع التقارير الجديدة ( في حالة تم اختيار طريقة الربط مابين قاعدة البيانات و الواجهة ) و هذه عيوب الطريقة الأولى أما قضية كبر حجم الملف فجداول الأكسس تستوعب أحجاما كبيرة من البيانات و المدرسة بحساب بسيط لو قلنا فيها مئة فصل , و كل فصل فيه خمسين طالب , اي 5000 طالب مجتمع كل سنة فيكون تقريبا عدد الطلاب الجدد " الصف الأول " سدس هذا العدد , اي 800 طالب أي بعد عشر سنوات سيصبح عدد السجلات 13,000 سجل فقط و هذا حجم قلبل على الأكسس فهو يستوعب أكثر من ذلك بكثير جدا أعذروني على المداخلة , يبقى مجرد راي شخصي , و الله أعلم و أعود للنصيحة الأولى و هي الاستمرار على الطريقة الحالية لأنها أسهل في رايي بالنسبة لصاحب السؤال
    1 point
  31. جزاك الله خيرا استاذ رضوان اعتقد ان شرح وجهة نظر الاستاذ رمهان هو ما تفضل به اخونا الاستاذ محمد السوداني هنا http://www.officena.net/ib/index.php?showtopic=43668#entry252410 ولا شك هي افضل لمن كان ينوي تكبير القاعدة ولكن لايلزم وجود جدول للمراحل لان حاجتنا من الاعوام السابقة هي التقارير فقط وهذه الاخيرة يكفي فيها المعايير والفلترة وقد ذكر الاستاذ محمد وجوب اشتمال جدول الدرجات على الفصل الدراسي والسنة مع معرف الطالب
    1 point
  32. 1 point
  33. البرمجة مجالها واسع و كبير و لايقف خيال المبرمج عند حد و بقدر ما يقدم الأخ السائل من بيانات تفصيلية و توضيحية أكثر بقدر مايتم تقديم حلول أوسع و أنسب على سبيل المثال الحل الذي قدمه الأستاذ أبو خليل مناسب جدا لمثالك حل سهل و بسيط و غير معقد , لكن لو تبين لك بعد ذلك أنك تحتاج البيانات التاريخية للطلاب القدامى أو المتخرجين أو أنك تحتاج أن تعرف تسلسل المراحل التعليمية لكل طالب بالسنوات الدراسية فسيكون هناك حلول أخرى أيضا و منها الحل الذي قدمه الأخ رمهان ولو زدت في التوضيح أكثر فبالتأكيد سيكون هناك حلول أوسع و اشمل و لايؤخذ الموضوع اطلاقا على سبيل الزعل هي في النهاية خدمة تعليمية جزا الله القائمين عليها خيرا
    1 point
  34. بارك الله فيك اخي ياسر روعة!!!
    1 point
  35. من باب الاستزادة.. ألقي نظرة على عمل أستاذنا الفاضل "قاهر الأكسس" ولا أكذب عليك لم أفهم الكود جيداً لأنه مختصر جدا وظننت أن هناك دالة صلاحيات الازار.rar
    1 point
  36. انت مش ابوتراب ... انت ابو الذهب ( ماشاء الله عليك )
    1 point
  37. أخى الفاضل بعد إذن أستاذنا الفاضل أ.ياسر، تم اجراء تعديل بسيط بالملف المرفق ليلبي طلبك ... اذا أردت أن تضع ملفات إضافية تراعي ان تكون البيانات بنفس نطاق البيانات الموجودة بباقي الملفات وتضعها في نفس مسار الملف الرئيسي تحياتي Get Data.rar
    1 point
  38. هذا هو المطلوب والله لو كنت قريبا منك لقبلت جبينك يا ابن الكرام ولكن لك دعوات خارجة من القلب دائما . حفظك الله ورعاك ويسر أمورك كما تيسر أمورنا ، فما تقوم به من مساعدة لا يدل إلا على نبل أخلاقك وعظيم صفاتك . فلك كل الشكر والتقدير
    1 point
  39. طريقة أبسط فى إيجاد تسلسل أيام الأسبوع وأسف لجعل كل أصدار فى مشاركة لأن كل طريقة مختلفة عن الأخرى وتوضح تدرك الفكرة للوصول لتبسيطها =TEXT(MATCH(A1,TEXT({1,2,3,4,5,6,7},"dddd"),0)+1,"dddd") تقبلوا تحياتى جميعا
    1 point
  40. أخى وأستاذي الفاضل أ.ياسر والله أبدا لم أنساها وأعترف أنى مقصر في هذا الموضوع ولكن الله وحده يعلم ضغط العمل الذي عندي ... ان شاء الله سأحاول جاهدا تخصيص وقت كل يوم ولو لكود واحد ومن يتهمك أنه موضوع شخصي لك وفقط فهو انسان مريض والأفضل له أن يذهب للعلاج فأنت لم تنسب أى شئ لنفسك والموضوع متاح للجميع ولم يتم تسمية الأكواد باسم أصحابها، أرمى وراء ظهرك كلام أصحاب النفوس المريضة ودع عنك الإحباط "تفائلوا بالخير تجدوه" ستجدنا دائما معك وبجانبك في أى عمل خيري لا نريد به الا وجه الله تعالى .. جعل الله عملك في ميزان حسناتك وبارك الله لك في أهلك وصحتك ومالك تحياتي
    1 point
  41. ربنا يخيلك حضرتك اروع بس ممكن حضرتك تقول لى حضرتك عملت التعديل ازاى انا عملت الشرط على مربع النص بعد التحديث بس مش شغال زى ماحضرتك عملته ومش لاقى اى استعلامات ومش فاهم حضرتك عملت ايه بصراحه ونفسى اعرف
    1 point
  42. بعد إذن أخى الجموعي كان من الممكن فتح موضوع جديد لطريقة الترحيل هذه ولكن حتى يكون هذا الموضوع مرجعا لكل من يريد تعلم الترحيل بأبسط الطرق مهما كانت عدد العناصر داخل الفورم لديه .. فالطريقة الأولى طريقة استخدام التاج للعناصر داخل الفورم سواء ال TextBoxes أو الكمبوبوكس Combobox أو غيرها وتفضل الأستاذ الجموعي بشرحها وأرفق المثال عليها الطريقة الثانية هي طريقة توحيد مسميات العناصر داخل الفورم ومراعاة ترتيبها ... كما في الصورة التالية مرفق ملفين .. الأول للفورم بالاسماء الموجودة بالصورة ... والثاني تم تغيير الاسماء الى اسمي حتى أوضح أنك تستطيع تغيير الأسماء كما تريد ولكن مع مراعاة ترتيبها تحياتي مثال-الترحيل.rar
    1 point
  43. اسير الشروق فكرتك رائعة ! المهم انها فكرة مغايرة ! ولكن لكي تزبط تمام لابد من تغيير اسم مربع النص في النموذج الرئيسي من "نص1" الى "id" فقط. بالتوفيق
    1 point
  44. اتفضل دا على اد فكرى ممكن يكون فى طريق برمجى افضل او ممكن اللى انا عملته ده مش منطقى بس انا هاوى واللى يهمنى اوصل للنتيجه اللى انا عاوزها انا انشأت استعلام وعملت من خصائصه انه يكون لقطه علشان حماية البيانات من التغيير لو عاوز تغير وتمكن التعديل خلى مصدر السجل من الجدول وعملت جدولين فرعى ورئيسي الرئيسى لكتابة الأيدى وربط الجدول ده بالجدول الفرعى بباقى الحقول بمجرد كتابة الاي دي فى الرئيسى يجلب باقى بيانات الحقول فى الفرعى تقبل تحياتى TextBox_.rar
    1 point
  45. ترقية باستحقاق وجدارة ! واذكر باحد مشاركاتي http://www.officena.net/ib/index.php?showtopic=57049&hl= تحياتي
    1 point
  46. الحل تم عمله أخى ولكن لن أقوم بوضعة فى هذا المرفق حتى لاتتداخل الأجوبة ، ولتسهيل عملية البحث فى المنتدى لك ولزملائك لذلك أرجو أن تقوم بعمل مرفق مستقل ، كما سبق وأوضح لك الأستاذ الفاضل " ياسر خليل " ويمكن تسميتة " البحث عن أجازات موظف بمعلومية الأسم والتاريخ " تقبل تحياتى
    1 point
  47. أخي الفاضل محمد جابر يفضل طرح طلبك في موضوع مستقل
    1 point
  48. السلام عليكم ورحمة الله وبركاته سلسلة الدالة Offset سبق وتم عرضها من قبل مع الملف الذي تم العمل عليه أثناء التسجيل سوف نعيد نشرها لنواكب الأعمال الجديدة لاحقا الدالة Offset الفيديو الأول مشاهدة مفيدة وممتعة الدالة Offset الفيديو الثاني مشاهدة مفيدة وممتعة -f7OtH9YmDsNBA الدالة Offset الفيديو الثالث ملف العمل تعلم الداالة offset.zip
    1 point
  49. السلام عليكم ورحمة الله إخواني الكرام، قمت ببعض التغييرات (طفبفة) على الملف (تعديل قائمة أسماء الله الحسنى، تعديل في الكود، تعديل في المعادلات) بحيث يقوم بعرض كل أسماء الله الحسنى 99 وفي الحالتين (الساعة الرقمية والساعة التناظرية)... أرجو أن تعجبكم هذه التغييرات... ملاحظة: بالنسبة للاسم "الأحد" هل هو من أسماء الله الحسنى؟... وفقكم الله لكل خير... أخوكم بن علية ساعة مع اسماء الله الحسنى.rar
    1 point
×
×
  • اضف...

Important Information