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 :)

6 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
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
2
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743 > 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