Microsoft 365 Position curseur quand double clic dans ma cellule

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
J'espère que vous allez bien :)

Toujours dans ma recherche de gains de temps et d'éviter les erreurs,
Je bute sur un codage que je n'arrive pas à faire malgré mes tentatives et recherches.

Quand on double clic dans une cellule, le curseur se positionne automatiquement là où on clique dans la cellule et souvent au milieu du texte existant..
Je voudrais, quand je double clic dans ma cellule : que le curseur se positionne après le texte
ce qui éviterait d'écrire par erreur dans le texte existant.

Auriez-vous la solution ?

Je joins une petit fichier test
Avec mes remerciements,
Je vous souhaite une belle journée,
Amicalement,
lionel,
 

Pièces jointes

  • curseur_position.xlsm
    13.1 KB · Affichages: 49
Solution
bien vu job75
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("s7:s20000")) Is Nothing Then
        Application.EnableEvents = False
        With Target
            .Value = Trim(Target.Value) & IIf(Right(Trim(Target.Value), 1) = "-", " ", " - ")
           If .Value = " - " Then .Value = ""
            Application.SendKeys ("{Down " & Len(.Value) & "}")
            Application.SendKeys "" 'visiblement a pour effet d'annuler la touche precedente donc pas d'association de touche
            'qui ammene la plupart du temps a transformer les touches 4,6,2,8 en fleche et annule les autre du pavé
        End With
    End If
    Application.EnableEvents = True...

jmfmarques

XLDnaute Accro
c'est rigolo parce que y a que chez toi que ca fait ca
Ah ...
Mon ordinateur portable : Ultrabook LATTITUDE E7450 - OS : Win 10
Tu crois que c'est un matériel "rare" ???
Et au fait : si au lieu de 111111 la cellule contient 222222 -->> 2ééééé (logique).
Tu crois vraiment que personne d'autre n'a ce même matériel (au demeurant d'excellente qualité). ?
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Bonjour à toutes et à tous,

J'ai trouvé ma réponse :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ActiveCell.Value = ActiveCell.Value & " - "
DoEvents
For A = 1 To Len(Target.Value): Application.SendKeys "{RIGHT}": Next
SendKeys "{NUMLOCK}"
End Sub
Fichier test joint,
lionel,
 

Pièces jointes

  • curseur_position.xlsm
    16.6 KB · Affichages: 6

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Bonjour à tous,
@ Patrick :
J'ai un souci avec "SendKeys ("{NUMLOCK}")"
VB:
'Patrick
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell.Value = "=RIGHT(RC,3)" <> " - " Then
ActiveCell.Value = ActiveCell.Value & " - "
End If
DoEvents
For A = 1 To Len(Target.Value): Application.SendKeys "{RIGHT}": Next
If NumLock = False Then NumLock = True
SendKeys ("{NUMLOCK}")
End Sub

Mon pavé numérique est désactivé fois sur 2 :mad:
Aurais-tu la solution pour qu'il soit toujours activé ?
Merci à toi :)
lionel,
 

jmfmarques

XLDnaute Accro
Re-Bonjour à tous,
@ Patrick :
J'ai un souci avec "SendKeys ("{NUMLOCK}")"
.....

Mon pavé numérique est désactivé fois sur 2 :mad:
Aurais-tu la solution pour qu'il soit toujours activé ?
Merci à toi :)
lionel,
On y arrive peu à peu, n'est-ce-pas, Patrick ? :cool:
Et (et tu le sais pourtant depuis au moins quelques mois), tant SendKeys que Application.Serndkeys peuvent avoir des effets collatéraux indésirables selon :
1) le clavier
et
2) l'O.S.
Ce n'est pas faute (de ma part), d'avoir tenté d'appeler plus haut ton attention sur ce genre de mésaventure...
Allez -->> je te laisse "corriger" (je mets entre guillemets ce verbe car pour moi, ajouter la verrue "WScript.Shell" nécessaire (et tu la connais) n'est pas ce qu'il y a de plus orthodoxe.
 

patricktoulon

XLDnaute Barbatruc
re
BEN CHEZ MOI LE PAVé n'est pas déactivé :D :D
c'est vrai ca j'avais pas fait attention depuis que j'ai mon nouveau clavier sans fil ca déactive plus le sendkeys

je vent mon clvier pas cher 200€:D:D:D:D

ps :non le wscriptshell ne fonctionnera pas sur W7 et plus j'ai testé ;)
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

@arthour973 : pourquoi envoies-tu un "numlock" ???
(c'est normal que ça active le pavé numérique, puis la fois d'après ça le désactive, etc. C'est le principe de fonctionnement de cette touche ;))
N'est-ce pas plutôt une espace qu'il faudrait, soit envoyer, soit ajouter au contenu de la cellule ?
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 231
Membres
103 497
dernier inscrit
JP9231