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 -
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
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
-
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!
-
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.
-