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

baarar97 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
baarar97 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
baarar97 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729 > baarar97 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
baarar97 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
D'accord, Merci beaucoup pour votre aide
0