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

التحكم في الكسور العشرية بدون تقريب


itisoer

الردود الموصى بها

هذه أول مرة أشارك لأني عرفت المنتدى منذ فترة بسيطة وأسئلتى اليوم كثيرة :

عايز أجبر مستخدم البرنامج أن يلزم بعدة شروط عندما يكتب رقم /

أول شرط :[/u] أن يكون الرقم موجب وليس سالب ويقع بين قيمتين ولنقل الصفر و 30 مثلا.

ثاني شرط :[/u] لو المستخدم كتب رقم فيه كسور عشرية أن يلتزم بعدد معين من الأرقام في الكسر العشري مثلا رقمين في حالة الكسر العشري يعنى على هذا الشكل 0.00 أو ثلاثة أرقام فقط أي على هذا الشكل 0.000 أو أربعة أرقام فقط يعني على هذا الشكل 0.0000 ، وعلى فكرة عندما نحل هذه المشكلة من خلال تحديد عدد المنازل العشرية الخاصة بالرقم في تنسيق الخلية يجعل الإكسل يلتزم فعلا بذلك ولكنه يقبل ما يدخله المستخدم وبأي عدد من المنازل العشرية ثم يقوم بالتقريب إلى عدد المنازل الذي حددته ، ولكن ما أريده في برنامجي ألا اترك للمستخدم فرصة الخطأ وألا يقبل البرنامج إذا أدخل المستخدم عدد منازل عشرية غير الذي أحدده انا وأن تظهر رسالة خطأ عند ذلك تقول ( عليك الالتزام بعدد # خانة عشرية ) حيث # هو عدد المنازل العشرية التي احددها انا .

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

رابط هذا التعليق
شارك

الأخ الكريم.... أهلاً وسهلاً بك

بالنسبة للشرط الأول: بعد تحديد الخلية نستطيع من خلال قائمة Data نختار Validation ثم whole number ثم between ثم تختار القيمتين اللتين تريدهما.

كما يوجد علامتي تبويب بالأعلى Input Message و Error Alert تستطيع من خلالهما أن تكتب تنبيه ما ، وكذلك رسالة الخطأ ، كما هو المثال المرفق.

أما بالنسبة للشرط الثاني: فأتركه إلى أحد الأخوة الخبراء ، عسى أن يفيدونا في شيء (جزاهم الله خيراً)

تقبل تحياتي

example.zip

رابط هذا التعليق
شارك

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

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

_______________________.rar

  • Like 1
رابط هذا التعليق
شارك

شكرًا للأخ الفاضل (كريم)

وشكرًا للأخ (شفيق)

وللأستاذ (كريم) أقول : أتوجه لكم بوافر الشكر لأنك تفهمت سؤالي بالضبط وقدرت تعرف انه جديد ومن الآخر انت راجل محترم وعلشان انت محترم أعتقد إنك هتقبل ملحوظاتى على الحل الذى قدمته ، شوف يا سيدي

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

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

وياريت كمان يا أستاذ (كريم) نكون شاكرين لو شرحت لنا انت عملتها إزاي علشان لو عايزين نخلي المنازل العشرية خانة واحدة مثلا أو ثلاثة وهكذا لأنى حاولت أفهم المعادلة الطويلة الموجودة فى العمود G لكن لم أوفق ، وشكرا مرة تانية.

رابط هذا التعليق
شارك

السلام عليكم...

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

_______________________.rar

رابط هذا التعليق
شارك

الاخ itisoer

تحياتى لك

ارجو مراجعة ما فهمت من مشاركتك قبل عمل الكود الخاص بك : حتى لا نقوم بتعديلات كثيرة بعد عمل الكود

1 - يجب ان تكون الارقام المدخلة محددة من رقم الى رقم (موجب) .

2 - فى حالة ادخال رقم ملحق به كسر عشرى بعد تحقق الشرط الاول يجب ان يكون فى صورة المنازل العشرية التى يتم تحديدها

كما ذكرت فى المشاركة الاولى

(رقمين في حالة الكسر العشري يعنى على هذا الشكل 0.00 أو ثلاثة أرقام فقط أي على هذا الشكل 0.000 أو أربعة أرقام فقط يعني على هذا الشكل 0.0000 )

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

هل سيكون رقم صحيح بدون المنازل العشرية ام رقم صحيح بالمنازل العشرية .

تحياتى لك

رابط هذا التعليق
شارك

الأستاذ الفاضل tameromar

ما أطلبه هو أرقام دائمًا موجبة وعند إدخال رقم صحيح يظهر بشكله الطبيعى يعني (رقم صحيح فقط) أي يظهر بدون كسور يعنى لو المستخدم مثلا أدخل 5 مطلوب أن تظهر 5 أما لو المستخدم مثلا يريد إدخال 12.4 فأخطأ (وكتب من غير ما ينظر للشاشة) وبدون قصد كتب 12.45 هنا أنا عايز البرنامج يرفض لأنه متبرمج على انه لا يقبل اكثر من خانة عشرية واحدة ويظهر رسالة تقول للمستخدم رجاء الالتزام بخانة عشرية واحدة

أما لو أنا كنت مصمم البرنامج على انه لا يقبل أكثر من خانتين ففي هذ الحالة عندما يكتب المستخدم مثلا 45 أو 7.3 أو 96.45 يقبلها البرنامج جمعيها لكن لو كتب المستخدم مثلا 95.416 يرفض وتظهر رسالة تقول رجاء الالتزام بخانتين عشريتين فقط

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

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

جزاه الله وإياك خير الجزاء .

رابط هذا التعليق
شارك

الاخ itisoer

تحياتى لك

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

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

ولا مناص من حلها

شاهد المرفق

_______________________.rar

تم تعديل بواسطه tameromar
رابط هذا التعليق
شارك

الاستاذ tameromar

نشكر ك اهتمامك ، بس الملف الذي أرفقته انت لم أفهم منه شيئا

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

رابط هذا التعليق
شارك

الاخ itisoer

تحياتى لك

لا ارى اى ملحوظه

ارجو ان تذكر هنا كتابة الشروط التى تم تحديدها والارقام التى يخطئ مهعا الكود تحت هذه الشروط

تحياتى لك

رابط هذا التعليق
شارك

الاخ itisoer

تحياتى لك

لا ارى اى ملحوظه

ارجو ان تذكر هنا كتابة الشروط التى تم تحديدها والارقام التى يخطئ مهعا الكود تحت هذه الشروط

تحياتى لك

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

ربنا معاك يا أخ عمر و يلهمك الصبر

السلام عليكم

رابط هذا التعليق
شارك

الاخ هادى سالم

تحياتى لك

امين رب العالمين

اخى هادى هل تكرمت بتجربة ملحوظة الاخ itisoer واخبارى بالنتيجة للتأكد من ذلك

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

رابط هذا التعليق
شارك

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



الملف شغال ميه ميه
و لذلك ارسلت لك المشاركه السابقه
لكن المشكله عند جمع العمود سيكون المجموع غيرمطابق لان الخليه Text
و يمكن التغلب بتحويل الخلايا الى رقم من العلامه الصفراء "! " بجوار الخليه



السلام عليكم
تم تعديل بواسطه هادى سالم
رابط هذا التعليق
شارك

الملحوظة يا جماعة هى /

طبعا الرقم بين الصفر والواحد بيكون موجب لكن المشكلة إني عندما أكتب أن الحد الأدنى يساوي صفر لا يلتزم البرنامج بأي عدد للمنازل يعني لو تكتب رقم من خانتين عشريتين هيقبل ، وثلاث خانات هيقبل ، 4 هيقبل ، 5 ، 6 ، . . . وهكذا دايما يقبل والمستخدم ممكن يغلط ويدخل رقم بأي عدد من الخانات العشرية وبذلك يكون المقصد الأساسي من برنامج الأخ عمر فيه القصور البسيط ده في حالة الحد الأدنى يسادوي صفر (مع الاحتفاظ بكل التقدير للأخ المحترم عمر)

هي دي الملحوظة اللي الكلام عليها كتير خلاص يا جماعة

ونكرر الشكر للمشرفين الكرام

رابط هذا التعليق
شارك

الاخ itisoer

تحياتى لك

ارجو ان تذكر هنا كتابة الشروط التى تم تحديدها والارقام التى يخطئ مهعا الكود تحت هذه الشروط

لقد ذكرت لك ان تذكر شروط الادخال كتابة والارقام الخاطئة ايضا كتابة

ارجو ان تكون على هذه الصورة حتى يمكن مراجهتعا

الشروط المحدده التى يعمل عليها الكود هى

الحد الادنى للرقم هو : (اكتب هنا الحد الادنى للرقم)

الحد الاعلى للرقم هو : (اكتب هنا الحد الاعلى للرقم)

عدد المنازل العشرية هو : (اكتب هنا عدد المنازل العشرية)

الارقام الخاطئة التى يقبلها الكود : (اكتب هنا الارقام الخاطئة التى يقبلها )

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

ارجو سرعة الرد

رابط هذا التعليق
شارك

الاخ هادى

تحياتى

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

ولكنى لم استطيع فهم شكوى الاخ itisoer او الوصول الى مايذكر من شكوى

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

فهو يذكرها بشكل عام لاتمكنى من تحديد القصور المذكور .

وربما يكون قصورا منى فى فهم ما كتب من ملحوظة .

تحياتى لك

رابط هذا التعليق
شارك

الشروط المحدده التى يعمل عليها الكود هى /

* الرقم المطلوب إدخاله عدد صحيح أو عشرى ويكون موجب دائما

* الحد الأدنى والأعلى يحدده مستخدم البرنامج ، يعني تمام زي ما حضرتك تفضلت وعملت في برنامجك . . . . واضح لحد كده !

* عدد المنازل العشرية يحددها المستخدم أيضا حسب ظروف العمل المطلوب ، تمام زي برنامج حضرت بالضبط .

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

عندما يحدد المستخدم الحد الأدني صفر

والحد الأعلي أي رقم وليكن 20

ويحدد عدد المنازل العشرية بأي عدد 1 أو 2 أو 3 أو أي عدد

ثم تحاول كتابة عدد عشري بين الصفر والواحد تجد أن البرنامج يلتزم بجميع الشروط السابقة عدا شرط واحد وهو عدد

المنازل العشرية

مثال (1)

قم بتحديد الحد الأدنى صفر والحد الأعلى أي رقم وليكن 30 ، عدد المنازل العشرية 1

قم بإدخال رقم به خانتين عشريتين وليكن (0.24) تجد البرنامج لا يعترض ويقبل الرقم وبهذا اختل شرط الالتزام بعدد الخانات

العشرية

مثال (2)

على نفس المثال السابق ولكن أدخل الرقم (0.245) تجد البرنامج لا يعترض ويقبل الرقم وبهذا اختل شرط الالتزام بعدد

الخانات العشرية

مثال (3)

على نفس المثال السابق ولكن أدخل الرقم (0.2456) تجد البرنامج لا يعترض ويقبل الرقم وبهذا اختل شرط الالتزام بعدد

الخانات العشرية

مثال (4)

بنفس إعدادت الأمثلة السابقة مع تغيير ععد المنازل العشرية إلى 2 بدلا من 1

أدخل الرقم (0.245) تجد البرنامج لا يعترض ويقبل الرقم وبهذا اختل شرط الالتزام بعدد الخانات العشرية

**** هذا هو المقصود يا سادة

برنامج الأخ عمر جميل جدا لكن عند ادخال أي إعدادت للرقم مع المحافظة على الحد الأدنى يساوي صفر تجد أن الرقم لا يلتزم

بعدد الخانات العشرية عند إدخال رقم عشري بين الصفر والواحد

ومفيش شرح عندي تاني أفضل من كده

وشكرا

رابط هذا التعليق
شارك

الاخ itisoer

تحياتى لك

هذا هو المطلوب من الملاحظات من البداية ان تكون محددة الارقام اخى itisoer

فلا تحتد اخى العزيز هدفى هو الوصول الى لب المشكلة لتأكدى من صحة عمل الكود

اما عن الامثلة الاربعة التى تكرمت بذكرهم على جهازى ومع الشروط التى ذكرتها لايقبلها الجهاز عندى وهذا مؤكد

وهذا سبب استغرابى من البداية .

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

ولهم جزيل الشكر .

مع ملاحظة : يجب التأكد من تحديد مستوى امان الماكرو ب (منخفض) واغلق الملف واعادة فتحة مرة ثانية لتجربة الامثلة.

تحياتى للجميع

رابط هذا التعليق
شارك

مثال (4)

بنفس إعدادت الأمثلة السابقة مع تغيير ععد المنازل العشرية إلى 2 بدلا من 1

أدخل الرقم (0.245) تجد البرنامج لا يعترض ويقبل الرقم وبهذا اختل شرط الالتزام بعدد الخانات العشرية

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

هذا الذى يقصده الاخ عمر من أمس

بصراحــه

تصحيحا لما كتبه الاخ itisoer

اذا ادخلت العلامه العشريه ليس قبلها صفر لا يوجد مشكله كما هو وارد للاقتباس

انما أعتقد المشكله التى يقصدها

عندما يتم ادخال الصفر ثم علامه عشريه ثم الكسر يبدأ بصفر هكذا (0.0245) يتم قبولها لاى عدد للمنازل العشريه

السلام عليكم

رابط هذا التعليق
شارك

الاخ itisoer

تحياتى لك

اذا كان ما اشار اليه الاخ هادى سالم هو المشكلة اليك الحل بالمرفقات

شاهد المرفق

_______________________.rar

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information