اذهب الي المحتوي
المحاسب القائد

برنامج محاسبي بإستخدام الجداول المحورية Pivot Table == استخدمه وعطنا رأيك

المشاركات الموصى بها

بسم الله الرحمن الرحيم

الحمد لله رب العالمين والصلاة والسلام على اشرف الانبياء والمرسلين, نبينا محمد وعلى آله وصحبه وسلم ومن سلك سنتهم إلى يوم الدين.

 

 

الإخوة والأخوات ملاك وإداريين ومشرفين واعضاء وزوار المنتدى الكرام

السلام عليكم ورحمة الله وبركاته

 

أحمد الله سبحانه وتعالى ان يسر لي تصميم برنامج محاسبي مبسط وغير تقليدي يقوم بالترحيل والترصيد واستخراج ميزان المراجعة آلياً, حيث استخدمت الجداول المحورية Pivot Table في تصميمي لهذا البرنامج البسيط في بناءه والهائل في إمكانياته خصوصا لمن يعرف خصائص ومزايا الجداول المحورية يفهم ما اقصده.

من خلال بحثي في النت عن برامج محاسبية مبسطة بالأكسل وجدتها انها لا تستخدم الجداول المحورية, بل تعتمد على إنشاء صفحات عديدة وعند البدء بالعمل وإضافة حسابات جديدة فإن يظطر إلى انشاء صفحات وإعادة ربط المعادلات بين الصفحات (وهنا جهد مبذول في العملية ذهنياً ووقتاً ولكن تنتفي في برنامجي البسيط).

صحيح ان ما قام به الإخوة جزاهم الله خير في تصميم برامج محاسبية بإستخدام الإكسل والمعادلات والربط كانت بالنسبة لي الطريق لإيجاد اسلوب اسهل في التعامل وهي الجداول المحورية بحكم معرفتي البسيطة عنها واستخدامها في التحليل.

ولا ننسى ان الأفضل من ذلك البرامج المحاسبية عن طريق قواعد البيانات مثلا اكسس وما يرتبط به من نماذج أخرى ليظهر بأسم برنامج متكامل.

لن اسرد مزايا الجداول المحورية في برنامجي المحاسبي مقارنة بالتقليدية وما تحتوي من معادلات والربط للبرامج الاخرى في الاكسل , فأنت من سيكتشف تلك المزايا مقارنة بالمعادلات التقليدية.

طبعا ليس لنا غنى عن المعادلات ولكن اذا كان لديك عشرات او مئات الحسابات هنا تكمن صعوبة الطريقة التقليدية في التعامل معها وتظهر ميزة وسرعة الجداول المحورية.

انصح الجميع بتعلم كيفية استخدام الجداول المحورية , فأنا اعرف أن الكثير لا يعلم عنها إلا اسمها وربما لم يسمع عنها (مثلي سابقاً), حقيقة هي ثورة في تحليل المعلومات وإستخراج التقارير وستندم على إضاعة وقتك في الأسلوب التقليدي, حاول ادخال قيود يومية لعمليات وهمية وتتبع مسارها حتى النهاية وهي فرصتك لتعرف آلية عمل المحاسب. بالنسبة للقوائم المالية فهي مجرد نقل الارقام من ميزان المراجعة الى القائمة المناسبة.

لدي اصدار آخر يستخرج القوائم المالية ولكن تحت التجربة والتطوير وبإذن الله سيرى النور بعد الانتهاء منه.

لأ أحلل ولا ابيح استخدام البرنامج في النشاطات المحرمة أوالمشبوهة شرعاً أو نسبة هذا البرنامج الى غيري وليتذكر الله عز وجل في كل صغيرة وكبيرة.

