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...

patricktoulon

XLDnaute Barbatruc
non justement
Capture.JPG
 

MJ13

XLDnaute Barbatruc
ou cette aide que je trouve plus claire
WaitSpécifie si la macro doit attendre que la séquence de touches ait été traitée. Cliquez sur Oui (pour attendre) ou Non (pour ne pas attendre). La valeur par défaut est Non.
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour le Forum,
Dans la continuité de ce long fil qui nous a appris bcp, je me permets de questionner pour en finir :
Voir fichier joint :
Pour ne plus avoir le souci NB (photo ci-dessous (dans le fichier)), si cellule contient déjà du texte :
est-il possible ne pas pouvoir écrire, par exemple, avant "18/06/19" ?
Un grand merci une fois plus :)
Bon dimanche à toutes et à tous,
lionel,
 

Pièces jointes

  • NePasEcrire_AvtTexte.xlsm
    312.9 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonjour Lionel,
Je cherche mais pour l'instant, je n'ai pas trouvé de solution à mon #Post139.
La liste des fonctions à gauche apparaît quand le texte en colonne S commence par = ou - ou +.

Pour l'éviter utilise (ou complète) la macro Worksheet_Change :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, f$, i%
Set r = Intersect(Target, [S:S], UsedRange)
If Not r Is Nothing Then
    Application.EnableEvents = False
    For Each r In r
        f = r.Formula
        For i = 1 To Len(f)
            If InStr("=-+", Mid(f, i, 1)) = 0 Then r = Trim(Mid(f, i)): Exit For
    Next i, r
    Application.EnableEvents = True
End If
End Sub
Pour supprimer d'un seul coup ces caractères indésirables copier-coller la colonne S sur elle-même.

Edit : j'avais oublié de limiter la plage étudiée au UsedRange.

A+
 
Dernière édition:

Gégé-45550

XLDnaute Accro
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,
Bonjour arthour, bonjour le forum,

Attention avec {NUMLOCK} qui est une touche à bascule : 1er clic => active le pavé numérique, 2e clic => désactive le pavé numérique. Donc ... un coup ça marche ... un coup ça marche plus.

Bonne journée
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou