Copie par double clic

Bonjour à toutes à tous,

Je rencontre quelques difficultés à élaborer mon code VBA.

Je vous explique le résultat souhaité :

Sur une feuille (feuil1), je souhaiterai que lorsque l'on double clic (Worksheet_BeforeDoubleClick) sur une ligne, il ne soit copié que les cellules A et C de cette ligne, et que ces valeurs soient collées sur une autre feuille (feuil2) dans les cellules C2 et C3.

Je vous remercie par avance pour votre temps investi...

Nico

Bonjour Nikk069,

voila ma macro, par contre je trouve le comportement étrange. Quelle que soit la ligne de la feuille 1 les valeurs arriverons sur les cellules C2 et C3 de la feuille 2, ça ne dépend pas de la ligne sélectionnée ?

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal target As Range, Cancel As Boolean)

Dim a As Variant, c

    a = Range("A" & target.Row).Value
    c = Range("C" & target.Row).Value
    Sheets("feuil2").Range("C2").Value = a
    Sheets("feuil2").Range("C3").Value = c

End Sub

Bonjour à tous,

Dans le VBEde la Feuil1

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Lg&
Lg = Target.Row
    With Sheets("Feuil2")
        .Range("c2") = Cells(Lg, "a")
        .Range("c3") = Cells(Lg, "c")
    End With
    Range("a1").Activate
End Sub

Bonne journée

Claude

Bonjour et merci pour vos réponses.

La réponse de dubois répond parfaitement à ma demande.

Merci et excellente journée...

Nico

Re-Bonjour,

Je souhaites ré-ouvrir le sujet car je souhaiterai inclure une conditionnelle supplémentaire qui exécuterait la macro uniquement si le double clic sur la Feuil1 intervient entre les lignes 2 à 24.

Si le double n'est pas fait entre ces lignes, alors ne rien exécuter.

Merci par avance,

Nico

re,

tu ajoute la condition avec If Lg

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Lg&
    Lg = Target.Row
    If Lg >= 2 And Lg < 25 Then
        With Sheets("Feuil2")
            .Range("c2") = Cells(Lg, "a")
            .Range("c3") = Cells(Lg, "c")
        End With
        Range("a1").Activate
    End If
End Sub

Claude

Ok c'est top !

Merci beaucoup.

Rechercher des sujets similaires à "copie double clic"