[Excel Macro] Remplacer un caractère

Résolu/Fermé
Mok - 26 août 2011 à 20:21
 Mok - 29 août 2011 à 20:43
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 !

A voir également:

2 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 27/08/2011 à 12:31
bonjour
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
2
Bonjour ccm81

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 :)
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 29/08/2011 à 16:22
re

' 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
1
Merci beaucoup pour ton explication !

bonne continuation :)
Mok
0