Recupérer Target.row sur une range spécifiée

Résolu
Bonjour,

J'ai écris un code qui lorque je fais un click droit sur une cellule un message affiche son contenu :

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

If Target.Value <> "" Then
a = Target.value
MsgBox (a)
End If
Cancel = True

End Sub

Dans l'idéal je voudrais que "a" soit égale a la position de la valeur dans une autre liste de données.

J'espère avoir été clair ... Merci de votre aide !

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour,


    J'espère avoir été clair ... Merci de votre aide !

    Heu.... non pas vraiment....


    je voudrais que "a" soit égale a la position de la valeur dans une autre liste de données.

    "a" est égale, d'après ton code à la valeur de la cellule sélectionnée.....
    Tu voudrais (si j'arrive à décrypter ta demande...) que, si la cellule contient la valeur 10 .... ça te retourne la valeur contenue dans une liste (dont on ne sait rien au passage.....) à la dixième position ??

    Peux tu expliquer un peu mieux (et plus...) ce que tu souhaites obtenir ?
    et aussi....nous indiquer comment se présentent les données ? (où elles se trouvent, sous quelle forme... etc...)
    Tu peux même fournir un fichier ...ça peut aider à comprendre tes explications.

    https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

    1. J'ai des noms dans une liste sur une feuille Base de données dans une autre feuille plusieurs nom dans 5 colonne différentes par exemple si je click sur mon nom dans cette feuille cela va m'afficher le numéro de téléphone qui se trouve dans la feuille base de données
      1. En théorie
    2. Mon problème est résolu je poste le code si ça peut servir.

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

      If Target.Value <> "" Then
      a = Application.WorksheetFunction.Match(Target.Value, Worksheets("Base de données").Range("AA:AA"), 0)
      MsgBox (a)
      End If
      Cancel = True

      End Sub