OVH Cloud OVH Cloud

Insertion dans une cellule

5 réponses
Avatar
Jacques
Bonjour,

Je sélectionne une cellule dans laquelle il est écrit JeanClaude et je
positionne mon curseur pour y insérer un tiret afin d'avoir Jean-Claude.
Comment détecter la position de mon curseur afin d'y faire mon insertion ?

Merci de vos réponses

5 réponses

Avatar
Papyty
Tu as déjà plusieures réponses
http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&threadmàoQ4GpjDHA.3732%40tk2msftngp13.phx.gbl&rnum=2&prev=/groups%3Fas_q%3D%26as_epq%3D%26as_oq%3D%26as_eq%3D%26as_ugroup%3Dmicrosoft.public.fr.excel%26as_usubject%3D%26as_uauthors%3DJacques%2520%253Cjac_be%2540hotmail.com%253E%26as_umsgid%3D
Ce n'est pas ce que tu voulais?
@+
Thierry

Bonjour,

Je sélectionne une cellule dans laquelle il est écrit JeanClaude et je
positionne mon curseur pour y insérer un tiret afin d'avoir Jean-Claude.
Comment détecter la position de mon curseur afin d'y faire mon insertion ?

Merci de vos réponses


Avatar
Jacques
Bonjour,

Non !
Je ne sais toujours pas s'il y a moyen de détecter la position du curseur
lorsque je clique sur une cellule. Ensuite, pour entrer dans le détail, la
macro sert pour l'édition où l'on parle de tiret, de quadratin et de
semi-quadratin. Je ne suis pas entré dans le détail imaginant recevoir une
façon de connaitre la position du curseur. Comme les quadratin et
semi-quadratin ne peuvent pas être entrés au clavier, j'ai créé une fonction
pour faire la différence entre ces trois type de tirets. Donc, l'utilisateur
a un menu où il peut choisir le type de tiret qu'il veux insérer dans la
chaine de caractère se trouvant dans la cellule. De plus, l'exemple du
prénom était une façon simple d'exprimer ce que je veux faire.Il faut donc
oublier les majuscules ou les minuscules. Le fameux "tiret" doit pouvoir
être inséré dans n'importe quelle chaine de caractère et n"importe où dans
la chaine.
Voilà. En espèrant que ce complément d'information sera utile pour m'aider à
résoudre ce problème.
Merci

"Papyty" a écrit dans le message de
news:
Tu as déjà plusieures réponses

http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&threadmàoQ4GpjDHA.3732%40tk2msftngp13.phx.gbl&rnum=2&prev=/groups%3Fas_q%3D%26as_epq%3D%26as_oq%3D%26as_eq%3D%26as_ugroup%3Dmicrosoft.public.fr.excel%26as_usubject%3D%26as_uauthors%3DJacques%2520%253Cjac_be%2540hotmail.com%253E%26as_umsgid%3D

Ce n'est pas ce que tu voulais?
@+
Thierry

Bonjour,

Je sélectionne une cellule dans laquelle il est écrit JeanClaude et je
positionne mon curseur pour y insérer un tiret afin d'avoir Jean-Claude.
Comment détecter la position de mon curseur afin d'y faire mon insertion
?



Merci de vos réponses




Avatar
Papyty
Bonsoir Jacques
Donc comme le dis Pierre Fauconnier il n'y as pas de moyen de detecter la
position du curseur.
Par contre la solution de Frédéric Sigonneau peut te convenir.
Copie:
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).
Fin de copie

