اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

mahmoud nasr alhasany

03 عضو مميز
  • Posts

    197
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل منشورات العضو mahmoud nasr alhasany

  1. لقد فعلت ذلك وجدت انه يحذف المكرر والغير مكرر فى حالة الرصيد اصبح صفر لوافترضنا ان يوجد كود المنتج 100 والمخزن هو مخزن رئيسى ورصيد المخزون 149 وايضا كود المنتج 100 والمخزن هو مخزن رئيسى ورصيد المخزون 10 عندما يصقر الرصيد 10 الى صفر يقوم بحزفها لوافترضنا ان ايضا كود المنتج 100 والمخزن هو مخزن رئيسى ورصيد المخزون 149 اصبح صفر كدة مافيش كود 100 ولا مخزن رئيسى فى ورقة العمل صح كده لا لو ان اصبح صفر فلا يقوم بحزفها لان المخزن غير مكرر مع كود المنتج وهذا هو المطلوب
  2. اقصد اسم المخزن غير مكرر فى بيانات الشيت "STOCK" اريد ان اقوم بدمجها مع الخلية 5 وهى اسم المخزن ولاكن اذا كان اسم المخزن غير مكرر فى بيانات الشيت "STOCK" فلا يقوم بالحذف وذلك يرجع عندما اقوم باختيارها من combobox1 وشكرا جزيلا كمثال انظر الصورتين A- 100 مخزن رئيسى D-149 -E A- 100 مخزن رئيسى D- 0 -E A- 100 مخزن رئيسى D- 19 -E
  3. Dim dat, dat_bon As Date Dim X As Integer Dim v As Integer Dim Uf As Integer Dim i As Long Dim J As Long Set fa = Sheets("Stock") With Feuil1 Uf = fa.Range("A" & Rows.Count).End(xlUp).Row For i = 0 To ListBox1.ListCount - 1 For J = 2 To Uf If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 Then If Me.OptionButton1 = True Or Me.OptionButton2 = True Then dat_bon = .Cells(J, 9) If dat_bon < dat Then dat_bon = dat End If End If End If Next J Next i For i = 0 To ListBox1.ListCount - 1 For J = 2 To Uf If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 And .Cells(J, 9) = dat_bon Then If Me.OptionButton1 = True Then .Cells(J, 4) = .Cells(J, 4) + Val(ListBox1.List(i, 3)) .Cells(J, 6) = .Cells(J, 6) - Val(ListBox1.List(i, 3)) If (Cells(J, 4).value) = 0 Then Cells(J, 4).EntireRow.Delete End If ElseIf Me.OptionButton2 = True Then .Cells(J, 4) = .Cells(J, 4) - Val(ListBox1.List(i, 3)) .Cells(J, 7) = .Cells(J, 7) + Val(ListBox1.List(i, 3)) If (Cells(J, 4).value) = 0 Then Cells(J, 4).EntireRow.Delete End If End If End If Next J Next i End With السلام عليكم ورحمة الله وبركاتة ممكن ان تساعدونى هذا الكود يقوم بحذف الخلية 4 كاملة اذا كانت تحتوى الخلية على رقم صفر ولاكن اريد ان اقوم بدمجها مع الخلية 5 وهى اسم المخزن ولاكن اذا كان اسم المخزن غير مكرر فلا يقوم بالحذف وذلك يرجع عندما اقوم باختيارها من combobox1 وشكرا جزيلا
  4. الرجاء مساعدتى انى عالق فى هذا الموضوع وشكرا عندما أقوم باختيار اسم المخزن وكود المنتج، أريد أن تصل رصيد المخزن التابع لها إلى أدنى تاريخ نظرا لان التواريخ مختلفة A= CB_Pièce ( 100 ) E= ComboBox1 ( magasin ) D= STOCKER ( 149 & 10 ) i = Textbox1 date (01/01/2024 & 01/05/2024 ) يجب أن يتحقق الشرط الحد الأدنى للتاريخ والمخزون للمنتج والمخزن هكذا A= CB_Pièce ( 100 ) E= ComboBox1 ( magasin ) D= STOCKER ( 10 ) i = Textbox1 date (01/01/2024 ) شرط ان اختار كود المنتج واسم المخزن CB_Pièce ( 100 ,101,102,103...... ComboBox1 ( magasin ,magasin1,magasin2,magasin,..... عندما يصل حد الطلب إلى الصفر، فإنه ينتقل إلى الكمية الثانية ويكون التاريخ التالي 01/05/2024 ارجو قد وفقت فى إيضاح طلبى
  5. السلام عليكم ورحمة الله وبركاتة الى عمالقة vba وأهل الخبرة وتفكيك الاكواد المستعصية ارجو مساعدتى فى عمل كود عبقرى منفرد وطبيعة عمل الكود يعود الى اكثر من مرجع 1 - اسم مخزن 2 -كود صنف 3- مخزون رصيد يرجع للمخزن التابع له 4 -صلاحية الانتهاء للصنف نظرا ان كود الصنف متكرر مع المخزن التابع لها فى الشيت مع كثرة الواردات ويرجع لصلاحية انتهاء الصنف المطلوب عند اختيار اسم المخزن وكود الصنف يظهر مخزون الصنف التابع للمخزن شرط اقدم تاريخ انتهاء صلاحية لهذا الصنف وعندما يكون الحد الأدنى للمخزون صفر، فإنه ينتقل إلى التاريخ التالي بكمية المخزون الأخيرة لهذا الصنف.التابع للمخزن المطلوب تحقيقة خلاصة العمل وهى عملية بيع المخزون لاقدم تاريخ وعندما يكون حد المخزون صفر ينتقل الى الصلاحية الذى يليه للمخزن والصنف معا وشكرا جزيلا لكم انى عالق وارجو ان تساعدونى حتى استفيد من خبراتكم فى مجال vba Copy of خصم كمية مخزون المخزن (بيع)حسب صلاحية الاقدم.xlsm
  6. انى عالق الرجاء المساعدة رجاء مساعدتى فى السؤال التالى اريد عند خصم كمية منتج لمستودع معين حسب التاريخ الاقدم وبمجرد ان يصفر كمية هذا المنتج لهذا المستودع يتحول الى الكمية التالية على حسب التاريخ الاقدم او التالى لان فاتورة الشراء لهذا المنتجات بتختلف على حسب انتهاء الصلاحية لو وجد أن قيمة المخزون اريد عليها تعديل بحيث يظهر الرصيد الآخر بناء على الصلاحية الاقدم بمعنى أريد عند اختيار الكود 100 في هذا المنتج، يتم عرض أقدم تاريخ مخزون، وعندما يكون الحد الأدنى للمخزون صفر، فإنه ينتقل إلى التاريخ التالي بكمية المخزون الأخيرة لهذا العنصر.
  7. Dim dat, dat_bon As Date Dim X As Integer Dim v As Integer Dim Uf As Integer Dim i As Long Dim J As Long Set fa = Sheets("Stock") With Feuil1 Uf = fa.Range("A" & Rows.Count).End(xlUp).Row For i = 0 To ListBox1.ListCount - 1 For J = 2 To Uf If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 Then If Me.OptionButton1 = True Or Me.OptionButton2 = True Then dat_bon = .Cells(J, 9) If dat_bon < dat Then dat_bon = dat End If End If End If Next J Next i For i = 0 To ListBox1.ListCount - 1 For J = 2 To Uf If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 And .Cells(J, 9) = dat_bon Then If Me.OptionButton1 = True Then .Cells(J, 4) = .Cells(J, 4) + Val(ListBox1.List(i, 3)) .Cells(J, 6) = .Cells(J, 6) - Val(ListBox1.List(i, 3)) ElseIf Me.OptionButton2 = True Then .Cells(J, 4) = .Cells(J, 4) - Val(ListBox1.List(i, 3)) .Cells(J, 7) = .Cells(J, 7) + Val(ListBox1.List(i, 3)) End If End If Next J Next i عقوا .Cells(J, 6) = .Cells(J, 6) - Val(ListBox1.List(i, 3)) بدل .Cells(J, 6) = .Cells(J, 6) - Val(ListBox1.List(i, 4)) تم حل خصم الكمية رجاء مساعدتى فى السؤال التالى اريد عند خصم كمية منتج لمستودع معين حسب التاريخ الاقدم وبمجرد ان يصفر كمية هذا المنتج لهذا المستودع يتحول الى الكمية التالية على حسب التاريخ الاقدم او التالى لان فاتورة الشراء لهذا المنتجات بتختلف على حسب انتهاء الصلاحية لو وجد أن قيمة المخزون اريد عليها تعديل بحيث يظهر الرصيد الآخر بناء على الصلاحية الاقدم
  8. Dim dat, dat_bon As Date Dim X As Integer Dim v As Integer Dim Uf As Integer Dim i As Long Dim J As Long Set fa = Sheets("Stock") With Feuil1 Uf = fa.Range("A" & Rows.Count).End(xlUp).Row For i = 0 To ListBox1.ListCount - 1 For J = 2 To Uf If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 Then If Me.OptionButton1 = True Or Me.OptionButton2 = True Then dat_bon = .Cells(J, 9) If dat_bon < dat Then dat_bon = dat End If End If End If Next J Next i For i = 0 To ListBox1.ListCount - 1 For J = 2 To Uf If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 And .Cells(J, 9) = dat_bon Then If Me.OptionButton1 = True Then .Cells(J, 4) = .Cells(J, 4) + Val(ListBox1.List(i, 4)) .Cells(J, 6) = .Cells(J, 6) - Val(ListBox1.List(i, 4)) ElseIf Me.OptionButton2 = True Then .Cells(J, 4) = .Cells(J, 4) - Val(ListBox1.List(i, 4)) .Cells(J, 7) = .Cells(J, 7) + Val(ListBox1.List(i, 4)) End If End If Next J Next i الرجاء مساعدتى اريد عند خصم كمية منتج لمستودع معين حسب التاريخ الاقدم وبمجرد ان يصفر كمية هذا المنتج لهذا المستودع يتحول الى الكمية التالية على حسب التاريخ الاقدم او التالى لان فاتورة الشراء لهذا المنتجات بتختلف على حسب انتهاء الصلاحية الكود لايقوم بخصم الكمية المطروحة فى الليست بوكس كمثال رقم 3 او 4 او اى كمية اخصمها من المستودع على حسب التاريخ الاقدم ولاكن يقوم بنقص تلقائى مع كل عملية رقم 1 فى المخزون الخاص بالمستودع او المخزن ماالخطاء فى هذا الكود
  9. عزرا لقد حاولت ومازلت احاول يبدوا ان الباسوورد معقد للغاية الذى ادرجتة فى الملف
  10. صباح الخير، أرجو من أهل الخبرة مساعدتي في هذه المشكلة في برنامج مخازن وهو مقسم إلى قسمين: الأول: الاصناف الواردة لها تاريخ انتهاء صلاحية مختلف في كل فاتورة واردة نفس السلعة التي لها أكثر من تاريخ انتهاء صلاحية موجودة في المستودع أريد أن يتم خصم كل فاتورة مبيعات من أقرب تاريخ لانتهاء الصلاحية يظهر في المستودع إجمالي رقم الصنف والباقي من تاريخ انتهاء الصلاحية القديم وأرقام تاريخ انتهاء الصلاحية الجديدة. على أن لا يتم خصم أي كميات من الصلاحية الجديدة إلا بعد انتهاء لكميات الصلاحية القديمة. الجزء الثاني: أريد: إشعار على فاتورة المبيعات لأي صنف على وشك الانتهاء خلال 6 أشهر أو أقل، أن يظهر باللون الأحمر والرقم المتبقي وتاريخ الانتهاء، بحيث يكون أمام من يكتب فاتورة المبيعات كل الوقت حتى تنتهي صلاحية هذا العنصر ويختفي من هذا البيان. وجزاكم الله خيرا البيع بأولوية تاريخ الانتاج.xlsm
  11. انا بأستطاعتى أن افك الباسورد الخاص بالشيت ولاكن عزرا لا استطيع الأ من خلال استأذان اعضاء مشرفى هذا الموقع
  12. السلام عليكم ورحمة الله وبركاتة انه يعمل حقا ولاكن عندما تختار شيك بوكس اما Entree او Sortie ثم تكتب البيانات التي تريدها ثم تضغط علي ذر Ver la liste يجب تحدد على اى بيانات select DATA in listbox ثم تضغط علي الزر Valider لقد ارفقت تحديث ملف ضفيف لحين الانتهاء منه Gestion Stocks Magasin1(1).xlsm
  13. احسنت ا/ حسونة حسين أنه يعمل شكرا جزيلا على هذا المجهود الرائع
  14. الحمدلله والصلاه والسلام على رسول الله الحمدلله الذي تتم بنعمته الصالحات يقول رسول الله صلى الله عليه يأمرنا إذابالاستعانة بالصبر والصلاة في أمور الدنيا والدين، وكان النبي ﷺ إذا حزبه شيء فزع إلى الصلاة، فالصلاة من أعظم الأسباب على تيسير الأمور، وحل المشاكل والحمدلله صليه الفجر وربنا الهم للاجابه على هذا السؤال وتصفحت المواقع اذا لقيت بعض من المساعدات لكنها لاتفى بالمطلوب ولاكن كان لابد أن أعمل بها بعض التنقيحات على حسب احتياجاتى و ما أريده والمطلوب عليها فى ملفى والحمدلله تم بفضله وسأقوم برفع الملف عندما انتهى منه للاستفادة بها وشكرا على القائمين على هذا المنتدى وانى اعزرهم لعدم وجود وقت يسمح للاجابه على اسألتى واعتزر كثيرا انى اللححت وكررت المشاركات فى نفس هذا الموضوع وخاصة القأيم بهذا المنتدى ا/حسونة حسين ولاكن كان غصب عنى وشكرا لتفهمكم الامر
  15. وعليكم السلام ورحمة الله وبركاتة وقد ساعدني بعض الإخوة في تعبئة هذا العمل ولكن هناك مشكلة في ذلك لا يتم خصم كمية المنتج الفرعي من المتجر Feuil1(“Stock”) هنا هو الرمز اليك الملف والصورة الموضحة Private Sub CmdValider_Click() On Error Resume Next If Datetr = "" Then Datetr.SetFocus MsgBox "يجب عليك إعطاء تاريخ." Exit Sub ElseIf Not IsDate(Datetr) Then Datetr = "" Datetr.SetFocus MsgBox "تاريخ غير صحيح." Exit Sub End If ' If ListBox1.ListIndex = -1 Then ' MsgBox "يجب عليك تحديد عنصر." ' Exit Sub ' End If If OptionButton1 = False And OptionButton2 = False Then MsgBox "يجب عليك اختيار خيار: المدخلات أو المخرجات." Exit Sub End If Set fa = Sheets("Stock") Lig = fa.Range("A:A").Find(ListBox1.Column(0, ListBox1.ListIndex), lookat:=xlWhole).Row If OptionButton1 = True Then Me.ComboBox1.Enabled = False fa.Range("F" & Lig) = fa.Range("F" & Lig) - ListBox1.Column(3, ListBox1.ListIndex) fa.Range("J" & Lig) = Datetr fa.Range("D" & Lig) = fa.Range("D" & Lig) Set fe = Sheets("Entrees") Lige = fe.Range("A" & Rows.Count).End(xlUp)(2).Row fe.Range("A" & Lige) = Application.Max(Lige - 2) + 1 fe.Range("C" & Lige) = ListBox1.Column(0, ListBox1.ListIndex) fe.Range("D" & Lige) = ListBox1.Column(1, ListBox1.ListIndex) fe.Range("E" & Lige) = ListBox1.Column(2, ListBox1.ListIndex) fe.Range("G" & Lige) = ListBox1.Column(3, ListBox1.ListIndex) fe.Range("H" & Lige) = ListBox1.Column(4, ListBox1.ListIndex) fe.Range("B" & Lige) = Datetr If Me.OptionButton1 = True Then fe.Range("F" & Lige) = "Entrée" ElseIf Me.OptionButton2 = True Then fe.Range("F" & Lige) = "Sortie" End If fe.Range("I" & Lige) = ComboBox1 fe.Range("J" & Lige) = ComboBox2 fe.Range("K" & Lige) = Format(Now, " ddd yyyy/mm/dd Time hh:mm:ss am/pm") ElseIf OptionButton2 = True Then 'If Me.ComboBox1 = "" Then: Me.ComboBox1.SetFocus: MsgBox "Vous devez selectionner un client.": Exit Sub If fa.Range("D" & Lig).Value = 0 Then MsgBox "la quantité de stock = 0.": Quantitetr = "": Quantitetr.SetFocus: Exit Sub 'If TextBox2.Value > fa.Range("G" & Lig) Then MsgBox "Vous ne pouvez pas sortir plus que ce qu'il y a en stock.": TextBox2 = "": TextBox2.SetFocus: Exit Sub If fa.Range("D" & Lig) < fa.Range("H" & Lig) Then MsgBox "Vous allez passer sous la quantité de stock mini." fa.Range("G" & Lig) = fa.Range("G" & Lig) + ListBox1.Column(3, ListBox1.ListIndex) fa.Range("J" & Lig) = Datetr fa.Range("D" & Lig) = fa.Range("D" & Lig) 'ListBox1.Column(0, ListBox1.ListIndex) = fa.Range("D" & Lig) Set fs = Sheets("Sorties") Ligs = fs.Range("A" & Rows.Count).End(xlUp)(2).Row fs.Range("A" & Ligs) = Application.Max(Ligs - 2) + 1 fs.Range("B" & Ligs) = ListBox1.Column(0, ListBox1.ListIndex) fs.Range("C" & Ligs) = ListBox1.Column(1, ListBox1.ListIndex) fs.Range("D" & Ligs) = ListBox1.Column(2, ListBox1.ListIndex) fs.Range("E" & Ligs) = ListBox1.Column(3, ListBox1.ListIndex) fs.Range("H" & Ligs) = ListBox1.Column(4, ListBox1.ListIndex) fs.Range("B" & Ligs) = Datetr If Me.OptionButton1 = True Then fs.Range("F" & Ligs) = "Entrée" ElseIf Me.OptionButton2 = True Then fs.Range("F" & Ligs) = "Sortie" End If fs.Range("I" & Ligs) = ComboBox1 fs.Range("J" & Ligs) = ComboBox2 fs.Range("K" & Ligs) = Format(Now, " ddd yyyy/mm/dd Time hh:mm:ss am/pm") End If Me.Quantitetr = "" Me.ComboBox1 = "" MsgBox "تم الحفظ." End Sub Gestion Stocks Magasin1.xlsm
  16. السلام عليكم ورحمه الله وبركاته اريد عمل كود عند ادخال كميه صنف من مخزن معين فى الليست بوكس يقوم بخصم الكميه فى الشيت المخزون التابع للمخزن الاعمده الخاصه بالشيت A2 كود الصنف B2 اسم الصنف C2 الكميه ( المطلوب خصم الكميه مع كل ادراجها فى الليست بوك) E2 اسم المخزن انى عاجز عن اقوم بعمله الرجاء المساعده
  17. مساء الخير من فضلكم ساعدوني لدي مربع قائمة يحتوي على كود الصنف والكمية بالإضافة إلى اسم المخزن الخاص به عند إرسال الكمية من مربع القائمة إلى ورقة المخزون، يتم تحديث كمية العنصر الموجود في المخزن مع العلم كود الصنف A2 اسم الصنف B2 كميه المخزون C2 اسم المخزن D2 هل هناك أي كود يلبي متطلبات المشروع الرجاء مساعدتي؟ مع إعطاء فورم بذلك
  18. هل يوجد شئ غير مفهوم فى هذه المسألة تودون أن اوضحها لكم
  19. رجاء مساعدتى اريد خصم الكمية من المخزن الزى تم صرف الكميه من الليست بوكس إلى شيت المخزون وانفترض أن الكميه المننصرفة فى الليست بوكس هى ٥ كرتونه و الكميه الموجوده فى شيت المخزون هى ٢٠ المفروض يكون الكميه فى المخزون بدل ٢٠ تكون الكميه ١٥ كرتونة كما موضح فى الصورة رجاء مساعدتى
  20. رجاء مساعدتى ضرورى إذا امنكنكم ما الخلل فى الكود المدرج
  21. Private Sub MajInventaire() Dim v As Integer With Worksheets("Inventaire") lgD = .Cells(Rows.Count, 1).End(xlUp).Row + 1 For v = 0 To ListBox1.ListCount - 1 With .Cells(lgD, 3) If flgAdd = 0 Then .Offset(, -2) = ListBox1.List(v, 1) 'Code article .Offset(, -1) = ListBox1.List(v, 4) 'Catégorie .Offset(, 2) = ListBox1.List(v, 5) 'Seuil d'alerte .Offset(, 3) = ListBox1.List(v, 6) 'Descriptif .Offset(, 4) = ListBox1.List(v, 7) 'Référence .Offset(, 5) = ListBox1.List(v, 8) 'Unité de mesure .Offset(, 6) = "Transfert" 'Observations .Offset(, 9) = ComboBox2 'Magasin QD = Val(.Value) + QT: .Value = QD 'Stock actuel Else .Offset(, 7) = .Offset(, 7) + ListBox1.List(v, 9) End If lgT = lgT + 1 End With .Protect Next v End With End Sub صباح الخير هل يمكنكم مساعدتى الكود الذى ادرجتة لايعمل معى الكمية لاتخصم من شيت Inventaire ما الأخطاء فى هذا الكود copy-of-copy-of-quantite-transferee-4.xlsm
  22. لايوجد حل غير الغاء الجدول (بيانات الخلايا بدون ادراج جداول عليها)
  23. هذا صحيح ا / محمد هشام Private Sub UserForm_Initialize() Dim c As Object, AL As Object, i As Long, d As Object tbl = [T_listrayon].Value '****************** Produits Tri tbl, LBound(tbl), UBound(tbl), 1 Me.Rayon.list = tbl Me.rayon_vente.list = tbl tbl = [Client].Value '****************** Clients Tri tbl, LBound(tbl), UBound(tbl), 3 Me.Recherche.list = tbl Me.nom_vente.list = tbl tbl = [T_Fournisseur].Value '****************** Fournisseur Tri tbl, LBound(tbl), UBound(tbl), 2 Me.cherche_fournisseur.list = tbl Me.fournisseur.list = tbl Me.max_fournisseur = [T_Fournisseur].Rows.Count + 1 Me.Scrollfournisseur.Max = Me.max_fournisseur Me.derenrg = [Produits].Rows.Count + 1 Me.Scrollproduit.Max = Me.derenrg Me.derclient = [Client].Rows.Count + 1 Me.ScrollClients.Max = Me.derclient Me.TxtDate = Format(Date, "dd/mm/yyyy") End Sub Private Sub produit_vente_Change() 'vente Dim rep As Byte If Me.produit_vente.ListIndex = -1 And Me.produit_vente = "" Then Exit Sub If Me.produit_vente.ListIndex = -1 And Me.produit_vente <> "" Then rep = MsgBox("Le produit doit être créé avec la page produit", vbCritical, "Contrôle") Exit Sub End If Me.enrgproduit = Me.produit_vente.Column(1) enreg = Val(Me.enrgproduit.Value) Me.stock_vente = [Produits].Item(enreg, 4) Me.TVAvente = [Produits].Item(enreg, 6) Me.prix_vente = Format([Produits].Item(enreg, 8), "#,##0.00") Me.mini_vente = [Produits].Item(enreg, 10) ComboBox4 = [Produits].Item(enreg, 11) End Sub رأيت هذا عندما أنقر على القائمة المنسدلة (product_sale)، يؤدي ذلك إلى زيادة المساحة في محتوى الورقة المخصصة لها ما هو الخطأ في الكود؟
  24. الف شكر ا / محمد هشام وكل سنة وانت طيب
×
×
  • اضف...

Important Information