METHODE INTERSECT (récup du n° ligne)

Bonjour à toutes et à tous,

j'affiche une liste de codes de C5 à C14 et je voudrais après clic gauche sur une des cellules C5:C14 récupérer le n° de ligne de la cellule "cliquée"

C'est sûrement tout bête . . .

Bonsoir,

Si j'ai bien compris, voici une solution :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Range("C4:C15"), Target) Is Nothing Then
        MsgBox Target.Row
    End If
End Sub

Bonsoir readi,

C'est presque ce que je veux.

Effectivement en cliquant sur C ligne x j'obtiens bien x, mais dans une MsgBox et moi je veux récupérer x dans une variable pour la traiter ensuite dans une procédure.

D'autre part, n'est-il pas possible de le faire avec click gauche (simple ou double) c'est plus naturel pour un utilisateur ?

re,

Une autre solution avec un double clic :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim lgLig As Long

    If Not Application.Intersect(Range("C4:C15"), Target) Is Nothing Then
        lgLig = Target.Row
    End If
End Sub
warning

Merci readi,

Vu l'heure, je regarde ça demain.

Bonne nuit.

5classeur1.xlsx (9.57 Ko)

Bonjour readi,

je me suis bricolé une Sub truc() pour voir, mais elle ne fonctionne pas (parce que je m'y prends mal)

Peux-tu corriger ? (voir fichier envoyé)

https://www.excel-pratique.com/~files/doc2/e5ghuForum.xls

Merci encore . . .

Bonjour,

Voici la procédure modifiée : Fichier

Merci readi,

j'ai, grâce à toi, ma solution.

Au fait, le fil que nous avions tendu sur InputBox qui inscrit $C$x quand on appuie sur une touche directionnelle n'est touours pas résolu. Il semble que ça marche chez toi et pas chez moi !

re,

Si la solution apportée te convient, tu peux mettre ce sujet en résolu.

Je t'ai répondu sur l'autre fil.

Merci

readi,

cette méthode me convient mais il semble que le rajout que j'ai fait ne fonctionne pas (ou que ce soit interdit)

Call routine derrière le Range . . .

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

End If

'

[b]If Not Application.Intersect(Range("P6:P16"), Target) Is Nothing Then

End Sub[/b]

re,

Il n'y a pas de raison que tu ne puisses pas appeler une autre procédure.

Il faudrait savoir ce que contient la procédure SAISIE_NAT.

Merci

bonjour readi,

Tu avais raison (bien sûr), ça marche après que j'aie corrigé une erreur de logique dans le déroulement de mes procédures.

Je casse le fil.

Merci encore.

Rechercher des sujets similaires à "methode intersect recup ligne"