Si tu ajoutes un troisieme arguments pour définir quel tiret tu veux.
Mais je ne connais pas les quadratins et demi-quadratins (je pensais même
que c'était des espaces)avec un select case pour choisir le tirait.

Function Tiret(S, pos&, sTirait$)
Select Case sTirait
Case "T"
Tiret = Mid(S, 1, pos) & "-" & Mid(S, pos + 1) 'Tirait
Exit Function
Case "Q"
Tiret = Mid(S, 1, pos) & " " & Mid(S, pos + 1) 'Quadratin
Exit Function
Case "DQ"
Tiret = Mid(S, 1, pos) & " " & Mid(S, pos + 1) 'Demi Quadratin
Exit Function
Case Else
MsgBox "Ce n'est pas un tiret valide", vbInformation, "papyty"
End Select
End Function

Pour utiliser =Tiret(A1;3;T)
il te reste à définir ce que tu veux entre les "" pour Quadratin et
demi-quadratin.
Est ce que ça convient?
@+
Thierry


Bonjour,

Non !
Je ne sais toujours pas s'il y a moyen de détecter la position du curseur
lorsque je clique sur une cellule. Ensuite, pour entrer dans le détail, la
macro sert pour l'édition où l'on parle de tiret, de quadratin et de
semi-quadratin. Je ne suis pas entré dans le détail imaginant recevoir une
façon de connaitre la position du curseur. Comme les quadratin et
semi-quadratin ne peuvent pas être entrés au clavier, j'ai créé une fonction
pour faire la différence entre ces trois type de tirets. Donc, l'utilisateur
a un menu où il peut choisir le type de tiret qu'il veux insérer dans la
chaine de caractère se trouvant dans la cellule. De plus, l'exemple du
prénom était une façon simple d'exprimer ce que je veux faire.Il faut donc
oublier les majuscules ou les minuscules. Le fameux "tiret" doit pouvoir
être inséré dans n'importe quelle chaine de caractère et n"importe où dans
la chaine.
Voilà. En espèrant que ce complément d'information sera utile pour m'aider à
résoudre ce problème.
Merci

"Papyty" a écrit dans le message de
news:
Tu as déjà plusieures réponses

http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&threadmàoQ4GpjDHA.3732%40tk2msftngp13.phx.gbl&rnum=2&prev=/groups%3Fas_q%3D%26as_epq%3D%26as_oq%3D%26as_eq%3D%26as_ugroup%3Dmicrosoft.public.fr.excel%26as_usubject%3D%26as_uauthors%3DJacques%2520%253Cjac_be%2540hotmail.com%253E%26as_umsgid%3D

Ce n'est pas ce que tu voulais?
@+
Thierry

Bonjour,

Je sélectionne une cellule dans laquelle il est écrit JeanClaude et je
positionne mon curseur pour y insérer un tiret afin d'avoir Jean-Claude.
Comment détecter la position de mon curseur afin d'y faire mon insertion
?



Merci de vos réponses






Avatar
Papyty
Rectification
il faut écrire =Tiret(A1;3;"T") pour tiret
pour Quadratin et demi-quadratin qui sont pour l'instant des espaces
=Tiret(A1;3;"Q") ou =Tiret(A1;3;"DQ")
Excusez moi

Bonsoir Jacques
Donc comme le dis Pierre Fauconnier il n'y as pas de moyen de detecter la
position du curseur.
Par contre la solution de Frédéric Sigonneau peut te convenir.
Copie:
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).
Fin de copie