قمت بتجربت البرنامج وقارنت مخرجاته ببرنامج آخر والحمد لله من قبل ومن بعد ان النتائج مطابقة, ولكن قد يرى البعض أن هناك تعديلات لابد من عملها, وهنا يأتي دورك في ارسال أي ملاحظة او اقتراح لتطويره, وربما لديك معرفة افضل مني تجعلني وغيرنا نستفيد منك, فلا تبخل علينا بمراسلتنا بارك الله فيك.

يجب الملاحظة أن أي تعديل على الجداول المحورية (اذا كنت لا تملك المعرفة التامة بإستخدام الخصائص) قد لا تظهر النتائج لك بشكل سليم فيفضل بإستخدامه كما هو.

أرجو من كل من يستخدم البرنامج ان يدعوا لي وأبي وأمي وأهلي وذريتي والمسلمين والمسلمات الأحياء والأموات بالمغفرة والرحمة والرزق الحلال وحسن الخاتمة وأن ينصر الأمة الإسلامية.

والسلام عليكم ورحمة الله وبركاته

أخوكم المحاسب القائد

leader_accountant@yahoo.com

leader_accountant@hotmail.com

 

والله الموفق...

 

برنامج محاسبي -الجداول المحورية.xls

  • أعجبتني 2

شارك هذه المشاركه


رابط المشاركه
شارك

مشكور اخى القائد

برنامج ممتاز وجميل

وفكرته بسيطه وجديده

شكر الله لك

وجعله فى موازين حسناتك

بس فى ملحوظه بسيطه

ان الاضافات على صفوف دليل الحسابات تكون قبل الصف رقم 9

وليس قبل الخط الاحمر كما ذكرت

جزاكم الله خيرا

اسماعيل

شارك هذه المشاركه


رابط المشاركه
شارك

اخي رامز

اعتذر بالتاخر في الرد

جهد بسيط اتمنى ان ينال اعجابكم لبساطة البرنامج عن طريق الجداول المحورية

بالنسبة لملاحظتك حول اضافة السطور جربت البرنامج واضفت ارقام حسابات وعملت تجربة له والنتيجة سليمة

انا قصدت ان تكون الإضافة للأسطر الجديدة قبل الخط الأحمر بمعنى اضفنا 6 حسابات وإذا رغبنا اضافة المزيد يكون بإضافة اسطر قبل السطر الاحمر ولو رغبت اضافة 1000 سطر فيكون قبل السطر الاحمر لإرتباطه بعلاقة مع الجداول المحورية (مهم جدا)

والله الموفق

شارك هذه المشاركه


رابط المشاركه
شارك

اخي المحاسب القائد

اولا شكرا على المجهود المبذول في هذا النظام و لكني واجهت صعوبة في التعامل معه حيث قمت بتعريف حسابان لاختبار النظام و ادخلت قيد محاسبي و لكن لم يظهر اثره او اسماء الحسابات في صفحة الاستاذ العام او الميزان فارجوا تزويدي بالالية التي يجب عملها ليقوم البرنامج بالعمل اليا .

شاكرا لكم مجهودكم

شارك هذه المشاركه


رابط المشاركه
شارك

السلام عليكم ورحمة الله وبركاته

اخي رامي حسن

آلية العمل على البرنامج:

1- افتح صفحة دليل الحسابات واقوم بإنشاء الحسابات التي ارغب استخدامها.

2- من صفحة قيود اليومية, اقوم بإدخال المعلومات في الحقول المخصصة (رقم القيد, التاريخ, ورقم الحساب ومبلغ العملية مدين ودائن ووصف العملية) ملاحظة اسم الحساب آليا يظهر لأنه يقرأ من دليل الحسابات .

3- من قائمة الأوامر اعمل تجديد بيانات Refresh Data,

4- او من خلال صفحة الاستاذ العام وميزان المراجعة ضع المؤشر على صفحة الجداول المحورية وبالزر اليمين اضغط لتظهر لك قائمة أضغط على تجديد بيانات Refresh Data واقرأ النتائج.

والله الموفق...

شارك هذه المشاركه


رابط المشاركه
شارك

