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

Fermé
baarar97 Messages postés 4 Date d'inscription mercredi 27 mai 2020 Statut Membre Dernière intervention 28 mai 2020 - 27 mai 2020 à 17:03
baarar97 Messages postés 4 Date d'inscription mercredi 27 mai 2020 Statut Membre Dernière intervention 28 mai 2020 - 27 mai 2020 à 18:36
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
27 mai 2020 à 17:43
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 mercredi 27 mai 2020 Statut Membre Dernière intervention 28 mai 2020
27 mai 2020 à 18:27
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > baarar97 Messages postés 4 Date d'inscription mercredi 27 mai 2020 Statut Membre Dernière intervention 28 mai 2020
27 mai 2020 à 18:34
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 mercredi 27 mai 2020 Statut Membre Dernière intervention 28 mai 2020 > cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
27 mai 2020 à 18:36
D'accord, Merci beaucoup pour votre aide
0