Convertir une plage de texte en nombre

Poussin

XLDnaute Occasionnel
Bonjour à tous,

Alors voilà après une importation de données, je me retrouve avec que des nombres sous forme de texte. D'ailleurs Excel propose à l'aide de son petit carré jaune avec le point d'exclamation de convertir en nombre.

Mon problème est que je voudrais automatiser cette tâche afin de pouvoir traiter les données donc il me faudrait le code VBA pour faire cette tâche. Sachant que quand je sélectionne le format de cellules est que je choisi Nombre j'ai toujours le petit carré jaune d'Excel.

Merci pour votre aide.

Cordialement.
 

Pièces jointes

  • Capture1.JPG
    Capture1.JPG
    23.3 KB · Affichages: 497
  • Capture1.JPG
    Capture1.JPG
    23.3 KB · Affichages: 558
  • Capture1.JPG
    Capture1.JPG
    23.3 KB · Affichages: 535

Poussin

XLDnaute Occasionnel
Re : Convertir une plage de texte en nombre

Merci beaucoup cela fonctionne à merveille. Pourrais-tu m'expliquer comment cette fonction marche et de plus s'il était possible de la faire marcher pour plusieurs colonnes afin d'éviter de le faire pour chaque colonne. Encore merci de ton aide.
 

Pierrot93

XLDnaute Barbatruc
Re : Convertir une plage de texte en nombre

Re,

ne fonctionne en l'état que sur 1 colonne à la fois... fonctionne un peu comme lorsque tu ouvres un fichier texte avec excel... touche de fonction F1 sur "TextToColumns" dans l'éditeur vba t'en dira un peu plus....
 

Victor21

XLDnaute Barbatruc
Re : Convertir une plage de texte en nombre

Bonjour, Poussin.

Si tu multiplies ou divises un nombre au format texte par 1, de même que si tu ajoutes ou soustrais 0 à ce nombre, tu modifies également son format.
Dans une cellule inutilisée, entres un 1, puis édition, copier.
Sélectionnes ensuite ta /tes zone(s) à convertir, puis édition collage spécial, multiplication. Les valeurs n'ont pas étémodifiées, mais le format devient numérique. Si tu veux vraiment un code VBA, tu peux enregistrer le processus décrit ci-dessous avec l'enregistreur de macros (macro, nouvelle macro).

Edit : Bonjour, Pierrot93:)
 

flyonets44

XLDnaute Occasionnel
Re : Convertir une plage de texte en nombre

Bonsoir
voici du code qui opère la conversion
Sub Convertir_en_numerique()
'Conversion en numérique d'un nombre exprimé en texte '
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim Vtext As Variant
For Each Vtext In Selection
If IsEmpty(Vtext.Value) = False Then 'Traitement de la zone '
Vtext.Formula = CDbl(Vtext)
End If
Next
Application.Calculation = xlCalculationAutomatic
End Sub
cordialement
Flyonets
 

Poussin

XLDnaute Occasionnel
Re : Convertir une plage de texte en nombre

Merci beaucoup à tous pour vos réponses. Par contre flyonets44 donc ma zone à sélectionner s'étend de J2 à AM182 pour le moment par contre il se peut que je rajoute des lignes donc je voudrais rendre le tout dynamique car pour l'instant je me retrouve avec cette ligne de code statique :

Code:
Range("J2:AM182").Select

Encore merci à vous, bonne journée
 

Pierrot93

XLDnaute Barbatruc
Re : Convertir une plage de texte en nombre

Bonjour,

essaye ceci, bien que les "select" soient rarement utiles envba :
Code:
Range("J2", Range("AM65536").End(Xlup)).Select

la dernière ligne est déterminée par la colonne AM...

bonne journée
@+
 

Poireau

XLDnaute Nouveau
Re : Convertir une plage de texte en nombre

Bonjour,

Je me permet de déterrer le sujet car j'ai un petit problème suite à l'utilisation de
TextToColumns

Je m’explique:

-Je récupère un Array, Info1: (dates)
Cet Array est un String (inchangeable)
-Je rempli une plage de cellules avec cet Array
-J'utilise
TextToColumns
pour passer cette plage en Integer
-Les cellules au format date se chargent de remettre en date les données.

Voici les lignes en questions:

wkb.Sheets(Sheets.count - 1).Range("AD82").Resize(UBound(Info1, 1)) = Info1

wkb.Sheets(Sheets.count - 1).Columns(30).TextToColumns Destination:=Range("AD82", Range("AD65536").End(xlUp)

Mon problème: La deuxième ligne de code créé un décalage de deux cellules que je ne comprends pas du tout

En image: (regardez la première colonne)

-ce que renvoie la première ligne de code
Lien supprimé


-ce que renvoie les deux lignes de codes (pb):
Lien supprimé
-Ce que renvoie les deux lignes de code après traitement du format des cellules
Lien supprimé

Merci d'avance pour votre aide !! :D
 
Dernière édition:

Discussions similaires

Réponses
11
Affichages
234

Statistiques des forums

Discussions
312 332
Messages
2 087 367
Membres
103 528
dernier inscrit
maro