Insérer un symbole après un mot dans une phrase

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonsoir,

J'ai rédigé quelques fonctions permettant de mettre automatiquement un symbole (de son choix) après le mot que l'on veut dans une phrase.
Ça marche, mais les fonctions de mon cru sont vraiment lourdingues.
Peut-être que parmi vous il y en a un qui pourrait les alléger.
 

Pièces jointes

Re : Insérer un symbole après un mot dans une phrase

Bonsoir Magic_Doctor,

Pas eu le temps de comprendre le fonctionnement de ton programme, mais apparemment le problème vient de la variable "adcel" qui est vide.

Il faut donc la mettre à jour au changement de sélection :

Code:
Private Sub Worksheet_SelectionChange(ByVal target As Range)
'Macro événementielle
adcel = target.Address
Application.ScreenUpdating = False
Application.EnableEvents = False
If Not Application.Intersect(target, [MEFSymbol]) Is Nothing Then
    ActionMEFSymbol 'déclenche le changement de l'intitulé de la cellule "MEFSymbol"
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Cordialement.
 
Re : Insérer un symbole après un mot dans une phrase

Bonjour Magic_Doctor

Une proposition à tester:

Code:
Function SymbolAfterMot(phrase As String, symbol As String, x As Variant) As String
'Place, dans une chaîne de caractères, un caractère déterminé ("symbol")
'- phrase : chaîne de caractères
'- symbol : caractère que l'on veut mettre après un mot déterminé de la chaîne
'- x : position du mot dans la chaîne après lequel on veut placer le caractère ("symbol")
'Magic_Doctor
Dim lesmots As Variant
Dim newphrase As String
lesmots = Split(phrase, " ")
lesmots(x - 1) = lesmots(x - 1) & symbol
newphrase = Join(lesmots)
SymbolAfterMot = newphrase
End Function
 
Re : Insérer un symbole après un mot dans une phrase

Re

Autre proposition:

Code:
Function NoMoreSymbol(phrase As String, symbol As String)
'Supprime, dans une chaîne de caractères, un unique caractère déterminé ("symbol")
'- phrase : chaîne de caractères
'- symbol : caractère particulier de la chaîne que l'on veut supprimer
'Magic_Doctor
NoMoreSymbol = Replace(phrase, symbol, "")
End Function
 
Re : Insérer un symbole après un mot dans une phrase

Bonjour Magic_Doctor,

Le plus simple si l'on veut juste insérer (ou supprimer) le symbole :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [B3:B12]) Is Nothing Then Exit Sub
Cancel = True
If Target = "" Then Exit Sub
Dim n&, s
If InStr(Target, "®") Then If MsgBox("Supprimer le symbole ?", 4, "Symbole") = 6 _
  Then Target = Replace(Target, "®", "")
n = Int(Abs(Val(InputBox("N° du mot après lequel le symbole est inséré :", "Insertion du symbole"))))
If n = 0 Then Exit Sub
s = Split(Target)
n = Application.Min(n - 1, UBound(s))
s(n) = s(n) & "®"
Target = Join(s)
End Sub
Fichier joint.

Edit : bonjour Pierre, Jean-Claude, pas rafraîchi

A+
 

Pièces jointes

Dernière édition:
Re : Insérer un symbole après un mot dans une phrase

Bonsoir à tous,

Pas pu vous lire avant.
Et bien bravo pierrejean, on ne pouvait faire plus concis !
J'avais oublié la fonction "Replace" et ne connaissais pas la fonction "Join".

Chapeau job pour ce USF que je finirai par adopter dans ma feuille.

Merci encore pour votre aide pédagogique.
 
Re : Insérer un symbole après un mot dans une phrase

Bonjour le fil, le forum,

Dans la version (2) précédente l'USF s'ouvre en non modal 😎

Il y aura des problèmes si l'on change de cellule active quand l'USF est ouvert.

Dans ce cas il faut fermer l'USF par :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Unload UserForm1
End Sub
Fichier (3).

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour