Macro en VBA, supprimer des caractéres

Fermé
doul - 2 oct. 2010 à 22:04
 doul - 3 oct. 2010 à 19:07
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 3/10/2010 à 09:25
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
Merci à toi michel_m ta macro est tout à fait ce que je voulais faire .

merci
0
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
3 oct. 2010 à 03:52
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
Merci à toi cousinhub29 c'est ok
merci
0