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 Sub

A+

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 Sub

A+

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 Sub

A+

Perfect!!! Whouhou !!! MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

26classeur2.xlsx (11.32 Ko)
Rechercher des sujets similaires à "vba rechercher remplacer condition"