Si tu ajoutes un troisieme arguments pour définir quel tiret tu veux.
Mais je ne connais pas les quadratins et demi-quadratins (je pensais même
que c'était des espaces)avec un select case pour choisir le tirait.

Function Tiret(S, pos&, sTirait$)
Select Case sTirait
Case "T"
Tiret = Mid(S, 1, pos) & "-" & Mid(S, pos + 1) 'Tirait
Exit Function
Case "Q"
Tiret = Mid(S, 1, pos) & " " & Mid(S, pos + 1) 'Quadratin
Exit Function
Case "DQ"
Tiret = Mid(S, 1, pos) & " " & Mid(S, pos + 1) 'Demi Quadratin
Exit Function
Case Else
MsgBox "Ce n'est pas un tiret valide", vbInformation, "papyty"
End Select
End Function

Pour utiliser =Tiret(A1;3;T)
il te reste à définir ce que tu veux entre les "" pour Quadratin et
demi-quadratin.
Est ce que ça convient?
@+
Thierry

Bonjour,

Non !
Je ne sais toujours pas s'il y a moyen de détecter la position du curseur
lorsque je clique sur une cellule. Ensuite, pour entrer dans le détail, la
macro sert pour l'édition où l'on parle de tiret, de quadratin et de
semi-quadratin. Je ne suis pas entré dans le détail imaginant recevoir une
façon de connaitre la position du curseur. Comme les quadratin et
semi-quadratin ne peuvent pas être entrés au clavier, j'ai créé une fonction
pour faire la différence entre ces trois type de tirets. Donc, l'utilisateur
a un menu où il peut choisir le type de tiret qu'il veux insérer dans la
chaine de caractère se trouvant dans la cellule. De plus, l'exemple du
prénom était une façon simple d'exprimer ce que je veux faire.Il faut donc
oublier les majuscules ou les minuscules. Le fameux "tiret" doit pouvoir
être inséré dans n'importe quelle chaine de caractère et n"importe où dans
la chaine.
Voilà. En espèrant que ce complément d'information sera utile pour m'aider à
résoudre ce problème.
Merci

"Papyty" a écrit dans le message de
news:
Tu as déjà plusieures réponses

http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&threadmàoQ4GpjDHA.3732%40tk2msftngp13.phx.gbl&rnum=2&prev=/groups%3Fas_q%3D%26as_epq%3D%26as_oq%3D%26as_eq%3D%26as_ugroup%3Dmicrosoft.public.fr.excel%26as_usubject%3D%26as_uauthors%3DJacques%2520%253Cjac_be%2540hotmail.com%253E%26as_umsgid%3D

Ce n'est pas ce que tu voulais?
@+
Thierry

Bonjour,

Je sélectionne une cellule dans laquelle il est écrit JeanClaude et je
positionne mon curseur pour y insérer un tiret afin d'avoir Jean-Claude.
Comment détecter la position de mon curseur afin d'y faire mon insertion
?



Merci de vos réponses








Avatar
Frédéric Sigonneau
Bonjour,

Je ne pense pas que ce que tu demandes est possible directement dans Excel (le
mode édition prend la main sur toute autre action possible tant qu'on n'en est
pas sorti).
Par contre, un petit dispositif avec un userform, un textbox, un bouton et (par
exemple) 3 boutons d'option pourrait peut-être te dépanner dans la mesure où il
est possible de récupérer la position du curseur dans un textbox.
Principe :
- une entrée du menu contextuel des cellules reliée à une petite proc qui
affiche le userform
- à l'initialisation, le userform affiche le contenu de la cellule active dans
le textbox
- sélection d'un des 3 tirets avec les boutons d'option (tiret simple par
défaut)
- un clic dans le textbox insère le tiret voulu et renvoie la valeur modifiée
dans la cellule.
C'est un point de départ.
(Un petit classeur exemple avec le minimum de concrétisation de l'idée ci-dessus
dans ta bal si tu le souhaites).

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,

Non !
Je ne sais toujours pas s'il y a moyen de détecter la position du curseur
lorsque je clique sur une cellule. Ensuite, pour entrer dans le détail, la
macro sert pour l'édition où l'on parle de tiret, de quadratin et de
semi-quadratin. Je ne suis pas entré dans le détail imaginant recevoir une
façon de connaitre la position du curseur. Comme les quadratin et
semi-quadratin ne peuvent pas être entrés au clavier, j'ai créé une fonction
pour faire la différence entre ces trois type de tirets. Donc, l'utilisateur
a un menu où il peut choisir le type de tiret qu'il veux insérer dans la
chaine de caractère se trouvant dans la cellule. De plus, l'exemple du
prénom était une façon simple d'exprimer ce que je veux faire.Il faut donc
oublier les majuscules ou les minuscules. Le fameux "tiret" doit pouvoir
être inséré dans n'importe quelle chaine de caractère et n"importe où dans
la chaine.
Voilà. En espèrant que ce complément d'information sera utile pour m'aider à
résoudre ce problème.
Merci

"Papyty" a écrit dans le message de
news:
Tu as déjà plusieures réponses

http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&threadmàoQ4GpjDHA.3732%40tk2msftngp13.phx.gbl&rnum=2&prev=/groups%3Fas_q%3D%26as_epq%3D%26as_oq%3D%26as_eq%3D%26as_ugroup%3Dmicrosoft.public.fr.excel%26as_usubject%3D%26as_uauthors%3DJacques%2520%253Cjac_be%2540hotmail.com%253E%26as_umsgid%3D

Ce n'est pas ce que tu voulais?
@+
Thierry

Bonjour,

Je sélectionne une cellule dans laquelle il est écrit JeanClaude et je
positionne mon curseur pour y insérer un tiret afin d'avoir Jean-Claude.
Comment détecter la position de mon curseur afin d'y faire mon insertion
?



Merci de vos réponses