étendre la sélection à tout le mot où se trouve le curseur

Résolu
Colquico7duSoir Messages postés 12 Date d'inscription samedi 10 septembre 2011 Statut Membre Dernière intervention 29 septembre 2011 - 22 sept. 2011 à 08:06
Colquico7duSoir Messages postés 12 Date d'inscription samedi 10 septembre 2011 Statut Membre Dernière intervention 29 septembre 2011 - 25 sept. 2011 à 17:16
Bonjour à tous,

Pourriez-vous me dire comment écrire le code VBA Word qui permet la sélection automatique de la totalité de la longueur du mot dans lequel se trouve le curseur?

Je vous remercie +++

9 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 10:26
J'y parviens ainsi dans tous les cas de figure (caret au milieu ou au début ou à la fin du mot)
Selection.MoveStart unit:=wdWord, Count:=1
  Selection.MoveLeft unit:=wdWord, Count:=1
  Selection.MoveRight unit:=wdWord, Extend:=wdExtend


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 08:16
Bonjour,
Pourriez-vous me dire comment écrire le code VBA Word qui permet la sélection automatique de la totalité de la longueur du mot dans lequel se trouve le curseur?

1) Ne te semble-t-il pas que tu as oublié de préciser l'essentiel, à savoir sur quoi (quel contrôle de quelle fenêtre) se trouve le mot ?
2) tu parles par ailleurs de curseur. Le curseur est la représentation du point survolé par la souris. Il n'a pas exemple rien à voir avec le caret qui, lui, est la position du point d'insertion dans une zone d'édition. Alors : parles-tu du curseur ou parles-tu du caret ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Colquico7duSoir Messages postés 12 Date d'inscription samedi 10 septembre 2011 Statut Membre Dernière intervention 29 septembre 2011
22 sept. 2011 à 08:41
Bonjour ucfoutu,

Je veux parler du point d'insertion ... de ce que je pense être le curseur après que l'on a clické dans un texte.

J'avais tenté d'écrire une macro mais elle me sélectionne la fin du mot (par ex. si je clicke au milieu du mot vasculaires dans la phrase suivante ''pseudotumeurs vasculaires. introduction'',
ma macro me sélectionne ''pseudotumeurs vasculaires. introductio''

Dim sel As Selection
Set sel = Application.Selection
sel.MoveStart unit:=wdWord, Count:=1
sel.MoveRight unit:=wdWord, Extend:=wdExtend

End Sub

à l'évidence, il y a quelque chose qui ne marche pas.
Merci++
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 08:46
Il s'agit donc du caret et non du curseur
Mais tu n'as toujours pas répondu à cette question :

sur quoi (quel contrôle de quelle fenêtre) se trouve le mot ?


Et en lisant ce que tu viens d'écrire : une autre question s'impose : développes-tu sous VB6 ou sous autre chose (et quoi alors) ?

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Colquico7duSoir Messages postés 12 Date d'inscription samedi 10 septembre 2011 Statut Membre Dernière intervention 29 septembre 2011
22 sept. 2011 à 09:08
Rebonjour ucfoutu,

je viens d'apprendre un mot. Je ne connaissais pas le terme caret. Merci

Il s'agit d'un document Word 2003 et je possède VBA version 6.3

Je voudrais récupérer le mot ''courant'' pour le réutiliser dans une macro.

à bientôt et merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 09:37
Tu développes donc sous VBA et non sous VB6 !
Prends s'il te plait l'habitude de faire très attention au choix de la section dans laquelle tu "postes".
Je vais essayer de voir, mais il me faudra aller sur une machine avec Word.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Colquico7duSoir Messages postés 12 Date d'inscription samedi 10 septembre 2011 Statut Membre Dernière intervention 29 septembre 2011
22 sept. 2011 à 09:49
OK. Désolé
0
Colquico7duSoir Messages postés 12 Date d'inscription samedi 10 septembre 2011 Statut Membre Dernière intervention 29 septembre 2011
22 sept. 2011 à 10:34
Merci beaucoup.
Je n'étais pas loin, mais ...

Bonne journée à toi.
0
Colquico7duSoir Messages postés 12 Date d'inscription samedi 10 septembre 2011 Statut Membre Dernière intervention 29 septembre 2011
25 sept. 2011 à 17:16
J'ai complété et modifié le code pour ne sélectionner que le mot, sans, à sa droite, l'espace ou un éventuel caractère précédé d'un espace insécable
(Microsoft VB 6.3 _ VBA; Word 2003)

Sub Selectionmotsélectionné()
'
' Selectionmotsélectionné Macro
'Sélectionne uniquement le mot dans lequel se trouve le "caret". La variable sel désigne ce mot.

Dim sel As Selection
Set sel = Application.Selection
sel.MoveStart unit:=wdWord, Count:=-1
sel.MoveRight unit:=wdWord, Extend:=wdExtend

Dim FinSel1 As String
Dim FinSel2 As String
FinSel1 = Right(sel, 1)
FinSel2 = Right(sel, 2)
Select Case FinSel2
Case "Chr(160)&:"
sel.MoveEnd unit:=wdCharacter, Count:=-2
Case Else
Select Case FinSel1
Case Chr(160), ":", "/", ".", " "
sel.MoveEnd unit:=wdCharacter, Count:=-1
Case Else
sel = sel
End Select
End Select
End Sub


Il y a peut-être plus simple?
Bonne soirée
0
Rejoignez-nous