XL 2013 [Résolu] Remplacer le trait de droite dans une chaîne de caractères

Lone-wolf

XLDnaute Barbatruc
Rebonjour tout le monde :)

J'aimerais par VBA, changer le trait de droite d'une chaîne de catactères par un point. Quelques exemples

Pain-Boulanger-Boulangerie
Mets-Plats-Restaurant-Restauration
BA-COM-X

etc.

Merci aux Champions ;)
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Je te propose ceci :
VB:
Sub SupprimeTiret()
'
Dim I As Long
Dim Envers As String, Chaine As String, Tempo As String

    Chaine = Range("A1")

    Envers = StrReverse(Chaine)
    I = InStr(Envers, "-")
    Tempo = Left(Chaine, Len(Chaine) - I) & "." & Right(Chaine, I - 1)

    Range("A1") = Tempo

End Sub
 

Lone-wolf

XLDnaute Barbatruc
Hello les Champions.

@ Eddy: la formule est fausse, tu remplace tous les traits.

@ Job: le code remplace tous les traits et moi c'est celui de droite que je veux remplacer.

@ Marcel: j'ai modifié comme ceci et c'est OK.

VB:
Dim I As Long
Dim Envers As String, Chaine As String, Tempo As String

    Chaine = Target.Offset(0, 0)

    Envers = StrReverse(Chaine)
    I = InStr(Envers, "-")
    Tempo = Left(Chaine, Len(Chaine) - I) & "." & Right(Chaine, I - 1)

    Target.Offset(0, 0) = Tempo
 

Discussions similaires