Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Insertion d'un caractère dans une cellule

2 réponses
Avatar
Jacques
Bonjour,

Pour l'instant je peux insérer un tiret à la fin d'une chaine de caractère
se trouvant dans une cellule avec le code suivant :

Sub InsererTiret()
activecell=activecell & "-"
End Sub

Dans ce cas le tiret est insérer à la fin. Serait-il possible d'insérer le
tiret n'importe où dans la chaine ? Si oui, comment ?

Par exemple une cellule contient JeanPierre et je voudrai insérer le tiret
entre le "n" de Jean et le "P" de Pierre. Je positionnerai sur la cellule et
placerai le curseur entre n et P et ensuite je pourrai faire appel à la
fonction InsereTiret(). En quelque sorte est-il possible de détecter la
position du curseur dans la cellule. ?

Merci de vos réponses

2 réponses

Avatar
Pierre Fauconnier
Bonsoir Jacques,

Ce n'est pas possible :-(


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)


---

Jacques wrote:
Bonjour,

Pour l'instant je peux insérer un tiret à la fin d'une chaine de
caractère se trouvant dans une cellule avec le code suivant :

Sub InsererTiret()
activecell¬tivecell & "-"
End Sub

Dans ce cas le tiret est insérer à la fin. Serait-il possible
d'insérer le tiret n'importe où dans la chaine ? Si oui, comment ?

Par exemple une cellule contient JeanPierre et je voudrai insérer le
tiret entre le "n" de Jean et le "P" de Pierre. Je positionnerai sur
la cellule et placerai le curseur entre n et P et ensuite je pourrai
faire appel à la fonction InsereTiret(). En quelque sorte est-il
possible de détecter la position du curseur dans la cellule. ?

Merci de vos réponses


Avatar
Frédéric Sigonneau
Bonsoir,

Pour automatiser un peu une manoeuvre fastidieuse, une fonction perso VBA
pourrait peut-être t'aider :

Function Tiret(S, pos&)
Dim tmp$
tmp = Mid(S, pos, 1)
Tiret = Split(S, tmp)(0) & tmp & "-" & Split(S, tmp)(1)
End Function

Si tes noms (style JeanPierre) sont en colonne A, tu peux saisir en colonne B :

=Tiret(A1;4)

pour insérer un tiret après le 4ème caractère de la chaine en A1.
Il est peut-être plus facile de changer un paramètre dans une fonction "à la
main" que de faire la manip que tu décris (sélection d'une cellule, clic au bon
endroit, insertion d'un tiret).
Mais ça reste à démontrer à l'usage..

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour,

Pour l'instant je peux insérer un tiret à la fin d'une chaine de caractère
se trouvant dans une cellule avec le code suivant :

Sub InsererTiret()
activecell¬tivecell & "-"
End Sub

Dans ce cas le tiret est insérer à la fin. Serait-il possible d'insérer le
tiret n'importe où dans la chaine ? Si oui, comment ?

Par exemple une cellule contient JeanPierre et je voudrai insérer le tiret
entre le "n" de Jean et le "P" de Pierre. Je positionnerai sur la cellule et
placerai le curseur entre n et P et ensuite je pourrai faire appel à la
fonction InsereTiret(). En quelque sorte est-il possible de détecter la
position du curseur dans la cellule. ?

Merci de vos réponses