اخي المحاسب القائد

تحية و بعد

اشكر لك مجهودك و لقد قمت بالبدء باستخدام النظام و مبدئيا رائع جزاك الله خيرا و في حال وجود اية ملاحظات ساقوم بالتواصل معك شكرا جزيلا لك

شارك هذه المشاركه


رابط المشاركه
شارك

السلام عليم ورحمة الله وبركاته

شكر الله لك صنيعك اخي المحاسب القائد على ماقدمت من افادات لاخوانك المسلمين ولاعانتهم

ثم عندي استفسار (ملحوظة ) هل من الممكن تكويد او عمل دليل الحسابات في هذا البرنامج في صورة مجموعات ام لا ؟ للتقريب أنه مثلا من الاصول تتفرع الاصول الثابتة والمتداولة والارصدة المدينة الاخري وفي النهاية كله يعبر عن الاصول

ارجو ان اكون قد أوضحت وجهة نظري

ولكن في النهاية البرنامج جميل جدا وفكرته في غاية الروعة

أخوك المسلم

شارك هذه المشاركه


رابط المشاركه
شارك

السلام عليم ورحمة الله وبركاته

شكر الله لك صنيعك اخي المحاسب القائد على ماقدمت من افادات لاخوانك المسلمين ولاعانتهم

ثم عندي استفسار (ملحوظة ) هل من الممكن تكويد او عمل دليل الحسابات في هذا البرنامج في صورة مجموعات ام لا ؟ للتقريب أنه مثلا من الاصول تتفرع الاصول الثابتة والمتداولة والارصدة المدينة الاخري وفي النهاية كله يعبر عن الاصول

ارجو ان اكون قد أوضحت وجهة نظري

ولكن في النهاية البرنامج جميل جدا وفكرته في غاية الروعة

أخوك المسلم

وعليكم السلام ورحمة الله وبركاته

اخي محمد شكري

اولا اعتذر لك وللجميع في تأخري بالرد, حيث ان دخولي المنتدى في الفترة الأخيرة نادرا

نعم بإمكانك ذلك ولك ان تجرب حساب الاصول الثابتة برمز 12000 ويندرج منه السيارات 12100 .

والله الموفق...

شارك هذه المشاركه


رابط المشاركه
شارك

السلام عليكم اساتذتى الكرام -عذرا لرفعى المشاركة هنا فلا أعرف ما هو سبب عدم تمكنى من رفع مشاركة مستقلة بارك الله فيكم جميعا

تعديل كود البحث فى عدة صتعديل كود البحث فى عدة صفحات من خلال الكمبوبوكس داخل الفورمفحات من خلا

ل الكمبوبوكس داخل الفورمارجو التكرم على مساعدتى فى تعديل كود الفورم الموجود بالملف لكى يتم البحث فى كل الصفحات من خلال الكمبوبوكس لكى يساعدنى ذلك فى اضافة وتعديل وحذف البيانات الى جميع الصفحات وذلك من خلال اليوزرفورم

' Dim r, i As Integer
Private Sub ComboBox1_Change()
On Error Resume Next
Dim ws As Worksheet
Set ws = Sheets("ÇáÈíÇäÇÊ")
Me.TextBox13.Value = WorksheetFunction.VLookup(Val(Me.ComboBox1.Value), ws.Range("A2:G1000"), 2, 0)
Me.TextBox14.Value = WorksheetFunction.VLookup(Val(Me.ComboBox1.Value), ws.Range("A2:G1000"), 3, 0)
Me.TextBox15.Value = WorksheetFunction.VLookup(Val(Me.ComboBox1.Value), ws.Range("A2:G1000"), 4, 0)
Me.TextBox16.Value = WorksheetFunction.VLookup(Val(Me.ComboBox1.Value), ws.Range("A2:G1000"), 5, 0)
Me.TextBox17.Value = WorksheetFunction.VLookup(Val(Me.ComboBox1.Value), ws.Range("A2:G1000"), 6, 0)
Me.TextBox18.Value = WorksheetFunction.VLookup(Val(Me.ComboBox1.Value), ws.Range("A2:G1000"), 7, 0)
End Sub
Private Sub CommandButton1_Click()
For j = 1 To 6
         Cells(r, j) = Controls("TextBox" & j).Text
