VBA-choix au double clic cumulatif

bonjour à tous,

grâce à ce forum, j'ai trouvé une formule qui me permettait d'exporter les données d'une cellule sur une autre page à partir d'un double clic. ça marche nickel

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
'Macro Dan pour Plabrousse le 27/04/2010
'http://forum.excel-pratique.com/excel/macro-double-click-pour-coller-sur-une-autre-feuille-t16929.html
If Not Intersect(Target, Range("A5:A" & Range("A65536").End(xlUp).Row)) Is Nothing Then
With Sheets("panier")
    .Range("a4") = Target
    .Select
End With
End If
Cancel = True
End Sub

ce que je souhaiterai, c'est de pouvoir cumuler les sélections.

par exemple, dans mon tableau "produit", si je sélectionne les patates par exemple, ça se met bien dans la première ligne de mon tableau. ce que je voudrai, c'est si je choisis ensuite des fraises, que ça se mette sur la ligne suivante sans effacer mon premier produit sélectionné.

je sais pas du tout si c'est réalisable. je vous met un fichier de démo en pièce jointe.

merci d'avance pour vos réponses

9test-pour-v2.xlsm (21.44 Ko)

Bonjour nicoo12, le forum,

A tester:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
'Macro Dan pour Plabrousse le 27/04/2010
'http://forum.excel-pratique.com/excel/macro-double-click-pour-coller-sur-une-autre-feuille-t16929.html
 If Not Intersect(Target, Range("A5:A" & Range("A65536").End(xlUp).Row)) Is Nothing Then
  With Sheets("panier")
   dl = .Range("A" & Rows.Count).End(xlUp).Row + 1
    .Range("A" & dl) = Target
    .Range("B" & dl) = Target.Offset(0, 2)
    .Select
  End With
 End If
Cancel = True
End Sub

Cordialement,

Bonjour,

c'est parfait. merci beaucoup.

cordialement

bonjour,

j'ai crié victoire trop vite. le code fonctionne très bien, mais (parce qu'il y a un mais) si j'ai du texte dessous l'endroit où je veux intégrer l'import de ma cellule, ça le met sous ma cellule déjà complétée.

je pense qu'il y a moyen de pouvoir l'intégrer sur une cellule donnée et les 5-10 suivantes suivant le besoin. je sais pas si je suis très clair, je met le fichier pour plus de clarté.

merci d'avance

14test.xlsm (21.88 Ko)

Bonjour nicoo12, le forum,

A tester:

dl = .Range("A9").End(xlUp).Row + 1

Cordialement,

bonjour,

merci pour la réponse.

le code suivant m'écrit bien là où je le veux

dl = .Range("A4").End(xlUp).Row + 1

mais si je clique sur un autre article, ça me le remplace, ça ne le note pas à la suite, il faudrait que ça me le mettre en A5, puis A6,....

merci encore pour le temps passé sur mon problème.

cordialement

Bonjour…

Dans la fenêtre des codes de la feuille du tableau (produits ici)

Private Sub Worksheet_BeforeDoubleClick(ByVal R As Excel.Range, Cancel As Boolean)
  Dim C As Range
  If Not Intersect(R, [Td]) Is Nothing Then
    Set C = Feuil1.Cells(Rows.Count, 1).End(xlUp)(2)
    R.Copy C
    R(1, 3).Copy C(1, 2)
    R.Interior.Color = vbRed ‘voir remarque 3
    Cancel = 1
 End If
End Sub

Remarques :

1- Feuil1 pour l’onglet de réception

2- Utilisation du .Copy pour garder le format

3- Pour éviter la répétition (prévoir une ligne de plus pour le retour si nécessaire)

Rechercher des sujets similaires à "vba choix double clic cumulatif"