Encadrer le mot après un caractère spécifique macro VBA

baarar97 Messages postés 4 Statut Membre -  
baarar97 Messages postés 4 Statut Membre -
Bonjour,
bonjour

Dans un fichier excel une cellule contient un texte, je voudrais encadrer un mot qui vient après un caractère. Ce caractère est bien défini.
est ce que je peux le faire à l'aide d'une macro
Exemple:
Julien va à l'école à pied
Julien va (école) (pied)
Dans mon exemple mon caractère défini est "à" donc le caractère qui vient après école et pied je dois les encadrer par des parenthèses.

j'ai cherché beaucoup sur des forum mais j'ai pas trouvé une réponse
Merci d'avance

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    un essai avec le fonction Split

    https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-I

    Le texte se trouve en colonne A ( a adapter)

    Le résultat en colonne B(a adapter)

    Faire Alt F11 pour accéder à l'éditeur, coller ce code dans le module de la feuille. Il se déclenchera a chaque changement de sélection

    Option Explicit
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim ligne As Long
    If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
    ligne = Target.Row
    Range("B" & ligne).Value = Split(Range("A" & ligne).Value, "à")(0) & "("
    Range("B" & ligne).Value = Range("B" & ligne).Value & Split(Range("A" & ligne).Value, "à")(1) & ") "
    Range("B" & ligne).Value = Range("B" & ligne).Value & "("
    Range("B" & ligne).Value = Range("B" & ligne).Value & Split(Range("A" & ligne).Value, "à")(2) & ")"
    End If
    End Sub
    


    Avec une formule c'est peut-être plus performant. Car la macro ne s'adapte qu'a ce cas de figure!
    0
    1. baarar97 Messages postés 4 Statut Membre
       
      Ton code fonctionne parfaitement mais j'ai quelques problème dans ma cellule je ne connais pas le nombre des "à" qui peuvent se trouver dans la phrase ainsi que lorsque j’exécute le code je trouve que tous les mots qui se trouve après "à" sont encadrés mais moi je voudrais juste que le mot qui vient après "à" qui soit encadré.
      Merci beaucoup.
      0
      1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > baarar97 Messages postés 4 Statut Membre
         
        C'est le problème, il faut adapter!

        Car la macro ne s'adapte qu'a ce cas de figure!

        Peut-être un spécialiste des Formules!
        0
      2. baarar97 Messages postés 4 Statut Membre > cs_Le Pivert Messages postés 8437 Statut Contributeur
         
        D'accord, Merci beaucoup pour votre aide
        0