Fonction Val

C

Chezmoi

Guest
Bonjour,

J'utilisais la fonction Val dans un macro que j'avais faite, pour tester si les cellules sont des nombres ou non. Ainsi je pouvais les mettre sous un format Nombre et non plus laisser en standart, qui est moins adéquate pour réaliser des calcules.

En effet voici mon code :
If Val (Range("A" & i)) <> 0 Then
Range("A" & i).NumberFormat = "#,##0.00"

Mais je me suis rendu compte que celui ci provoquait une très grave erreur !!
En effet, il met arrivé d'avoir dans la cellule "0,5", la fonction retourné alors que le nombre entier soit 0. Et le tout était donc considéré comme String alors que c'était un nombre..

Savez vous donc si il est possible de tester si la cellule possede des chiffres sans pour autant provoqué d'erreur (ni sans gérer l'erreur) ?
Merci
 
M

michel

Guest
bonjour

pour tester les données décimales avec la fonction Val , il faut remplacer la virgule par un point

par exemple

Cible = Range("A" & i)
Cible = Application.Substitute(Range("A" & i), ",", ".")
If Val(Cible) <> 0 Then
Range("A" & i).NumberFormat = "#,##0.00"


bonne soirée
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 066
Membres
104 015
dernier inscrit
kkgk