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

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. doul
       
      Merci à toi michel_m ta macro est tout à fait ce que je voulais faire .

      merci
      0
  2. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     
    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
    1. doul
       
      Merci à toi cousinhub29 c'est ok
      merci
      0