Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Vérifier si une valeur est VRAIMENT du numérique

2 réponses
Avatar
Goullinus
Voici mon probl=E8me :
Je souhaiterais, en VBA, pouvoir v=E9rifier si le contenu
d'une cellule est vraiment du num=E9rique.
Il me faut distinguer pour cela le VRAI num=E9rique d'un
nombre au format texte (obtenu par exemple apr=E8s=20
extraction d'une chaine num=E9rique d'une phrase=20
quelconque).

le contr=F4le "IsNumeric" de VBA ne permet pas de faire=20
cette diff=E9rence...

Merci d'avance pour la solution (si elle existe !...)

Goullinus

2 réponses

Avatar
Denis Michon
Bonjour Goullinus,

Si j'ai compris ce que tu désires, utilises les fonctions de conversion. Regarde dans l'aide VBA sous la rubrique
"conversion".

Essaie ce qui suit :

'-----------------------------
Sub TestNumeric()

On Error Resume Next
If Range("A2").NumberFormat <> "@" Then
a = CDbl(Range("A2"))
If Err = 0 Then
MsgBox Range("A1").Address(0, 0) & " est numérique."
Else
MsgBox Range("A1").Address(0, 0) & " est non numérique."
End If
Else
MsgBox Range("A1").Address(0, 0) & " est non numérique."
End If

End Sub
'-----------------------------



Salutations!




"Goullinus" a écrit dans le message de news:014001c395bd$4076c930$
Voici mon problème :
Je souhaiterais, en VBA, pouvoir vérifier si le contenu
d'une cellule est vraiment du numérique.
Il me faut distinguer pour cela le VRAI numérique d'un
nombre au format texte (obtenu par exemple après
extraction d'une chaine numérique d'une phrase
quelconque).

le contrôle "IsNumeric" de VBA ne permet pas de faire
cette différence...

Merci d'avance pour la solution (si elle existe !...)

Goullinus
Avatar
AV
Autre....
La fonction de feuille de calcul ESTNUM (isnumber) fait le distinguo que tu
souhaites :

Sub zz_TestNum()
MsgBox Evaluate("isnumber(" & ActiveCell.Address & ")")
End Sub

AV