Je sollicite votre aide car j'ai un classeur Excel dans lequel j'importe les données d'un logiciel extérieur, le soucis est que avec le copier-coller tous les chiffres situés dans ma colonne "D" se mettent sous format texte. Je traite énormément de données, d'où mon souhait d'avoir un code VBA pour réussir à convertir de façon automatique tous les chiffres au format nombre. J'ai essayé l'enregistreur de macros mais il ne prend compte la correction de l'erreur et ne me sort pas de code. Et dans mon tableau le nombre de ligne est variable. Je joins un petit fichier texte pour illustrer.
Sub TexteEnNombre()
Dim L%: Application.ScreenUpdating = False
For L = 2 To Range("A65500").End(xlUp).Row
If Cells(L, "D") <> "" Then
Cells(L, "D") = Val(Cells(L, "D"))
End If
Next L
End Sub
Vous pouvez la lancer par ALT+F8 puis TexteEnNombre, ou raccrocher cette macro à un bouton, comme bon vous semble.
Sub Convertir()
[D:D].NumberFormat = "General" 'format Standard
[I1] = 0
With Selection 'mémorise
[I1].Copy
[D:D].SpecialCells(xlCellTypeConstants).PasteSpecial xlPasteValues, Operation:=xlAdd 'collage spécial avec addition
.Select
End With
[I1] = ""
Application.CutCopyMode = 0
End Sub
Sub TexteEnNombre()
Dim L%: Application.ScreenUpdating = False
For L = 2 To Range("A65500").End(xlUp).Row
If Cells(L, "D") <> "" Then
Cells(L, "D") = Val(Cells(L, "D"))
End If
Next L
End Sub
Vous pouvez la lancer par ALT+F8 puis TexteEnNombre, ou raccrocher cette macro à un bouton, comme bon vous semble.
Sub Convertir()
[D:D].NumberFormat = "General" 'format Standard
[I1] = 0
With Selection 'mémorise
[I1].Copy
[D:D].SpecialCells(xlCellTypeConstants).PasteSpecial xlPasteValues, Operation:=xlAdd 'collage spécial avec addition
.Select
End With
[I1] = ""
Application.CutCopyMode = 0
End Sub