Macro pour convertir en numerique

Cazinos

XLDnaute Occasionnel
Bonjour,


J'ai une série de chiffre en texte que je voudrais convertir en numérique
Je cherche à faire cette conversion avec une macro
La macro doit être capable de convertir uniquement les cellules que je selectionne

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Macro pour convertir en numerique

Bonjour à tous,

essaye la conversion de données, barre de menu excel => données => convertir, ce pour la totalité d'une colonne et en utilisant l'enregistreur de macro pour obtenir ton code...

bonne journée
@+
 

Cazinos

XLDnaute Occasionnel
Re : Macro pour convertir en numerique

Merci
J'ai déjà essayé cette méthode mais je cherche à convertir en numérique sur selection de cellules uniquement
Avec la méthode convertir, la macro va enregistrer un "range" sur des colonnes toujours identiques et pas sur une selection de cellules
Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Macro pour convertir en numerique

Re,

un exemple avec la cellule active :
Code:
ActiveCell.TextToColumns Destination:=ActiveCell

peut s'adapter à une plage de cellules adjacentes

Code:
Range("A1:A10").TextToColumns Destination:=Range("A1")
 

Mr Cobb

XLDnaute Nouveau
Re : Macro pour convertir en numerique

Bonjour,

Voici une macro pour convertir tes données en format numérique :

Code:
Sub Numérique()
'
' Numérique Macro
'
 Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim T As String, X, Elt As Variant, K&
Dim Rg As Range, C As Range
X = xlNumberAsText
With ActiveSheet
K = Cells(65536, 3).End(xlUp).Row
Set Rg = .Range("L1:H" & K)
On Error Resume Next
For Each C In Rg
    With C
        If C <> vbNullString Then
            T = C.Value
            For Each Elt In Array(" ", Chr(160))
                T = Replace(T, " ", "")
            Next
            T = Replace(T, ".", Format(0, "."))
            .NumberFormat = "General" 'Standard
            .Value = CDbl(T)
        End If
    End With
Next
End With
Set Rg = Nothing
Application.Calculation = xlCalculationAutomatic
'
End Sub
 

Cazinos

XLDnaute Occasionnel
Re : Macro pour convertir en numerique

Merci pour la macro, par contre des lignes sont en rouges voir ci-dessous



Sub Numérique()
'
' Numérique Macro
'
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim T As String, X, Elt As Variant, K&
Dim Rg As Range, C As Range
X = xlNumberAsText
With ActiveSheet
K = Cells(65536, 3).End(xlUp).Row
Set Rg = .Range("L1:H" & K)
On Error Resume Next
For Each C In Rg
With C
If C <> vbNullString Then
T = C.Value
For Each Elt In Array(" ", Chr(160))
T = Replace(T, " ", "")
Next
T = Replace(T, ".", Format(0, "."))
.NumberFormat = "General" 'Standard
.Value = CDbl(T)
End If
End With

Next
End With
Set Rg = Nothing
Application.Calculation = xlCalculationAutomatic
'
End Sub
 

KenDev

XLDnaute Impliqué
Re : Macro pour convertir en numerique

Bonsoir à tous,

Un essai testé avec l'exemple fourni. Sélectionner la plage concernée puis :

VB:
Sub CTN()
    Dim r As Range, c As Range, n#
    Set r = Selection
    For Each c In r
        n = c: c = n
    Next c
End Sub

Cordialement

KD
 

ROGER2327

XLDnaute Barbatruc
Re : Macro pour convertir en numerique

Bonjour à tous


Un autre code :
VB:
Sub toto()
Dim oCel As Range
    On Error Resume Next
    For Each oCel In Selection.Cells
        If Not IsEmpty(oCel) Then oCel.Value = --oCel.Value
    Next
End Sub


ROGER2327
#5812


Vendredi 6 Palotin 139 (Sainte Oneille, gourgandine - fête Suprême Quarte)
6 Floréal An CCXX, 0,1853h - ancolie
2012-W17-3T00:26:41Z
 

ROGER2327

XLDnaute Barbatruc
Re : Macro pour convertir en numerique

Bonjour à tous


Bonjour

ou encore

Code:
Sub test()
    Selection = Selection.Value
End Sub
Plus concis, tu meurs.
Mais attention en cas de sélection de plages discontinues !

Exemple : plage "A1:A7"
2370223400
1094002000
1181772200
0890020700
0192113100
1130378500
4980072900

Si on sélectionne "A1:A2,A4:A6", on obtient :
2370223400
1094002000

1181772200
2370223400
2370223400
2370223400

4980072900


ROGER2327
#5813


Vendredi 6 Palotin 139 (Sainte Oneille, gourgandine - fête Suprême Quarte)
6 Floréal An CCXX, 3,4159h - ancolie
2012-W17-3T08:11:54Z
 

Statistiques des forums

Discussions
312 571
Messages
2 089 809
Membres
104 278
dernier inscrit
LENZY