Obtenir un nombre par double clic

Bonjour

je cherche à partir de e code qui ne fonctionne pas ,en cliquant sur les cellules de N17 à O20 a rentrer un nombre dans la cellule K3

exemple si je clique sur O17, P18,P19 je dois obtenir 269

Je n'arrive pas à trouver la bonne solution

Merci pour votre aide

Dim clickedCells As Collection

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' Initialiser la collection si elle n'existe pas
    If clickedCells Is Nothing Then
        Set clickedCells = New Collection
    End If

    ' Vérifier si la cellule cliquée est l'une des cellules cibles
    On Error Resume Next
    If Not Intersect(Target, Me.Range("N17")) Is Nothing Then
        clickedCells.Add "1"

     ElseIf Not Intersect(Target, Me.Range("O17")) Is Nothing Then
        clickedCells.Add "2"

       ElseIf Not Intersect(Target, Me.Range("P17")) Is Nothing Then
        clickedCells.Add "3"

       ElseIf Not Intersect(Target, Me.Range("N18")) Is Nothing Then
        clickedCells.Add "4"

         ElseIf Not Intersect(Target, Me.Range("O18")) Is Nothing Then
          clickedCells.Add "5"

          ElseIf Not Intersect(Target, Me.Range("P18")) Is Nothing Then
           clickedCells.Add "6"

           ElseIf Not Intersect(Target, Me.Range("N19")) Is Nothing Then
            clickedCells.Add "7"

            ElseIf Not Intersect(Target, Me.Range("O19")) Is Nothing Then
             clickedCells.Add "8"

             ElseIf Not Intersect(Target, Me.Range("P19")) Is Nothing Then
              clickedCells.Add "9"

              ElseIf Not Intersect(Target, Me.Range("O20")) Is Nothing Then
               clickedCells.Add "0"

    End If

         End Sub

La solution

Dim numberString As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' Vérifie si la cellule cliquée est dans la plage N17:P20
    If Not Intersect(Target, Me.Range("N17:P20")) Is Nothing Then
        ' Ajoute le chiffre cliqué à la chaîne de nombre
        numberString = numberString & Target.Value

        ' Vérifie si la longueur de la chaîne est de 3 chiffres
        If Len(numberString) = 3 Then
            ' Affiche le nombre dans K3
            Me.Range("K3").Value = numberString
            ' Réinitialise la chaîne pour le prochain nombre
            numberString = ""
        End If
    End If
End Sub

bonjour Joco7915,

j'éspère que c'est ceci que vous demandez ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     Dim iSect As Range, Lig, Col, c
     If Target.CountLarge > 1 Then Exit Sub
     Set c = Me.Range("N17:O20")
     Set iSect = Intersect(Target, c)
     If iSect Is Nothing Then Exit Sub

     Lig = iSect.Row - c.Row + 1             'row number within c
     Col = iSect.Column - c.Column + 1       'column number within c
     Range("K3").Value = Col + (Lig - 1) * 3
End Sub

Bonsoir Bart

Merci pour ta solution.

La bonne solution de ce que j'avais besoin je l'avais postée juste au dessus de ta réponse.

Cordialement

Rechercher des sujets similaires à "obtenir nombre double clic"