Copie de lignes dans une autre plage de lignes donnée
Bonjour à toutes et à tous,
je profite de ce forum pour faire part du problème que je rencontre à essayer de mettre en place une copie de lignes vers une plage de lignes donnée d'un autre classeur Excel. J'ai pu récupéré plusieurs bouts de code et voici ce que j'ai au final :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim dlg As Integer
If Not Intersect(Target, Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row)) Is Nothing Then
With Target
If Range("J" & .Row) Then
dlg = Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1" & Rows.Count).End(xlUp).Row + 1
Range("A" & .Row & ":N" & .Row).Copy Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A" & dlg)
End If
End With
End If
Cancel = True
End SubLa copie de ligne s'effectue lorsque je double clique sur la colonne "A" uniquement si la colonne "J" de cette ligne est complétée. Avec le code actuel, la ligne est copiée à la dernière ligne du fichier "Classeur1". Or ce dernier possède déjà du contenu et je souhaite insérer ces lignes copiées au milieu de la feuille par exemple aux lignes d'A10 à A29.
Pouvez-vous m'éclairer un peu ? Merci par avance
Salut et bienvenue sur le Forum,
Je n’ai pas compris si tu désires copier une ou plusieurs lignes à la fois ? Si – selon ton texte - tu désires copier plusieurs lignes à la fois, quel est leur nombre ? Si – selon ton code – tu désires ne copier qu’une seule ligne, alors j’ai compris qu’il fallait copier la ligne sur laquelle tu as double-cliqué.
Et où veux-tu coller cette ou ces ligne(s) ? Dans un autre classeur mais au milieu d’autres lignes ? Comment peut-on alors savoir à quel endroit placer les lignes copiées ? Faudrait-il faire apparaître une InputBox dans laquelle on indiquerait à quelle ligne doit commencer le collage ? Que faire alors des lignes déjà en place, les décaler vers le bas ?
Dans tous les cas, deux fichiers exemple (celui dans lequel on copie et celui dans lequel on colle) seraient les bienvenus.
A première vue, le code fourni comporte plusieurs erreurs.
Cordialement.