[VBA] Manipulation chaine de caractere

Clément -  
Polux31 Messages postés 7219 Statut Membre -
Bonjour,

Je rencontre un léger soucis et j'aimerai un petit peu d'aide s'il vous plait.
Je dois extraire les 5 derniers caractères de chaque cellule de la colonne C (de C2 a C1050) et les coller dans la colonne D.
Etant donné que ses chiffres sont variables j'ai tenté de faire un :

Dim AnyString3, MyStr3

AnyString3 = Range("C2:C1050")
MyStr3 = Right(AnyString3, 5)
ActiveSheet.Range("D2:D1050") = MyStr3

mais apparament ce n'est pas aussi simple ^^

Pour info le débugguer me souligne cette ligne:

MyStr3 = Right(AnyString3, 5)

Merci de votre aide les amis :(

3 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    "AnyString3" est une plage, tu ne peux donc pas extraite les 5 derniers caractères de la plage. Tu veux le faire dans toutes les cellules. Il faut donc parcourir ta plage:

    Dim plage As Range
    Dim cel
    Dim str As String
    Dim lig As Long
    
    
        Set plage = Range("C2:C1050")
        
        For Each cel In plage
            str = Right(cel.Value, 5)
            lig = cel.Row
            Range("D" & lig).Value = str
        Next cel
        
        Set plage = Nothing


    ;o)
    1
  2. Clément
     
    Merci a toi sa fonctionne . j'ai juste remplacer ton right par un mid car sa me prenait pas ce que je voulais ^^
    0
    1. Polux31 Messages postés 7219 Statut Membre 1 204
       
      Content que ça fonctionne ...
      A vrai dire je n'ai pas testé, j'ai fait ça direct ici et j'ai repris ton "MyStr3 = Right(AnyString3, 5)" que j'ai modifié ... ^^

      Bonne continuation.

      ;o)
      0