VBA convertir texte en nombre

Résolu/Fermé
fapfapfap - 16 févr. 2012 à 14:45
sagessedz
Messages postés
4
Date d'inscription
vendredi 19 mai 2017
Statut
Membre
Dernière intervention
30 juin 2017
- 19 mai 2017 à 21:59
Bonjour,


j'ai dans mon documents une plage de cellules où des nombres sont stockés sous forme de texte...j'aimerais avoir quelques lignes de code VBA les convertissant en nombre pour pouvoir les utiliser dans des calculs.

Pourriez vous svp m'aider? (excel 2007)

merci d'avance :)
A voir également:

6 réponses

pijaku
Messages postés
12259
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
9 août 2022
2 703
22 févr. 2012 à 11:55
Bonjour,
Par exemple, pour convertir A1:A10 en Nombres entiers :

Sub essai()
Dim Tabl(), i As Long
Tabl = Range("A1:A10")
For i = LBound(Tabl, 1) To UBound(Tabl, 1)
    Tabl(i, 1) = CInt(Tabl(i, 1)) 'remplacer CInt par CDbl si nombres décimaux
Next
Range("A1").Resize(UBound(Tabl, 1), 1) = Tabl
End Sub
3
Merci, la méthode fonctionne mais uniquement sur la colonne une.

La plage a transformer dans mon cas contient 2 colonnes...

Pouvez vous encore m'indiquer la solution?

Merci encore pour l'aide précieuse!
0
En fait c'est bon, je vais simplement déclarer une autre variable et recopier les mêmes lignes à la suite.

Merci encore!!

ps: je n'arrive plus à passer le topic en résolu...si un modo pouvait s'en charger pour moi...
0
Bonjour pijaku, j'ai essayé ton code en remplaçant A10 par A50000 puisque j'ai plus de 30000 lignes, et j'obtiens une incompatibilité de type.
Aurais-tu une idée?
0
pijaku
Messages postés
12259
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
9 août 2022
2 703 > juguy
21 mai 2015 à 13:31
Bonjour,

Dans les lignes vides, tu essaies de transformer "rien" en nombre entier. Cela ne peut pas fonctionner.
Cible ta dernière ligne remplie...

Autre idée, peut être que dans tes 30000 lignes s'est glissée une valeur autre que des nombres... Une lettre? Une erreur #N/A? Autre?
0