Convertir en nombre [Résolu/Fermé]

Signaler
Messages postés
37
Date d'inscription
lundi 13 juillet 2015
Statut
Membre
Dernière intervention
20 octobre 2015
-
Messages postés
37
Date d'inscription
lundi 13 juillet 2015
Statut
Membre
Dernière intervention
20 octobre 2015
-
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

Messages postés
8535
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
9 avril 2021
1 650
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
Messages postés
37
Date d'inscription
lundi 13 juillet 2015
Statut
Membre
Dernière intervention
20 octobre 2015

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