Macro conserver les 30 premiers caractères d'une cellule

Bonjour,

J'ai un texte dans les cellules de la colonne E et je souhaiterai garder que les 30 premiers caractères dans chaque cellule de la colonne E

Je n'arrive pas à créer une macro pour cela.

Merci de votre aide

Bonjour,

Avec une formule seulement :

=STXT(E1;1;30)

Bonjour,

Merci mais il me faudrait une macro s'il vous plait ?

Bonjour,
Un exemple dans le fichier joint.
Cdlt.

37mailysg.xlsm (17.81 Ko)
Sub ReduceStrings()
Dim lastRow As Long, arrData As Variant, i As Long
    With ActiveSheet
        lastRow = .Cells(.Rows.Count, 5).End(xlUp).Row
        arrData = .Cells(2, 5).Resize(lastRow - 1).Value
        For i = LBound(arrData) To UBound(arrData)
            arrData(i, 1) = VBA.Left(arrData(i, 1), 30)
        Next i
        With .Cells(2, 5)
            .Resize(UBound(arrData)).Value = arrData
            .EntireColumn.AutoFit
        End With
    End With
End Sub

C'est super, ça marche très bien !!!

Une dernière question, il me faudrait une macro pour que la colonne L soit un format nombre et dans cette même colonne les . soient remplacés par des ,

Merci beaucoup de votre aide

Re,
C'est Noël avant Noël.

15mailysg-v2.xlsm (19.64 Ko)
Sub ConvertStringsToNumbers()
    ActiveSheet.Columns(12).TextToColumns _
            Destination:=Cells(12), _
            DataType:=xlDelimited, _
            FieldInfo:=Array(1, 1),
            DecimalSeparator:=".", _
            TrailingMinusNumbers:=False
End Sub

Vous ne croyez pas si bien dire !!!!

Heureusement que les forums existent pour les novices comme moi

Merci pour votre réactivité !

Très belle journée

Re,
Merci de ce retour.
Cdlt.

Rechercher des sujets similaires à "macro conserver premiers caracteres"