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

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

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      7

    • Posts

      11,720


  2. بن علية حاجي

    بن علية حاجي

    الخبراء


    • نقاط

      4

    • Posts

      4,335


  3. ابو ياسين المشولي

    • نقاط

      2

    • Posts

      1,746


  4. سمير نجار

    سمير نجار

    03 عضو مميز


    • نقاط

      1

    • Posts

      436


Popular Content

Showing content with the highest reputation on 13 ينا, 2018 in all areas

  1. السلام عليكم برنامج افاق للمحاسبة العامة برنامج مميز ومجانى للسادة اعضاء المنتدى تسطيب البرنامج والتشغيل كمسؤل اسم المستخدم والباسوورد admin البرنامج هدية من صديق مبرمج حبيت اشاركه مع الاعضاء وشكرا الرابط AfaqAccounting-6-2017.exe - 158.6 MB ممكن يكون حجمه كبير بس برنامج متكامل وممتاذ
    1 point
  2. اخوانى السلام عليكم ورحمة الله تعالى وبركاته دمتم بخير وسالمين قرأت كثيرا عن اكواد نقل الملفات واتعلمها جيدا ولكن ينقص ما هو اهم كيف يمكننى انشاء مجلد داخل ملفات النظام او كيف يمكن نقل ملفات الى مجلدات النظام عن طريق قاعدة البيانات كيف يمكن اعطاء قاعدة البيانات الصلاحيات الكاملة لعمل ذلك برمجيا ؟ اخوكم السيد
    1 point
  3. استخدم الشفرة التالية في زر الأمر START Dim I As Integer Dim DATE_POST As Date DATE_POST = CDate(Forms![TEST1]![Date_M]) For I = 1 To Forms![TEST1]![F] If Not Weekday(DATE_POST) Like "[6-7]" Then Me.no = I Me.date = DATE_POST Else I = I - 1 End If DATE_POST = DATE_POST + 1 DoCmd.GoToRecord , , acNewRec Next
    1 point
  4. السلام عليكم ورحمة الله تم إضافة كود خاص بالزر "لصق الأسماء" لاستدعاء البيانات مباشرة من شيت StudNames... أرجو أن تفي الغرض المطلوب... بن علية حاجي Book12.rar
    1 point
  5. هذا ما قلته لك الكود يعمل فقط في القاعدة غير المنقسمة
    1 point
  6. 1 point
  7. استاذي الفاضل القاعده هي نفسها فقط هي منقسمه وعاملها في مجلد ومرتبطه D:\بـرنـامـج الـخـيـاط\data\data.mdb"
    1 point
  8. في المثال المرفق يتم التطبيق على القاعدة والجداول الحالية اذا تعمل على قاعدة منقسمة فيجب تغيير CurrentDb الى مسار قاعدة الجداول
    1 point
  9. وعليكم السلام ورحمة الله وبركاته جزاك الله كل خير اخي الكريم جاري التحميل ثم التجربة ان شاء الله تعالى
    1 point
  10. اتمنى من استاذنا القدير ابو خليل يشوف لي حل في هذا الخطاء او الاخ جعفر
    1 point
  11. تعلم برمجة اكسل كود VBA كود دالفي مع دمج اكسل المبرمج مناد سفيان يرحب بكم قريبا مع المبرمج : مناد سفيان @كل الحقوق محفوظة 2017@
    1 point
  12. اهلا وسهلا اخي العزيز قَالَ رَسُولُ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ : " مَنْ سَتَرَ أَخَاهُ الْمُسْلِمَ ، سَتَرَهُ اللَّهُ يَوْمَ الْقِيَامَةِ ، وَمَنْ نَفَّسَ عَنْ أَخِيهِ كُرْبَةً مِنْ كُرَبِ الدُّنْيَا ، نَفَّسَ اللَّهُ عَنْهُ كُرْبَةً مِنْ كُرَبِ يَوْمِ الْقِيَامَةِ ، وَإِنَّ اللَّهَ فِي عَوْنِ الْعَبْدِ مَادَامَ الْعَبْدُ فِي عَوْنِ أَخِيهِ
    1 point
  13. السلام عليكم ورحمة الله أولا : القيمة 1 ليست محذوفة من B8 كما كتبت بل من ناتج الدالة SMALL بمعنى أن نهاية المعادلة هي من الشكل: ROW($1:$2000));B8)-1;0)) وليس ROW($1:$2000));B8-1);0)) ثانيا : يمكن حذف 1- من المعادلة باعتبار أن التسمية MySection عندك هي للنطاق StudNames!$B$2:$B$2001 وقد وضعتُ 1- في المعادلة لأن هذه التسمية كانت للنطاق StudNames!$B$1:$B$2000 وبهذا التغيير الذي قمتَ به لا يؤثر على النتائج فيما بعد... ثالثا : بالنسبة لتغيير الجزئية (ROW($1:$1000 بالجزئية A1:D1000 بهذا الشكل لا يمكن، أما بالشكل (ROW(A$1:D$1000 مع تثبيت أرقام الصفوف بالعلامة $ أما الحروف في هذه الحالة فلا أهمية لها... بن علية حاجي
    1 point
  14. يتم هذا التطبيق بتجاهل رقم الشهر الموجود في الجدول واستبداله برقم مصنوع من الشهر والسنة داخل الاستعلام احتساب التأخر بالدقائق .rar
    1 point
  15. السلام عليكم تم تعديل المعادلات حسب هذه الحالة... ولا حرج أخي في كثرة الطلب... بن علية حاجي Ali_31.rar
    1 point
  16. شكرا جزيلا على اهتمام حضراتكم ولكن المعادلة =IF(C7="";"";OFFSET(OFFSET(MyCel;;IF(AliLang="English";2;1));SMALL(IF(((MySections=D$5)+(MySections=CONCATENATE(MID(D$5;1;1);"-";MID(D$5;2;1))));ROW($1:$1000));C7)-1;0)) عند تجربتها على الصف الثاني عشر 12A مثلا لا تعطي نتيجة كما انني استميحط عذرا في طلباتي اريد ان يكون البحث عن الحالتين 6A أو 6-A في جدول اسماء الطلاب بحيث اذا وجد اي من الحالتين يعطي النتيجة
    1 point
  17. السلام عليكم جرب الملف المرفق لعل فيه ما تريد.... بن علية حاجي Ali_31.rar
    1 point
  18. اتمنى ان تجد ضالتك هذا ما فهمته واعتمدت عليه في عمل المثال :: تحياتي
    1 point
  19. وعليكم السلام اذا تريد تتبع الطريقة الصحيحة في التصميم حسب قواعد واسس قواعد البيانات يجب ان يكون عملك من خلال جدولين الاول : اساسي للاشخاص زوج /زوجة/شهود وتضيف حقل فيه يبين النوع الثاني : فرعي للتفاصيل اي تفاصيل بيانات كل واحد منهم
    1 point
  20. السلام عليكم استخدم هذا الكود أخي: Me.comb.RowSource = "" Dim i As Integer For i = 0 To Me.tab.Pages.Count - 1 Me.comb.AddItem Me.tab.Pages(i).Name Next i و هذا مثال بالمرفق tabcontrol.rar
    1 point
  21. وأنا أشرف على إنهاء ملف لحساب معدلات و نتائج مدرسة ابتدائية صادفتني مشكلة : المستخدم يفتح الملف بشكل عادي و قد يصادف بعض الوظائف غير مفعلة بسبب عدم تمكين الماكروات .. فكرت في أن يتم تنبيه المستخدم مع بداية تشغيل الملف بحيث تظهر له النافذة التالية : فإذا فعَّلها فتح الملف و إذا لم يفعلها لا يشتغل . دلني الأخ الكريم حمادة عمر على موضوع الأخ المقتدر عبد الله ... فكان الملف مصمم لغرض آخر.. فهو يفتح بالطريقة المرغوب فيها و لكنه لا يطلب التحفيظ عند الإغلاق . بحثتت فوجدت في أحد المواقع الفرنسية اجتهادا و لكنني لا أعرف طريقة استعمال الأكواد .. لذلك سأضعها أمامكم ليستفيد من يرغب و يفيدنا من يستطيع جزاه الله خيرا . الوصف : ATTENTION L'UTILISATION DE CETTE SOURCE DEMANDE UNE BONNE MAÎTRISE DU VBA. Une mauvaise maîtrise vous interdiras l’accès à plusieurs fonctions d'excel. Ce fichier regroupe plusieurs petites ou grosses astuces pour améliorer la sécurité d’accès aux données et au code d'un fichier excel. Dans cette source je montre comment: - Interdire l’accès à certain bouton de la barre Visual basic. Sur ce point j'utilise une classe qui permet de détecter le clic sur les boutons de la barre visual basic. - Interdire l’accès à la boite à outils macro. - Interdire l'utilisation des raccourcis Alt+F11 et Alt+F8 qui permettent respectivement d'ouvrir l’éditeur VBE et la boite Lancer Macro - Interdire l'utilisation de la touche [Maj] à l'ouverture du fichier. Touche qui comme vous le savez déjà permet d'ouvrir un fichier excel en mode création ce qui a pour effet de désactiver les macros lors de l'ouverture. - Interdire l'accés au fichier donc aux feuilles si les macros non pas été activées. La methode utilisé ici est differente de la methode classic qui consiste à cacher les feuilles avec l'option XlVeryHidden. - Fermer l'editeur VBE automatiquement si celui-ci est ouvert au moment de l'ouverture du fichier excel. Ceci plus les interdits listés plus haut permettent d'interdire l'accés au VBE. Fonctionne pour Xl2002, Xl2003 à confirmer pour Xl2007.(Vous devrez télécharger le fichier pour voir la méthode mais n'est pas renseignées !) - Excel ne peut être fermé tant que le fichier est ouvert Touts ceci n'est valable que pour le fichier lui meme, mais peut ajouter quelques limitations aux autres fichiers tant que celui-ci est ouvert comme par exemple l'accés au macros via la barre visual basic ou les racourcis clavier. Il suffit de le fermer pour que tout rentre dans l'ordre. Il n'est apparemment pas possible d'interdire l'accés au code si les macros n'ont pas été activées sauf par mot de passe. Je ne suis pas utopiste, excel est une passoire et reste une passoire malgré tout, mais ici je donne des solutions pour renforcer la securité par rapport a un utilisateur de base voir un utilisateur deja bien initié. En tout cas ceci ajouté aux mots de passe peut en rebuter plus d'un. Mais attention ceci a sont revers en effet avec ce type de protection l'utilisateur n'a plus d'autre choix que d'activer les macros pour acceder au fichier. Autrement dit vous l'obligez à baisser sa garde donc à ce mettre en danger. الكود Dans le code du ThisWorkBook: 'Macro Créée par : BigFish (Philippe E) 'le :06-11-2008 'Mis à jour le : 03/09/2010 'V1.3 ' Option Explicit Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = True HideSheets WBkSave (SaveAsUI) End Sub Private Sub Workbook_Open() Dim CmdBs As CommandBar 'si les macros on ete activées les feuilles cachées seront affichées 'dans le cas contraire elle resteront cachées et un message d'erreur apparaitra. 'j'ai laissé cette option qui fonctionne si ce fichier n'est pas enregistré avec 'l'option IsAddin a vrai. Dans le cas contraire cela ne sert a rien Application.Run ("Opening") 'desactive la barre "Boîte à outils Contrôles" For Each CmdBs In Application.CommandBars Select Case CmdBs.Name Case "Control Toolbox", "Boîte à outils Contrôles" 'cas Anglais ou Français CmdBs.Enabled = False End Select Next 'initialisation de la classe Set XlAppli.XL = Excel.Application Call XlAppli.InitClass 'on interdit l'utilisation des racourcis Alt+F11 et Alt+F8 Application.OnKey "%{F11}", "MessageDeLimitation" Application.OnKey "%{F8}", "MessageDeLimitation" DoEvents 'ce fichier a été sauvé avec l'option IsAddin a vrai donc on le passe a false 'pour lui redonner toutes ses fonctions de Workbook classic If ThisWorkbook.IsAddin = True Then ThisWorkbook.IsAddin = False 'si le VBE est ouvert on le ferme mais pour que cela fonctionne l'option 'de securite "Faire confiance au projet Visual Basic" doit etre cochée. On Error Resume Next If Application.VBE.MainWindow.Visible = True Then Application.VBE.MainWindow.Visible = False MyFileIsOpen = True End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) 'une partie de ce qui suit ne sert qu'a gerer le passage IsAddin = True de ce fichier si 'l'utilisateur veut sauver avant de fermer 'Pour cela on vas substituer au message d'excel notre propre message ce qui 'permet de gerer le cas du bouton cancel If MyFileIsOpen = True Then Exit Sub Dim Reponse As VbMsgBoxResult If ThisWorkbook.Saved = True Then 'retour a la normale Defaut 'on vide la classe Call XlAppli.EmptyClass Else Cancel = True 'ici notre message perso: On Error Resume Next Reponse = MsgBox("Voulez-vous sauver les modifications effectuées dans '" & ActiveWorkbook.Name & "' ? ", vbExclamation + vbYesNoCancel) Select Case Reponse Case vbYes 'l'utilisateur veut sauver avant de fermer le fichier HideSheets Application.EnableEvents = False 'pour eviter de passer par l'evenement Workbook_BeforeSave ThisWorkbook.IsAddin = True ThisWorkbook.Save ThisWorkbook.Saved = True Application.EnableEvents = True Application.DisplayAlerts = True Application.ScreenUpdating = True Cancel = False Case vbNo 'l'utilisateur ne veut pas sauver. Pour cela: 'retour a la normale Defaut 'on vide la classe Call XlAppli.EmptyClass 'on laisse croire excel que le fichier a été sauvé ThisWorkbook.Saved = True 'on autorise la fermeture Cancel = False End Select ' si cancel rien ne ce passe End If End Sub ----------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------- Dans le module nomé module1 'Macro Créée par : BigFish (Philippe E) 'le :15-11-2008 'Mis à jour le : 03/09/2010 'V1.4 ' Option Explicit Public XlAppli As New ClasseAppli, MyFileIsOpen As Boolean Sub Defaut() Dim CmdBtn As office.CommandBarButton, CmdBs As CommandBar 'Retablit l'utilisation des raccourcis Alt+F11 et Alt+F8 Application.OnKey "%{F11}" Application.OnKey "%{F8}" 'Active la barre "Boîte à outils Contrôles" For Each CmdBs In Application.CommandBars Select Case CmdBs.Name Case "Control Toolbox", "Boîte à outils Contrôles" CmdBs.Enabled = True End Select Next End Sub Sub viderclass() Call XlAppli.EmptyClass End Sub Sub HideSheets() 'Cache toute les feuilles a l'exception de la feuille starting notice 'j'ai laissé cette option qui fonctionne si ce fichier n'est pas enregistré avec 'l'option IsAddin a vrai. Dans le cas contraire cela ne sert a rien Dim MySheet As Worksheet Application.ScreenUpdating = False Application.DisplayAlerts = False If Sheets("starting notice").Visible = xlVeryHidden Then Sheets("starting notice").Visible = True For Each MySheet In ThisWorkbook.Worksheets If Not MySheet.Name = "starting notice" Then MySheet.Visible = xlVeryHidden End If Next End Sub Sub Opening() Dim MySheet As Worksheet 'Affiche toute les feuilles a l'exception de la feuille starting notice Application.ScreenUpdating = False Application.DisplayAlerts = False ThisWorkbook.IsAddin = False For Each MySheet In ThisWorkbook.Worksheets If Not MySheet.Name = "starting notice" Then MySheet.Visible = True End If Next If Sheets("starting notice").Visible = True Then Sheets("starting notice").Visible = xlVeryHidden Application.ScreenUpdating = True Application.DisplayAlerts = True Application.EnableEvents = True ThisWorkbook.Saved = True End Sub Sub WBkSave(ByVal SaveAsUI As Boolean) 'ici on prend en charge les sauvegardes pour pouvoir gerer l'option IsAddin Dim FileSaveName As String, Reponse As VbMsgBoxResult Application.DisplayAlerts = False Application.EnableEvents = False If SaveAsUI = False Then 'sauvegarde direct ThisWorkbook.IsAddin = True ThisWorkbook.Save Else 'sauver sous FileSaveName = Application.GetSaveAsFilename(ThisWorkbook.Name) If Not FileSaveName = "False" Then 'si l'utilisateur n'a pas utilisé le bouton Cancel If Not Dir(FileSaveName) = "" Then 'si le fichier existe deja Reponse = MsgBox("le fichier '" & Dir(FileSaveName) & "' existe déjà. voulez-vous remplacer le fichier existant ? ", vbExclamation + vbYesNo) If Reponse = vbYes Then ThisWorkbook.IsAddin = True ThisWorkbook.SaveAs Filename:=FileSaveName, AddToMru:=True End If Else 'si le fichier n'existe pas ThisWorkbook.IsAddin = True ThisWorkbook.SaveAs Filename:=FileSaveName, AddToMru:=True End If End If End If Application.EnableEvents = True DoEvents 'on donne les moyens a excel de faire la sauvegarde avant de passer a la suite Opening End Sub Sub MessageDeLimitation() MsgBox "Vos droits sur ce fichier ne vous permettent pas d'acceder à ces fonctions !", vbExclamation End Sub Sub ClosingThisFile() MyFileIsOpen = False ThisWorkbook.Close End Sub ----------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------- Dans le module de classe nomé ClasseAppli 'Macro Créée par : BigFish (Philippe E) 'Macro Créée par : BigFish (Philippe E) 'le :15-11-2008 'Mis à jour le : 03/09/2010 'V1.2 ' Option Explicit Public WithEvents XL As Excel.Application Dim ClassCmdBrBtn() As ClasseCommandeBarBouton, NbButton As Integer 'Permet de vider la classe Public Sub EmptyClass() Dim i As Integer For i = 1 To NbButton On Error Resume Next Set ClassCmdBrBtn(i).BoutonBarre = Nothing Next End Sub 'Remplissage de la classe Public Sub InitClass() Dim i As Integer, MyCmdBar As CommandBar NbButton = Application.CommandBars("Visual Basic").Controls.Count 'on determine le nombre de bouton et on dimensionne la variable tableau ReDim Preserve ClassCmdBrBtn(NbButton) 'on Ajoute a la classe chaque bouton de la barre Visual Basic For i = 1 To NbButton Set ClassCmdBrBtn(i) = New ClasseCommandeBarBouton Set ClassCmdBrBtn(i).BoutonBarre = Application.CommandBars("Visual Basic").Controls(i) Next End Sub Private Sub XL_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean) 'interdit la fermeture de ce classeur ou d'excel tant qu'il est ouvert If Wb.Name = ThisWorkbook.Name And MyFileIsOpen = True Then Cancel = True End If End Sub ----------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------- Dans le module de classe nomé ClasseCommandeBarBouton 'Macro Créée par : BigFish (Philippe E) 'le :05-11-2008 'V1.1 ' Option Explicit Public WithEvents BoutonBarre As office.CommandBarButton Private Sub BoutonBarre_Click(ByVal Ctrl As office.CommandBarButton, CancelDefault As Boolean) Select Case Ctrl.Caption 'Version Anglaise jusqu'a Xl2003 Case "&Design Mode", "&Visual Basic Editor", "Control T&oolbox", "&Record New Macro...", "&Macros..." CancelDefault = True Action 'Version Française jusqu'a Xl2003 Case "Nouv&elle macro...", "&Visual Basic Editor", "&Boîte à outils Contrôles", "Mode &Création" CancelDefault = True Action 'Version Française A partir de Xl2007 Case "Mo&de Création" CancelDefault = True Action End Select End Sub Sub Action() MsgBox "Vos droits sur ce fichier ne vous permettent pas d'acceder à ces fonctions !", vbExclamation End Sub ----------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------- Dans le code de la feuille "Sheet1" 'Macro Créée par : BigFish (Philippe E) 'le 03/09/2010 'V1.0 ' 'Bouton [Fermer ce fichier] de la feuille "Sheet1" Private Sub CommandButton1_Click() ClosingThisFile End Sub و في المرفقات تجدون ملفا من نفس الموقع يطبق الطريقة أتمنى أن تكون هذه المشاركة مفيدة و جزى الله خيرا أخي الفاضل حمادة عمر الذي نصحني بفتح هذا الموضوع Limitation sur Command barreV1.6.rar
    1 point
  22. إضافة بسيطة للتنبيه على خطأ شائع: عند قسمة عبارة SQL على سطرين ينبغي مراعاة هل يوجد مسافة فاصلة بين الكلمتين : الأخيرة من السطر الأول ، والأولى من السطر الثاني . مثال : DoCmd.RunSQL "INSERT INTO Table1 ( Field1, Field2 )SELECT Table2.Field1, Table2.Field2 FROM Table2;" إذا قسمته إلى سطرين السطر الأول ينتهي بكلمة SELECT والسطر الثاني يبدأ بكلمة Table2 عليك أن تلاحظ أن بينهما مسافة ، ولذا يجب أن تضع هذه المسافة بعد الكلمة الأخيرة من السطر الأول أو قبل الكلمة الأولى من السطر الثاني يعني إما : DoCmd.RunSQL "INSERT INTO Table1 ( Field1, Field2 )SELECT " & _ "Table2.Field1, Table2.Field2 FROM Table2;" أو DoCmd.RunSQL "INSERT INTO Table1 ( Field1, Field2 )SELECT" & _ " Table2.Field1, Table2.Field2 FROM Table2;"
    1 point
×
×
  • اضف...

Important Information