VBA pour rechercher et remplacer avec condition
Bonjour à tous,
Existe t il un code pour faire l’équivalent de rechercher/remplacer mais que dans une partie du texte sélectionné dans une cellule.
Exemple ce texte dans une cellule : je suis dans la galère 555896 ppm 14585631 x x x x x x
en sélectionnant que (clic souris enfoncé) "je suis dans la galère" clic droit, remplace et hop je me retrouve avec des "_" à la place des"espaces" résultat : je_suis_dans_la_galère 555896 ppm 14585631 x x x x x x "
Je continu avec cellule en dessous car le texte n'est jamais 2 fois le même donc l'obligation de sélectionner à la main.
Merci d'avance,
Cordialement
Jules
SALUT
SVP envoyer un petit fichier comme exemple
Bonjour ,
Tu peux effectuer ce traitement en deux étapes :
1) tu marques les parties de texte concernée. Exemple : affectation d'une police en gras.
2) tu lances une macro qui détecte les caractères en gras et remplace les espaces gras par "_" puis réaffecte une police normale.
Sub Macro1()
Dim i As Integer
With ActiveCell
For i = 1 To Len(.Value)
If .Characters(Start:=i, Length:=1).Font.FontStyle = "Gras" And .Characters(Start:=i, Length:=1).Text = " " Then
.Characters(Start:=i, Length:=1).Text = "_"
End If
Next i
.Font.Bold = False
End With
End SubA+
Amir,
Merci de intéresser à mon problème.
En fait je souhaiterai rechercher les espaces et les remplacer par des underscore que sur une partie du texte de la cellule que je sélectionnerai moi même
Et ceci via un raccourci clavier j'affecterai une fois que j'aurai la macro.pour ne pas perdre la sélection dans la cellule
Est ce suffisamment clair?
frangy a écrit :Bonjour ,
Tu peux effectuer ce traitement en deux étapes :
1) tu marques les parties de texte concernée. Exemple : affectation d'une police en gras.
2) tu lances une macro qui détecte les caractères en gras et remplace les espaces gras par "_" puis réaffecte une police normale.
Sub Macro1() Dim i As Integer With ActiveCell For i = 1 To Len(.Value) If .Characters(Start:=i, Length:=1).Font.FontStyle = "Gras" And .Characters(Start:=i, Length:=1).Text = " " Then .Characters(Start:=i, Length:=1).Text = "_" End If Next i .Font.Bold = False End With End SubA+
Merci, excellente idée.
J'vais tester et vous tien courant.
Cordialement
frangy a écrit :Bonjour ,
Tu peux effectuer ce traitement en deux étapes :
1) tu marques les parties de texte concernée. Exemple : affectation d'une police en gras.
2) tu lances une macro qui détecte les caractères en gras et remplace les espaces gras par "_" puis réaffecte une police normale.
Sub Macro1() Dim i As Integer With ActiveCell For i = 1 To Len(.Value) If .Characters(Start:=i, Length:=1).Font.FontStyle = "Gras" And .Characters(Start:=i, Length:=1).Text = " " Then .Characters(Start:=i, Length:=1).Text = "_" End If Next i .Font.Bold = False End With End SubA+
Perfect!!! Whouhou !!! MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII