Convertir en nombre

Résolu/Fermé
a51432 Messages postés 37 Date d'inscription lundi 13 juillet 2015 Statut Membre Dernière intervention 20 octobre 2015 - 17 sept. 2015 à 16:26
a51432 Messages postés 37 Date d'inscription lundi 13 juillet 2015 Statut Membre Dernière intervention 20 octobre 2015 - 18 sept. 2015 à 10:04
Bonjour,

Je cherche à convertir des cellules contenant uniquement des chiffres du format texte au format nombre. Les cellules avec le format texte ont un petit triangle vert d'erreur dans le coin supérieur gauche.

J'arrive à convertir les cellules en nombre (avec le code ci-dessous) mais le triangle ne disparait pas et les cellules ne sont donc pas utilisables pour des formules type recherchev. Le triangle ne disparait que si je double-clic dans la cellule.

Cells(1, 1).NumberFormat = "0"


J'ai également essayé avec Cint. Le triangle vert disparait bien mais la valeur renvoyée est 0...

Cells(1, 1).Value = test
Cells(1, 1).Value = CInt(test)


J'ai tenté de combiner les deux solutions ci-dessus mais sans succès...

Merci d'avance pour les solutions que vous pouvez apporter à ce problème.

Cordialement,
A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié par Patrice33740 le 17/09/2015 à 22:55
Bonjour,

En réalité tu cherches à convertir un texte composé de chiffres en nombre.

Ce n'est pas un problème de format mais un problème de valeur, en effet le fait de changer de format de texte en nombre ne change pas le contenu : le texte reste du texte et les nombres restent des nombres. Il est est de même lors qu'on change de format nombre vers un format texte.

Pour convertir un texte (représentant un nombre) en nombre il faut utiliser la fonction Val() :
Cells(1, 1).Value = Val(Cells(1, 1).Value)


PS : dans ce cas le triangle vert ne signifie pas qu'il y a une erreur, c'est simplement un avertissement sur le contenu de type texte qui risque d'engendrer des erreurs de calcul.

Cordialement
Patrice
0
a51432 Messages postés 37 Date d'inscription lundi 13 juillet 2015 Statut Membre Dernière intervention 20 octobre 2015 1
18 sept. 2015 à 10:04
Bonjour,

Merci de ta réponse !

J'avais trouvé une autre solution en mettant le code ci-dessous :

.Cells(i, 1).NumberFormat = "0"
.Cells(i, 1).Formula = .Cells(i, 1).Value
0