Next j
ListBox1.List(i, 0) = TextBox2.Text
End Sub
Private Sub CommandButton2_Click()
If Me.ComboBox1.Value = "" Then
MsgBox "ÚÝæÇ íÌÈ ÇÎÊÇÑ ÇáÔíÊ ÇáãÑÍá Çáíå ÇáÈíÇäÇÊ"
Exit Sub
End If
Worksheets(Me.ComboBox1.Value).Activate
Dim lastrow
lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
lastrow = lastrow + 1
Cells(lastrow, 1) = Me.TextBox1.Value
Cells(lastrow, 2) = Me.TextBox2.Value
Cells(lastrow, 3) = Me.TextBox3.Value
Cells(lastrow, 4) = Me.TextBox4.Value
Cells(lastrow, 5) = Me.TextBox5.Value
Cells(lastrow, 6) = Me.TextBox6.Value
Cells(lastrow, 7) = Me.TextBox7.Value
Cells(lastrow, 8) = Me.TextBox8.Value
Cells(lastrow, 9) = Me.TextBox9.Value
Cells(lastrow, 10) = Me.TextBox10.Value
Cells(lastrow, 11) = Me.TextBox11.Value
Cells(lastrow, 12) = Me.TextBox12.Value
   TextBox1.Value = Application.WorksheetFunction.Max(ActiveSheet.Range("A15:A44")) + 1
TextBox2.SetFocus
End Sub
Private Sub CommandButton3_Click()
If MsgBox("ÓíÊã ÇáÍÐÝ åá ÃäÊ ãÊÃßÏ¿", vbQuestion + vbYesNo) = vbYes Then
Sheets(1).Cells(r, 1).EntireRow.Delete
For Z = 1 To 6
Sheets(1).Cells(r, Z).Delete Shift:=xlUp
Next Z
Sheets(1).Cells(r, 1).Resize(r, 6).Delete Shift:=xlUp
MsgBox "ÊãÊ ÚãáíÉ ÇáÍÐÝ ÈäÌÇÍ"
For y = 1 To 6
'Controls("Textbox" & y).Text = ""
Next y
ListBox1.Clear
UserForm_Activate
TextBox7 = ""
End If
End Sub

Private Sub CommandButton4_Click()
Me.PrintForm
End Sub

Private Sub CommandButton5_Click()
End
End Sub
Private Sub CommandButton6_Click()
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""
TextBox14.Text = ""
TextBox15.Text = ""
TextBox16.Text = ""
TextBox17.Text = ""
TextBox18.Text = ""
End Sub
Private Sub ListBox1_Click()
For i = 0 To ListBox1.ListCount
    If ListBox1.Selected(i) = True Then
        For j = 1 To 6
        Controls("TextBox" & j).Text = Cells(ListBox1.List(i, 1), j)
        Next j
        r = ListBox1.List(i, 1)
        Exit For
    End If
Next i
End Sub
Private Sub ListBox2_Click()
 TextBox1.Value = ListBox2.Column(0)
TextBox2.Value = ListBox2.Column(1)
TextBox3.Value = ListBox2.Column(2)
TextBox4.Value = ListBox2.Column(3)
TextBox5.Value = ListBox2.Column(4)
TextBox6.Value = ListBox2.Column(5)
TextBox7.Value = ListBox2.Column(6)
TextBox8.Value = ListBox2.Column(7)
'TextBox9.Value = ListBox2.Column(8)
'TextBox10.Value = ListBox2.Column(9)
End Sub
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
For i = 1 To 13
       Controls("Textbox" & i).Text = ""
 Next i
