Les limites de la fonction "IsNumeric" pour un contrôle de saisies

Magic_Doctor

XLDnaute Barbatruc
Rebonjour,

Je voulais réaliser un contrôle de saisies numériques qui tienne compte de toutes les bourdes possibles et imaginables. Seulement voilà, je me suis rendu compte que la fonction "IsNumeric" acceptait curieusement des entrées, disons, folkloriques. Par exemple, "6+" et "6-" sont acceptés. Allez additionner par la suite ces "valeurs" avec autre chose...
Je n'ai pas encore pu résoudre, par exemple, "--6" ou "---6" etc. Autrement dit forcer le contrôle à n'accepter qu'un seul signe négatif à gauche du nombre, car, là aussi, le résultat, dans le cadre d'une addition, peut être déconcertant (même si, au fond, c'est logique). Exemples :
-6 + 1 = -5
--6 + 1 = 7
---6 + 1 = -5
----6 + 1 = 7
etc.

Je glisse mon contrôle de saisies pour les curieux et, pourquoi pas, pour une éventuelle simplification.
 

Pièces jointes

  • Saisies.xlsm
    22.7 KB · Affichages: 52
  • Saisies.xlsm
    22.7 KB · Affichages: 58
  • Saisies.xlsm
    22.7 KB · Affichages: 59

ralph45

XLDnaute Impliqué
Re : Les limites de la fonction "IsNumeric" pour un contrôle de saisies

Salut Magic_Doctor...

Pourquoi ne pas passer par les validations de données ?
Tous tes problémes seraient résolus --> Voir ce que j'ai fait en cellules D4 et D5...

A+
 

Pièces jointes

  • Magic_Doctor.xlsm
    23.9 KB · Affichages: 39
  • Magic_Doctor.xlsm
    23.9 KB · Affichages: 49
  • Magic_Doctor.xlsm
    23.9 KB · Affichages: 50

Magic_Doctor

XLDnaute Barbatruc
Re : Les limites de la fonction "IsNumeric" pour un contrôle de saisies

Bonjour ralph45,

Effectivement, c'est une autre solution, même drastique. Je n'y avais pas pensé.
Pour une question de look et d'entêtement, je continue sur ma lancée. En revanche, votre solution est intéressante. Une question : comment vous y prenez-vous, dans les cellules D4 et D5, pour qu'apparaisse la boîte en cas d'erreur ?

Bonne fin d'après-midi.
 

ralph45

XLDnaute Impliqué
Re : Les limites de la fonction "IsNumeric" pour un contrôle de saisies

Re Magic_Doctor,

Toujours dans le ruban "Données" / "Validation de données", il y a des onglets de messages de saisies (1) et/ou d'erreurs (2) que tu peux personnaliser. Voir en PJ.

Validation de données et plus.png

A+
 

chris

XLDnaute Barbatruc
Re : Les limites de la fonction "IsNumeric" pour un contrôle de saisies

Bonjour

Pour compléter : je conseille, comme Raph45, dans les cas tordus, de passer par des validations.
Cependant comme il est facile de contourner, volontairement ou non, par un simple copier coller qui écrase la validation, si VBA, je double le contrôle soit en vérifiant que la validation est toujours présente dans la cellule, soit en interdisant le collage sur la feuille.
 

Hub

XLDnaute Occasionnel
Re : Les limites de la fonction "IsNumeric" pour un contrôle de saisies

Bonjour à tous,

Merci pour cette conversation qui m’a énormément aidé.

Pour Chris, selon toi il faut protéger les saisies des « copier/coller » et autre par une procédure VBA.

Etant débutant en VBA, peux tu m’expliquer comment faut-il s’y prendre ?

Merci d’avance pour la réponse,

@+
 

Statistiques des forums

Discussions
312 386
Messages
2 087 853
Membres
103 669
dernier inscrit
Anne Sicard