[VBA] Manipulation chaine de caractere

Fermé
Clément - 2 juin 2010 à 15:47
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 3 juin 2010 à 17:04
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 :(
A voir également:

3 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
3 juin 2010 à 10:34
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
Up svp :(
0
Merci a toi sa fonctionne . j'ai juste remplacer ton right par un mid car sa me prenait pas ce que je voulais ^^
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
3 juin 2010 à 17:04
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