Macro : copier une ligne dans la première ligne vide d'une autre feuille

chris6999

XLDnaute Impliqué
Bonjour le FORUM

Encore un cas de copier coller entre 2 feuilles qui me pose soucis (mais je ne désespère pas d'y arriver un jour toute seule...)

J'ai un fichier avec 2 feuilles:
Je travaille à partir de la feuille Liste où je souhaiterais à partir d'un double clic dans la colonne A que ma macro
-copie la ligne active et la colle dans la feuille "historique des dossiers" dans la première ligne vide (colonne A vide à partir de la ligne 11).
-Toujours dans la feuille "historique des dossiers" positionne dans la colonne A de la ligne copiée la date du jour
-Revient à la feuille liste
-Incrémente la valeur 1 dans la cellule où a été réalisé le double clic

Cela me paraissait pas si compliqué mais j'ai des bugs à l'application.

Mon code bricolé :
'sélectionne la ligne du double clic puis la copie
Range("A" & ActiveCell.Row).EntireRow.Select
Selection.Copy
'copier dans la première cellule vide de la feuille Historique
'Coller les données sur la première ligne vide
Sheets("Historique des dossiers").Activate
With ActiveSheets
Cells(Range("A5000").End(xlUp).Row + 1, 1).Activate
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'copie la ligne
ActiveSheet.Paste
End With
Sheets("Historique des dossiers").Activate

Merci d'avance pour votre aide
Je mets un fichier test en PJ
 

Pièces jointes

  • Test ARCHIVE.xlsm
    240.3 KB · Affichages: 28

Paf

XLDnaute Barbatruc
Re : Macro : copier une ligne dans la première ligne vide d'une autre feuille

Bonjour,

apriori :

V1 on colle tout (formules, format...)
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 With Worksheets("Historique des dossiers")
 Target.EntireRow.Copy .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1)
 End With
 Application.CutCopyMode = False
 Sheets("Historique des dossiers").Activate
End Sub

V2 on ne colle que les valeurs
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 With Worksheets("Historique des dossiers")
 Target.EntireRow.Copy
 .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
 End With
 Application.CutCopyMode = False
 Sheets("Historique des dossiers").Activate
End Sub

A+
 

chris6999

XLDnaute Impliqué
Re : Macro : copier une ligne dans la première ligne vide d'une autre feuille

Génial
Le code est propre et fonctionne à merveille en un mot magnifique.

Merci encore


Bonjour,

apriori :

V1 on colle tout (formules, format...)
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 With Worksheets("Historique des dossiers")
 Target.EntireRow.Copy .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1)
 End With
 Application.CutCopyMode = False
 Sheets("Historique des dossiers").Activate
End Sub

V2 on ne colle que les valeurs
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 With Worksheets("Historique des dossiers")
 Target.EntireRow.Copy
 .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
 End With
 Application.CutCopyMode = False
 Sheets("Historique des dossiers").Activate
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 092
Messages
2 085 222
Membres
102 826
dernier inscrit
ag amestan