OVH Cloud OVH Cloud

Insertion dans une chaine

5 réponses
Avatar
Jacques
Bonjour,

Je cherche depuis un temps à insérer un tiret (-) dans une chaine de caractère.
Par exemple la cellule A2 qui contiendrait JeanYves. Je positionne mon curseur
sur JeanYves entre le n et Y. Comment insérer maintenant un tiret de manière à
obtenir Jean-Yves.

ActiveCell.FormulaR1C1 = "-" m'écrase tout et je n'obtient que le tiret !!

Merci pour vos réponses

5 réponses

Avatar
Misange
Bonjour,
il faudrait que tu fasses un remplacer " " (espace) par ton tiret (tu le
fais manuellement en lançant l'enregistreur de macro pour avoir la syntaxe.

--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !===========



"Jacques" a écrit dans le message de news:
#
Bonjour,

Je cherche depuis un temps à insérer un tiret (-) dans une chaine de
caractère.

Par exemple la cellule A2 qui contiendrait JeanYves. Je positionne mon
curseur

sur JeanYves entre le n et Y. Comment insérer maintenant un tiret de
manière à

obtenir Jean-Yves.

ActiveCell.FormulaR1C1 = "-" m'écrase tout et je n'obtient que le tiret
!!


Merci pour vos réponses




Avatar
Jacques
Bonjour,

Il n'y a pas d'espace entre Jean et Yves. On sélectionne la cellule et dans la
barre de formule , on positionne le curseur de la souris entre le n et le Y et
on insère un tiret. J'ai essayé en enregistrant une macro pour récupérer le code
mais cela ne fonctionne pas.

"Misange" ù.net> a écrit dans le message de news:

Bonjour,
il faudrait que tu fasses un remplacer " " (espace) par ton tiret (tu le
fais manuellement en lançant l'enregistreur de macro pour avoir la syntaxe.

--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !=========== >



"Jacques" a écrit dans le message de news:
#
Bonjour,

Je cherche depuis un temps à insérer un tiret (-) dans une chaine de
caractère.

Par exemple la cellule A2 qui contiendrait JeanYves. Je positionne mon
curseur

sur JeanYves entre le n et Y. Comment insérer maintenant un tiret de
manière à

obtenir Jean-Yves.

ActiveCell.FormulaR1C1 = "-" m'écrase tout et je n'obtient que le tiret
!!


Merci pour vos réponses








Avatar
AV
Si j'ai compris et sous réserve que la 2° partie du prénom composé commence par
une majuscule :
Sélection de la cellule et :

Sub zzz_tiret()
x = ActiveCell
For i = 2 To Len(x)
If Asc(Mid(x, i, 1)) >= 65 And Asc(Mid(x, i, 1)) <= 90 Then
ActiveCell = Application.Substitute(x, Mid(x, i, 1), "-" & Mid(x, i,
1))
Exit For
End If
Next
End Sub

AV

"Jacques" a écrit dans le message news:
#
Bonjour,

Je cherche depuis un temps à insérer un tiret (-) dans une chaine de
caractère.

Par exemple la cellule A2 qui contiendrait JeanYves. Je positionne mon curseur
sur JeanYves entre le n et Y. Comment insérer maintenant un tiret de manière à
obtenir Jean-Yves.

ActiveCell.FormulaR1C1 = "-" m'écrase tout et je n'obtient que le tiret !!

Merci pour vos réponses




Avatar
Jacques
Bonjour,

Merci pour ce bout de code. Effectivement, on sous-entends la lettre en
majuscule ... ! Mais n'y a-t-il pas moyen d'insérer tout simplement ce fameux
tiret là où se trouve le curseur de la souris après avoir cliquer dans la barre
de formule ?? C'est tout ce que je veux faire. Sélectionner une cellule
contenant du texte, la chaine de caractère apparait dans la barre de formule.
Cliquer dans la barre de formule sur la chaine de caractère à l'endroit où je
veux insérer ce tiret !

Merci encore

"AV" a écrit dans le message de news:

Si j'ai compris et sous réserve que la 2° partie du prénom composé commence
par

une majuscule :
Sélection de la cellule et :

Sub zzz_tiret()
x = ActiveCell
For i = 2 To Len(x)
If Asc(Mid(x, i, 1)) >= 65 And Asc(Mid(x, i, 1)) <= 90 Then
ActiveCell = Application.Substitute(x, Mid(x, i, 1), "-" & Mid(x, i,
1))
Exit For
End If
Next
End Sub

AV

"Jacques" a écrit dans le message news:
#
Bonjour,

Je cherche depuis un temps à insérer un tiret (-) dans une chaine de
caractère.

Par exemple la cellule A2 qui contiendrait JeanYves. Je positionne mon
curseur


sur JeanYves entre le n et Y. Comment insérer maintenant un tiret de manière
à


obtenir Jean-Yves.

ActiveCell.FormulaR1C1 = "-" m'écrase tout et je n'obtient que le tiret !!

Merci pour vos réponses








Avatar
AV
Merci pour ce bout de code. Effectivement, on sous-entends la lettre en
majuscule ... ! Mais n'y a-t-il pas moyen d'insérer tout simplement ce fameux
tiret là où se trouve le curseur de la souris après avoir cliquer dans la
barre

de formule ??


Ben tu donnes la réponse !
Pas la peine de se prendre la tête : tu tapes ton tiret et tu fais Entrée !
Où est la question ? ;-))

AV