Macro en VBA, supprimer des caractéres

doul -  
 doul -
je souhaite créer une petite macro en vba pour excel, pour faire ceci:

je récupère sous une feuille Excel dans une colonne, des lignes qui contiennes 12 caractéres "AOU 00001215". Je souhaite supprimer les 4 caractéres de gauche dans toutes les lignes pour obtenir "00001215"

Pouvez-vous m'aider
merci
A voir également:

2 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
bonjour,

les numéro des colonnes de collecte et de restitution étant inconnus, il faudra adapter les constantes à ta feuille.
les 8 caractères restant sont restitués en format texte

Const col As String = "A" 'colonne de collecte 
Const col_r As String = "B" 'colonne de restitution 

Sub extraire_fin() 
derlig = Cells(Cells.Rows.Count, col).End(xlUp).Row
ReDim tablo(derlig - 1) 
For cptr = 0 To derlig - 1 
    tablo(cptr) = Right(Cells(cptr + 1, col), 8) 
Next 
Application.ScreenUpdating = False 
Range(Cells(1, col_r), Cells(derlig, col_r)) = Application.Transpose(tablo) 
End Sub 




:-x
1
doul
 
Merci à toi michel_m ta macro est tout à fait ce que je voulais faire .

merci
0
cousinhub29 Messages postés 1074 Date d'inscription   Statut Membre Dernière intervention   361
 
Bonjour,

Avec ce code, tu colles dans la colonne B, les valeurs que tu désires, issues de la colonne A.
On peut bien évidemment recopier ces valeurs dessus les anciennes valeurs, dans la colonne A

Colonnes à adapter...

Sub essai()
Dim Tblo, Tmp
Tblo = Range("A1:A" & [A65000].End(xlUp).Row).Value
ReDim Tmp(1 To UBound(Tblo))
For i = LBound(Tblo) To UBound(Tblo)
    Tmp(i) = Split(Tblo(i, 1), " ")(1)
Next i
Columns("B:B").NumberFormat = "@"
[B1].Resize(UBound(Tblo), 1).Value = Application.Transpose(Tmp)
End Sub


Bonne nuit
-1
doul
 
Merci à toi cousinhub29 c'est ok
merci
0