Re : Passer de 1,2,3,4,5,6,ou 7 caracteres à 8 en vba
Bonjour une petite macro qui fait le boulot, à adapter bien sur
Public Sub numcs()
' RECODIFICATION DE NOMBRE SUIVANT LE NOMBRE DE CHIFFRES
'de 6 à 10 'FLA 2010.06.12
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim Tablo, Derli&, Coef As Double, Ri&, Ci&
Dim K&, Rng As Range, Ici As Object
Set Ici = Range("F2") ' à adatper
Ri = Ici.Row
Ci = Ici.Column
Derli = Range("A65536").End(xlUp).Row
Cells(2, 1).Select
Columns(Ici.Column).Clear
Tablo = ActiveSheet.Cells(2, 1).Resize(Derli, 1).Value
For K = LBound(Tablo, 1) To UBound(Tablo, 1)
Coef = Len(Tablo(K, 1))
'de 6 chiffres à 10 chiffres
Select Case Coef
Case Is = 6
Coef = 100
Case Is = 7
Coef = 10
Case Is = 8
Coef = 1
Case Is = 9
Coef = 0.1
Case Is = 10
Coef = 0.01
End Select
Tablo(K, 1) = Coef * Tablo(K, 1)
Next
'MsgBox (UBound(Tablo))
'Retour du tableau dans la feuille des comptes renumérotés'
Range(Ici, Cells(Derli, Ci)) = Tablo
'autre solution
Set Ici = Range("F2").Resize(K - Ri, 1)
'Ici.Select
Ici = Tablo: Set Ici = Nothing
Erase Tablo
Application.Calculation = xlCalculationAutomatic
End Sub
Cordialement
Flyonets