نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/21/15 in all areas
-
برنامج شئون الموظفين يعمل بالتاريخين الهجرى والميلادى. امكانية البحث برقم الموظف . امكانية ربط الموظف بصورة الموظف من اى مكان من الحاسب (وليس وضع الصور بجانب الملف كما كان مسبقا). امكانية حذف موظف او تعديل بيانات الموظف . اصدار تقارير عن موظف واحد بطباعة بياناته فى صفحة مستقلة. امكانية تصدير التقارير لملف اكسيل جديد باسم جديد. البحث بين تاريخين . امكانية طباعة عدد من الموظفين سواء (اسم الموظف - الراتب - الاقامات - الادارة التابع لها - او اى بيانات مدخلة ). التحكم فى تغيير اسم الشركة . نافذة امان قبل الدخول للبرنامج بكلمة مرور يمكن اظهار النافذة او اغلقها. امكانية التحكم فى اعدادات المظهر (خلفية البرنامج - لون الخط ). للاطلاع عن المزيد من الصور والشرح للبرنامج من هنا او الاطلاع على دليل المستخدم من البرنامج شكر خاص للأستاذ/ عبد الله باقشير حيث استخدمت الكثير من اكواده الاكثر من رائعه وكذلك باقى الاعضاء الاخرين ملاحظة : باسورد نافذة الامان الافتراضى 12345 باسورد vba وقاعدة البيانات وفتح الملف 12345 لابد من تمكين الماكرو ليعمل الملف فى النهاية نسألكم الدعاء بظهر الغيب emp.rar3 points
-
السلام عليكم المنتدى نايم بحاول أصحي الناس والناس بردو نايمه .. خير اللهم اجعله خير ... هو فيه مبارة كرة قدم ولا الناس كسلانة ولا تعبانة طيب للي مهتم بالأمر .. هل ترغب أن يقوم الإكسيل بالحفظ التلقائي كل 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.rar2 points
-
السلام عليكم ورحمة الله وبركاته اعضاء منتدانا الكرام هذه محاولة لعمل رسالة تلميحية لخلية بالاكواد ارجوا ان تنال اعجابكم. اعلم انه يمكنك عملها عن طريق اضافة تعليق و لكن هذه محاول عبر الكود بحيث يظهر التلميح عند اختيار الخلية المناسبة. الفكرة هى وضع شكل 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.zip2 points
-
السلام عليكم و رحمة الله و بركاته اضطر غدا صباحا لسفر اضطراري قد يستغرق اسبوعا أو أكثر لذلك أعتذر ممن بدأت لهم مواضيع لم تكتمل بعد اما أن تعذرونني و تنتظرون الاكمال بعد عودتي أو اذا ممكن أحد من الزملاء ممن لديه وقت يكمل مابدأت به بالنسبة للشرح العادي بدون مرفقات لامانع قد أتمكن من القراءة و الرد من حين لآخر , لكن دون امكانية النظر في المرفقات تحياتي لكم2 points
-
تفضل أخى المظلوب وللأسف تم عملة بالكود لأن بالمعادلات ستكون طويلة بعض الشئ تقبل تحياتى جلب أجازات موظف.rar2 points
-
الاخوه الكرام طبعا من بدأ عرض فكره استخدام 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.rar2 points
-
السلام عليكم ورحمة الله تعالى وبركاته اخواني في المنتدى اقدم لكم هذا الملف الترحيل بواسطة خاصية TAG الفكرة في الفورم عمل ترقيم لكل مربع نص او كمبوبوكس بترتيب الاعمدة باستخدام TAG التكست بوكس الاول بياناته يتم ترحيلها للعمود 1 إذن يحمل التاج 1 التانى بياناته يتم ترحيلها للعمود 2 إذن يحمل التاج 2 التالث بياناته يتم ترحيلها للعمود 5 إذن يحمل التاج 5 الكمبوبوكس الأول بياناته يتم ترحيلها للعمود 3 إذن يحمل التاج 3 التانى بياناته يتم ترحيلها للعمود 4 إذن يحمل التاج 4 لاحظ الصورة التالية اتمنى ان اكون وفقت في ايصال المعلومة خالص تحياتي الترحيل بواسطة خاصية tag.rar2 points
-
الاخ الكريم (الصقر) الحقيقة مقدرش اقول لحضرتك غير جزاك الله عنى كل الخير الحمد لله الملف التانى حقق كل الى كنت بتمناه وانا دخلت على كود الحفظ وضبت الزمن ل3 ثوانى ودخلت على كود الزمن واضفت خليه لاضافة التاريخ عموما ليك كل الشكر ولكل الى فى المنتدى كل التحية بصراحة اول مرة اتعامل مع المنتدى ومكتشمتخيل سرعة الاستجابة وتحقيق مطلبى وحل مشكلتى امنياتى بدوام النجاح2 points
-
ماشاء الله عليك استاذ سليم .. طريقة ممتازة للبحث و عرض النتائج.. الى الان وجدت ثلاثة مهارات في ملف واحد .. البحث عن طريق Find و FindNext و معادلة عرض النتائج و كذلك برمجة Format Condition شكرا الله لك عن كل حرف كتبت2 points
-
معذرة استاذ عبدالرحمن والله شاركة هنا بدون لا اعلم فتح الموضوع هنا http://www.officena.net/ib/index.php?showtopic=58443 وعتب عليك خالد لفتح الموضوع مرتين2 points
-
طريقة عمل شاشة ( فورم ) ادخال وترحيل واستعلام وتعديل !! خطوة خطوة السلام عليكم اساتذة المنتدي وخبراؤه الكبار الاخوة الافاضل اعلم ان هذه الموضوعات قد قتلت بحثا وطلبا واجابة من الاعضاء وهناك امثلة كثيرة للاساتذة الافاضل الكبار والذي لايصل علمنا او ما لدينا كله الي ذرة واحدة من علمهم ولكني اردت ان اجعل المواضيع الاساسية في عمل اي برنامج في متناول الجميع بطريقة بسيطة وسهله اكثر ما يكون من خلال هذه السلسلة ( اعانني الله علي اكمالها كما ينبغي ) وقصدت ان يكون الموضوع بعنوان واضح ليستفيد منه الجميع عند البحث وسأقدم الشرح بطريقة الفيديو والاكسيل والورد احياناً (((( الدرس الاول )))) شاشة ( فورم ) لادخال بيانات والقيام بتسجيل وترحيل هذه البيانات الي صفحة الاكسيل و الاستعلام من خلالها عن طريق نفس الفورم والتعديل ايضا في البيانات في حالة ما اردنا التعديل في بيان قد سبق ادخاله وطبعاً والاكيد كله من علمكم اساتذتي الكرام الاجلاء وفي الدرس القادم سنتعرف علي بعض الاكواد المعاونة لشاشة الادخال او بمعني ادق اكواد نحتاجها مع شاشة الادخال مثل (تنسيق التكست بوكس ، الترقيم التلقائي في تكست معين ، تنسيق التاريخ في التكست بوكس .... ) واي استفسار .... في الخدمة دائما ... واي شئ غير واضح في الشرح علي استعداد تام لشرحه مرة اخري ومرات اخري واليكم ايضا في المرفقات : 1- ملف اكسيل به الاكواد والشرح هذه المرة داخل الكود ( تم شرح الكود سطر سطر بطريقة وافية وبسيطة جدا داخل الكود نفسه ) 2- عدد ( 3 ) ملف فيديو يشرح طريقة التصميم واضافة الاكواد وكذلك مشاهدة النتيجة جزاكم الله خيرا اساتذتنا اكسيل ..طريقة عمل شاشة ادخال 1.rar فيديو 1 .. طريقة عمل شاشة ادخال 1.rar الملف الفيديو الثاني والثالث في المشاركة التالية حيث لم يمكنني اضافتهم هنا1 point
-
السلام عليكم ورحمة الله وبركاته إخواني الكرام في الصرح العملاق أوفيسنا (الذي يعتبر بمثابة الأم التي تحتضن أبناء الوطن جميعهم) أقدم لكم موضوع بسيط جدا في كيفية تظليل عمود وصف الخلية النشطة بناءً على رغبة الأخ الحبيب أحمد غانم (حفظه الله ورعاه) إذا أردت تنفيذ الفكرة بنفسك قم بعمل الآتي : أولاً حدد خلايا ورقة العمل بأكملها ..مش صعبة يا أحمد ثانياً روح للتنسيق الشرطي ..واختار 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.rar1 point
-
بسم الله الرحمن الرحيم الاخوة الاعزاء أقدم لكم اليوم شرح مبسط عن الحلقه التكرارية 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
-
السلام عليكم اخواني في المنتدى اقدم لكم هذا الملف للتفتيش عن كلمة او رقم او حتى حرف ضمن نطاق معين راجياَ من اخي ياسر ان يضمه الى مكتبته الغرّاء find.rar1 point
-
السلام عليكم اخى الكريم يوجد شرح كامل لخطوات عمل المعادلتين بالتفصيل ارجو ان اكون قد وفقت فى التوضيح تحياتى اليك ارجوا المساعده.rar1 point
-
الأخ محمد ابو العباس السلام عليكم يبدو ان المعادلة تعمل مع كتابة اسم الشهر ايضاً لكن فقط باللغة الإنكليزية و الله اعلم لك مني جزيل الشكر على ملاحظتك و ثنائك الجميل1 point
-
تكمله بخصوص التعامل مع الألوان بواسطة الأكواد أقدم لكم كود كود تلوين تبويبات الأوراق بضغطه زر واحدة 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.rar1 point
-
الحقيقة انا لم اطلع جيدا على تفاصيل ومكونات البرنامج ، لكن فكرة الترحيل ممكن أتصورها على الشكل التالي : يتم انشاء جدول حركات الطلاب كمايلي : معرف - تاريخ الحركة - رقم الطالب - العام الدراسي - الصف الدراسي - نوع الحركة. ( تأخذ قيمتها من جدول انواع الحركات وتضم قيم : تسجيل جديد - نجاح - رسوب - تخرج ) - هذا الجدول يتم تعبئته بنهاية العام الدراسي ، اما يدوياً او آليا اعتمادا على درجات المواد الدراسية ( جدول آخر ). بعد ان يتم تعبئة الجدول المذكور ، يتم إلحاق سجلات العام الدراسي الحالي في نفس الجدول بإجراء مايلي : اضافة رقم سنة الئ العام الدراسي الحالي اضافة رقم صف الى الصف الحالي اذا كانت الحالة نجاح. اضافة نفس رقم الصف الحالي اذا كانت النتيجة رسوب. عدم اضافة اي سجل اذا كانت النتيجة تخرج اما التسجيل الجديد فيتم يدوياً في بداية العام. هنا لمعرفة الطلاب الحاليين في العام الدراسي الحالي يتم من إخلال استعلام على هذا الجدول على رقم العام الدراسي ورقم الصف الدراسي1 point
-
كود لتحويل امتداد الملف من 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.zip1 point
-
السلام عليكم ورحمة الله تعالى وبركاته أستاذي الكريم ياسر أعرف ان الموضوع مكرر أرجو أن تقبل هذا التعديل والشرح على كود فهرس الألوان Sub ShowColorIndexNums() '[I] ,[N] إعلان متغيرين Dim I, N As Integer ' القيمة 0= [N] حيث المتغير N = 0 ' إضافة ورقة عمل جديدة قبل الورقة الأولى Worksheets.Add before:=Sheets(1) ' قيمة النص المدرج بين تنصيصين = [A1]قيمة الخلية 'اللون 6 من فهرس الألوان ال 58 لونا = [A1]تعبئة الخلية [A1].Value = "Color": [A1].Interior.ColorIndex = 6 ' قيمة النص المدرج بين تنصيصين = [B1]قيمة الخلية 'اللون 6 من فهرس الألوان ال 58 لونا = [B1]تعبئة الخلية [B1].Value = "Index Number": [B1].Interior.ColorIndex = 6 'إسم ورقة العمل = قيمة النص المدرج بين تنصيصين ActiveSheet.Name = "ColorIndex" ' [I]حلقة تكرارية للمتغير For I = 2 To 58 '[N]فهرس الألوان إبتداء من قيمة المتغير = [I]الي غاية أخر رقم في المتغير [A] قيمة العمود Range("A" & I).Interior.ColorIndex = N '[N]قيمة النص المدرج بين تنصيصين إبتداء من قيمة المتغير = [I]الي غاية أخر رقم في المتغير [A] قيمة العمود Range("A" & I).Value = "[Color " & N & "]" '[N]فهرس الألوان إبتداء من قيمة المتغير = [I]الي غاية أخر رقم في المتغير [B] قيمة العمود Range("B" & I).Value = "[Color " & N & "]" '[N]لون الخط في فهرس الألوان إبتداء من قيمة المتغير = [I]الي غاية أخر رقم في المتغير [B] قيمة العمود Range("B" & I).Font.ColorIndex = N 'ضبط محاذة النص = توسيط [I] الي غاية أخر رقم في المتغير [A1:B1] قيمة الخلايا Range("A1:B1" & I).HorizontalAlignment = xlCenter '1 +[N]القيمة = [N] حيث المتغير N = N + 1 ' التالي Next I 'إحتواء تلقائي لعرض العمود[B:B]في الورقة النشطة في كامل العمود ActiveSheet.[B:B].EntireColumn.AutoFit End Sub المرفق Color Index.rar1 point
-
بارك الله فيك أخي الحبيب حسام على المتابعة الجيدة لمواضيع المنتدى جعل الله اعمالك في ميزان حسناتك يوم القيامة تقبل تحياتي (يا صياد السمك)1 point
-
لاداعي لكل هذه التفاصيل أن تكون في جداول منفصلة يمكن اضافة مايتعلق منها بالسيارات الى جدول السيارات و مايتعلق بحركة السيارات الى جدول حركات السيارات1 point
-
1 point
-
يكفيني تلك الدعوات منك أخي الحبيب جزيت خير الجزاء على دعواتك الطيبة ، ولك بمثل إن شاء الله1 point
-
أنا في برامجي أفضل الاحتفاظ بكافة البيانات و لا أمسح اي سجل وفي هذه الحالة ممكن اضافة حقل (صح/خطأ) في جدول الطاقم الاداري و نبني استعلام على السجلات المتوفرة للطاقم الحالي الذي قيمة حقله = صح في جدول الطاقم الاداري1 point
-
سلمت يداك عمل متقن وإبداع لا حدود له يعجز اللسان عن الشكر رزقك الله أخي الكريم من حيث لا تحتسبت ونسأله سبحانه أن يوفقك وييسر أمورك كلها1 point
-
1 point
-
بارك الله فيك أستاذ ابو خليل هي كما قلت : البرمجة مجالها واسع جدا و لكل مبرمج خيال و طلب الأخ السائل هو الذي يحدد ماذا يريد لاشك الطريقة التي قمتم بها حاليا أفضل بكثير و خاصة أن أبو الاء يقول أنه لازال في بداية الطريق فهذه الطريقة أنسب و اسهل له مع توضيح طريقة النسخ للبيانات القديمة و أنصح باعتمادها و الاستمرار عليها نظرا لسهولة امكانية التعديل عليها لاحقا لكن أنا رايي الشخصي من الناحية البرمجية " و ليس من باب التفضيل " أن استخدام قاعدة بيانات واحدة أفضل وقد عانينا منها معاناة كبيرة في شركتنا "أقصد طريقة تقسيم القاعدة الى سنوات" فعندما تريد أن تعرف بيانات حساب معين في سنة 1995 مثلا عليك احضار النسخ الاحتياطي لتلك السنة و ياسوأة ان ضاعت تلك النسخة !!!! هذا من ناحية , أما من ناحية ثانية و هي الأهم لو فرضا بعد عشر سنوات تم التعديل على تصميم الجداول ( و هو أمر منطقي و طبيعي مع الحاجة ) فبالتالي سيتم تعديل النماذج و التقارير عليها وفي هذه الحالة فان الجداول القديمة لن تعمل مع التقارير الجديدة ( في حالة تم اختيار طريقة الربط مابين قاعدة البيانات و الواجهة ) و هذه عيوب الطريقة الأولى أما قضية كبر حجم الملف فجداول الأكسس تستوعب أحجاما كبيرة من البيانات و المدرسة بحساب بسيط لو قلنا فيها مئة فصل , و كل فصل فيه خمسين طالب , اي 5000 طالب مجتمع كل سنة فيكون تقريبا عدد الطلاب الجدد " الصف الأول " سدس هذا العدد , اي 800 طالب أي بعد عشر سنوات سيصبح عدد السجلات 13,000 سجل فقط و هذا حجم قلبل على الأكسس فهو يستوعب أكثر من ذلك بكثير جدا أعذروني على المداخلة , يبقى مجرد راي شخصي , و الله أعلم و أعود للنصيحة الأولى و هي الاستمرار على الطريقة الحالية لأنها أسهل في رايي بالنسبة لصاحب السؤال1 point
-
ما شاء الله .. الملف أكثر من رااااااااااااااائع1 point
-
استاذى احمد بكر عمل فى منتهى الروعه والاتقان زى مقال حبيبى ابن مصر استمر استمر استمر تقبل تحياتى1 point
-
أستاذي الفاضل أ.ياسر مرفق ملفين بهما 3 دوال برجاء اضافتهم الى المكتبة الملف الأول RecordChanges به دالة رائعة لتعقب أى تغييرات تحدث في ملف الإكسل وتقوم بانشاء مجلد باسم WhatChanged في القرص المحلى C وبداخله ملف نصي به كافة التغييرات التى تمت على الملف بالوقت والتاريخ وأسماء الخلايا التى تغيرت بياناتها دون أن تشعر بذلك هى مفيدة جدا لمن يخافون من العبث بملفاتهم يمكنهم وضعها بداخله لمعرفة ما هى الخلايا التى تم العبث بها وتغييرها وما هو الوقت والتاريخ الذي تم به ذلك الملف الثاني RunningWindowTasks به دالتين كل دالة في موديول منفصل للتعامل مع ادارة المهام في الويندوز او ما تعرف بال Task Manager والتى يقوم المستخدم بالضغط Alt+Ctrl+Delete للدخول اليها ومنها يمكن معرفة التطبيقات وكافة العمليات المفتوحة الدالة الأولى لإيجاد كافة التطبيقات المفتوحة.. جرب افتح أى عدد من التطبيقات واضغط على زر Application In Task Manager ستظهر لك كافة التطبيقات بالكمبوبوكس الموجود بالفورم الدالة الثانية .. دالة تسجيل كل ال Processes او العمليات المفتوحة للجهاز في العمود A مرفق الملفات تحياتي Nice3Functions.rar1 point
-
البرمجة مجالها واسع و كبير و لايقف خيال المبرمج عند حد و بقدر ما يقدم الأخ السائل من بيانات تفصيلية و توضيحية أكثر بقدر مايتم تقديم حلول أوسع و أنسب على سبيل المثال الحل الذي قدمه الأستاذ أبو خليل مناسب جدا لمثالك حل سهل و بسيط و غير معقد , لكن لو تبين لك بعد ذلك أنك تحتاج البيانات التاريخية للطلاب القدامى أو المتخرجين أو أنك تحتاج أن تعرف تسلسل المراحل التعليمية لكل طالب بالسنوات الدراسية فسيكون هناك حلول أخرى أيضا و منها الحل الذي قدمه الأخ رمهان ولو زدت في التوضيح أكثر فبالتأكيد سيكون هناك حلول أوسع و اشمل و لايؤخذ الموضوع اطلاقا على سبيل الزعل هي في النهاية خدمة تعليمية جزا الله القائمين عليها خيرا1 point
-
في ملفك ملاحظتين : الأولى : اطلع بداية على هذا الموضوع http://www.officena.net/ib/index.php?showtopic=13598 ثم عدل التصاميم بحسبه الثانية : جداول : السائقين - بيانات السيارات - نوع البنزين سليمة أما بقية الجداول فتحتاج الى توضيح ماهي فائدة كل جدول منها اذا كان تريد معرفة حصر استهلاك السيارة من الوقود فأنت تحتاج اضافة الى الجداول الثلاثة الأولى , جدول رابع فقط و هو جدول حركة السيارات و يكون كذلك : رقم معرف تاريخ الحركة رقم السيارة عداد أول عداد أخير كمية الوقود نوع البنزين أما اذا كنت تريد اضافة اية بيانات أخرى فيجب توضيحها1 point
-
أخي الحبيب التاج بارك الله فيك وجزيت خيراً على كلماتك الرقيقة ودعائك الطيب ..أرجو الله أن يتقبل دعائك بالنسبة للكود في المشاركة السابقة لم يكن يجلب كل البيانات ولم ألاحظ ذلك إلا الآن حيث أن هناك اسم ياسر في الصف رقم 20 لم يتم جليه بالكود السابق .. إليك الملف التالي فيه نسخ النطاق B2:C21 وكذلك التخلص من الفراغات ...وكذلك وضعت لك المصنفات الفرعية في مجلد . وضعت بعض التعليقات التي قد تفيدك في الكود ، ويمكنك الإطلاع على الكود بالضغط على Alt + F11 للدخول لمحرر الأكواد تفضل أخي الغالي بيانات الطلاب.rar1 point
-
من باب الاستزادة.. ألقي نظرة على عمل أستاذنا الفاضل "قاهر الأكسس" ولا أكذب عليك لم أفهم الكود جيداً لأنه مختصر جدا وظننت أن هناك دالة صلاحيات الازار.rar1 point
-
1 point
-
أخى الفاضل بعد إذن أستاذنا الفاضل أ.ياسر، تم اجراء تعديل بسيط بالملف المرفق ليلبي طلبك ... اذا أردت أن تضع ملفات إضافية تراعي ان تكون البيانات بنفس نطاق البيانات الموجودة بباقي الملفات وتضعها في نفس مسار الملف الرئيسي تحياتي Get Data.rar1 point
-
اخى الفاضل ماشاء الله بداية موفقة وعمل رائع .. استمر وجزاك الله كل الخير وجعل عملك في ميزان حسناتك تحياتي1 point
-
هذا هو المطلوب والله لو كنت قريبا منك لقبلت جبينك يا ابن الكرام ولكن لك دعوات خارجة من القلب دائما . حفظك الله ورعاك ويسر أمورك كما تيسر أمورنا ، فما تقوم به من مساعدة لا يدل إلا على نبل أخلاقك وعظيم صفاتك . فلك كل الشكر والتقدير1 point
-
طريقة أبسط فى إيجاد تسلسل أيام الأسبوع وأسف لجعل كل أصدار فى مشاركة لأن كل طريقة مختلفة عن الأخرى وتوضح تدرك الفكرة للوصول لتبسيطها =TEXT(MATCH(A1,TEXT({1,2,3,4,5,6,7},"dddd"),0)+1,"dddd") تقبلوا تحياتى جميعا1 point
-
أخى وأستاذي الفاضل أ.ياسر والله أبدا لم أنساها وأعترف أنى مقصر في هذا الموضوع ولكن الله وحده يعلم ضغط العمل الذي عندي ... ان شاء الله سأحاول جاهدا تخصيص وقت كل يوم ولو لكود واحد ومن يتهمك أنه موضوع شخصي لك وفقط فهو انسان مريض والأفضل له أن يذهب للعلاج فأنت لم تنسب أى شئ لنفسك والموضوع متاح للجميع ولم يتم تسمية الأكواد باسم أصحابها، أرمى وراء ظهرك كلام أصحاب النفوس المريضة ودع عنك الإحباط "تفائلوا بالخير تجدوه" ستجدنا دائما معك وبجانبك في أى عمل خيري لا نريد به الا وجه الله تعالى .. جعل الله عملك في ميزان حسناتك وبارك الله لك في أهلك وصحتك ومالك تحياتي1 point
-
ربنا يخيلك حضرتك اروع بس ممكن حضرتك تقول لى حضرتك عملت التعديل ازاى انا عملت الشرط على مربع النص بعد التحديث بس مش شغال زى ماحضرتك عملته ومش لاقى اى استعلامات ومش فاهم حضرتك عملت ايه بصراحه ونفسى اعرف1 point
-
اتفضل دا على اد فكرى ممكن يكون فى طريق برمجى افضل او ممكن اللى انا عملته ده مش منطقى بس انا هاوى واللى يهمنى اوصل للنتيجه اللى انا عاوزها انا انشأت استعلام وعملت من خصائصه انه يكون لقطه علشان حماية البيانات من التغيير لو عاوز تغير وتمكن التعديل خلى مصدر السجل من الجدول وعملت جدولين فرعى ورئيسي الرئيسى لكتابة الأيدى وربط الجدول ده بالجدول الفرعى بباقى الحقول بمجرد كتابة الاي دي فى الرئيسى يجلب باقى بيانات الحقول فى الفرعى تقبل تحياتى TextBox_.rar1 point
-
ترقية باستحقاق وجدارة ! واذكر باحد مشاركاتي http://www.officena.net/ib/index.php?showtopic=57049&hl= تحياتي1 point
-
1 point
-
تتسابق الكلمات وتتزاحم العبارات لتنظم عقد الشكر الذي لا يستحقه الا انت اليك يا من كان له قدم السبق في ركب العلم والتعليم اليك يا من بذلت ولم تنتظر العطاء اليك أهدي عبارات الشكر والتقدير.1 point
-
السلام عليكم ورحمة الله وبركاته سلسلة الدالة Offset سبق وتم عرضها من قبل مع الملف الذي تم العمل عليه أثناء التسجيل سوف نعيد نشرها لنواكب الأعمال الجديدة لاحقا الدالة Offset الفيديو الأول مشاهدة مفيدة وممتعة الدالة Offset الفيديو الثاني مشاهدة مفيدة وممتعة -f7OtH9YmDsNBA الدالة Offset الفيديو الثالث ملف العمل تعلم الداالة offset.zip1 point
-
السلام عليكم اخى الكريم انت تريد برنامج مبعات ومشتريات وموظفين واستلام نقديه وصرف نقديه وتقرير مخازن وتقرير مشتريات وموردين ومبيعات وعملاء وفواتير بيع نقدى واجل وفواتير مشتريات واضافه ومرتجعات مشتريات ومبيعات برنامج المتابع برنامج سهل وبسيط وبيعمل ده كله صور البرنامج فى المرفقات اخوك اشرف1 point
-
1 point
-
السلام عليكم ورحمة الله إخواني الكرام، قمت ببعض التغييرات (طفبفة) على الملف (تعديل قائمة أسماء الله الحسنى، تعديل في الكود، تعديل في المعادلات) بحيث يقوم بعرض كل أسماء الله الحسنى 99 وفي الحالتين (الساعة الرقمية والساعة التناظرية)... أرجو أن تعجبكم هذه التغييرات... ملاحظة: بالنسبة للاسم "الأحد" هل هو من أسماء الله الحسنى؟... وفقكم الله لكل خير... أخوكم بن علية ساعة مع اسماء الله الحسنى.rar1 point