TextBox1.Value = Application.WorksheetFunction.Max(Sheets(1).Range("A15:A44")) + 1
TextBox2.SetFocus
End Sub
Private Sub TextBox19_Change()
If TextBox19.Value = "" Then ListBox2.Clear: Exit Sub
Dim X As Worksheet
Set X = ActiveSheet

         ListBox2.Clear
    k = 0
        ss = X.Cells(Rows.Count, 13).End(xlUp).Row
        For Each c In X.Range("M15:M44" & ss)
            M = InStr(c, TextBox19)
            If M > 0 Then
                ListBox2.AddItem
                ListBox2.List(k, 0) = X.Cells(c.Row, 1).Value
                ListBox2.List(k, 1) = X.Cells(c.Row, 2).Value
                ListBox2.List(k, 2) = X.Cells(c.Row, 3).Value
                ListBox2.List(k, 3) = X.Cells(c.Row, 4).Value
                ListBox2.List(k, 4) = X.Cells(c.Row, 5).Value
                ListBox2.List(k, 5) = X.Cells(c.Row, 6).Value
                ListBox2.List(k, 6) = X.Cells(c.Row, 7).Value
                ListBox2.List(k, 7) = X.Cells(c.Row, 8).Value
                ListBox2.List(k, 8) = X.Cells(c.Row, 9).Value
                k = k + 1
            End If
        Next c
End Sub

Private Sub TextBox20_Change()

End Sub

Private Sub TextBox7_Change()
ListBox1.Clear
    For i = 1 To 6
            Controls("TextBox" & i).Text = ""
    Next i
    If TextBox7 = "" Then Exit Sub
    Sheets(1).Activate
    ss = Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
     k = 0
          For Each c In Range("B2:B" & ss)
    If c Like TextBox7.Value & "*" Then
        ListBox1.AddItem
        ListBox1.List(k, 0) = Cells(c.Row, 2).Value
        ListBox1.List(k, 1) = c.Row
        k = k + 1
    End If
Next c
End Sub
Private Sub TextBox5_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox7.Value = ""
ListBox1.Clear
End Sub
Private Sub TextBox8_Change()
ListBox2.Clear
    For i = 1 To 6
            Controls("TextBox" & i).Text = ""
    Next i
    If TextBox8 = "" Then Exit Sub
    Sheets(1).Activate
    ss = Sheets(1).Cells(Rows.Count, 5).End(xlUp).Row
     k = 0
          For Each c In Range("E2:E" & ss)
    If c Like TextBox8.Value & "*" Then
        ListBox2.AddItem
        ListBox2.List(k, 0) = Cells(c.Row, 5).Value
        ListBox2.List(k, 1) = c.Row
        k = k + 1
    End If
Next c
End Sub
Private Sub UserForm_Activate()
TextBox7.SetFocus
For i = 2 To ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
ListBox1.AddItem
 ListBox1.List(i - 2, 0) = Cells(i, 15).Value
  ListBox1.List(i - 2, 1) = i
      Next i
      For i = 1 To 12
            Controls("TextBox" & i).Text = ""
 Next i
       TextBox1.Value = Application.WorksheetFunction.Max(Sheets(1).Range("A15:A44")) + 1
TextBox2.SetFocus
End Sub
 

 

برنامج_الشركة_2018-2019_الجديد.xlsm

شارك هذه المشاركه


رابط المشاركه
شارك

مجهود رائع 
تقدم للامام لديك فكرة جيدة عن قواعد البيانات بامكانك استغلالها في تطوير برنامجك  وجعله يحظى بمزايا اكثر من خلال الانتقال لقواعد بيانات حقيقية مثل الاكسيس والاس كيو ال سيرفر 

تحياتي وتمنياتي لك بمزيد من التقدم ..

شارك هذه المشاركه


رابط المشاركه
شارك

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان

×