Programmation VBA

Fermé
Elise - 28 mai 2007 à 11:38
blux Messages postés 26011 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 - 28 mai 2007 à 13:54
Bonjour,
dans un fichier Excel, j'ai fait des macros qui font des calculs à partir de données entrées dans des cellules.
Pb : si l'utilisateur du document se trompe et qu'il entre des données qui ne sont pas des chiffres, les macros bug.
Comment vérifier la nature d'une saisie?
(en l'occurence, comment vérifier que la donnée entrée est bien un chiffre, éventuellement à virgule)
Merci d'avance,
Elise

2 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
28 mai 2007 à 11:51
bonjour,
plein de réponses sur les forum.
explore IsNumeric. (tape dans le code IsNumeric, sélectionne le mot et tape F1 tu aurras le mode d'emploi)
A+
louis
0
xjl Messages postés 232 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 12 juin 2007 183
28 mai 2007 à 11:58
Salut,

tu dois pouvoir tester la nature du contenu de la cellule renseignée:

Private Sub Worksheet_Change(ByVal Target As Range)

If IsNumeric(Target.Value) = True Then
'
' Ta macro
'
Else
MsgBox "Merci de rentrer une valeur numérique"
Target.Select
Target.Value = ""
End If
End Sub

A insérer dans le code de la feuille de calcul concernée, et à adapter.... ;-)
0
Merci beaucoup,
c'est exactement la fonction qu'il me fallait!
Elise
0
blux Messages postés 26011 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
28 mai 2007 à 13:54
Salut,

il y a aussi IsNull(), si l'utilisateur n'a rien rentré, ce qui évite aux tests de se planter...
0