[Excel Macro] Remplacer un caractère
Résolu
Mok
-
Mok -
Mok -
Bonjour,
J'ai une suite de cellule ( ex: B2 à B100 )
Chaque cellule comprend une suite de caractère de type "01 23 45 67 89 - 67 89"
1/ Je souhaiterais remplacer le "-" par un "/"
2/ Je souhaiterais rajouter un "-" entre 67 et 89 et aussi un "espace"
Le résultat devrait être le suivant "01 23 45 67 89 / 67 - 89"
J'ai déjà trouvé commence mettre les dernier nombre en gras avec :
Feuil1.Range("B2:B100").Characters(Start:=(xx, Length:=yy).Font.FontStyle = "Gras"
xx = numéro du caractère où commence le gras
yy = numéro du caractère où s'arrête le gras
D'avance merci de votre aide !
J'ai une suite de cellule ( ex: B2 à B100 )
Chaque cellule comprend une suite de caractère de type "01 23 45 67 89 - 67 89"
1/ Je souhaiterais remplacer le "-" par un "/"
2/ Je souhaiterais rajouter un "-" entre 67 et 89 et aussi un "espace"
Le résultat devrait être le suivant "01 23 45 67 89 / 67 - 89"
J'ai déjà trouvé commence mettre les dernier nombre en gras avec :
Feuil1.Range("B2:B100").Characters(Start:=(xx, Length:=yy).Font.FontStyle = "Gras"
xx = numéro du caractère où commence le gras
yy = numéro du caractère où s'arrête le gras
D'avance merci de votre aide !
A voir également:
- Excel vba remplacer plusieurs caractères
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Word et excel gratuit - Guide
- Remplacer disque dur par ssd - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
2 réponses
bonjour
si les cellules sont bien toujours du même type, ceci devrait convenir
bonne suite
si les cellules sont bien toujours du même type, ceci devrait convenir
Const lideb = 2 Const co = 2 Dim lifin As Long, li As Long Dim t As String lifin = Cells(65536, co).End(xlUp).Row For li = lideb To lifin t = Cells(li, co) t = Replace(t, "-", "/") t = Left(t, Len(t) - 3) & " - " & Right(t, 2) Cells(li, co).Value = t Cells(li, co).Characters(Start:=Len(t) - 7, Length:=7).Font.FontStyle = "Gras" Next li
bonne suite
re
bonne suite
' première ligne à traiter Const lideb = 2 ' colonne à traiter Const co = 2 Dim lifin As Long, li As Long Dim t As String ' dernière ligne non vide de la colonne co lifin = Cells(65536, co).End(xlUp).Row For li = lideb To lifin ' on récupère le contenu de la cellule (li,co) t = Cells(li, co) ' on remplace dans t le "-" par "/" t = Replace(t, "-", "/") ' Lent(t) est le nombre de caractères de t ' Left(t,Len(t)-3) > les Len(t)-3 caractères de gauche de t ' Right(t,2) > les 2 derniers caractères de t ' on concatene tout ça > & t = Left(t, Len(t) - 3) & " - " & Right(t, 2) Cells(li, co).Value = t ' mise en gras des 7 deniers caractères de t Cells(li, co).Characters(Start:=Len(t) - 7, Length:=7).Font.FontStyle = "Gras" Next li
bonne suite
Merci d'avoir pris le temps de creuser ma question :)
j'abuses surement de ta gentillesse, mais si tu repasses ici, pourrais tu m'expliquer les lignes, ce que ca veut dire ?
Merci à toi :)