Re,
une solution plus souple, simplement à partir d'un double clic sur une cellule, une plage de la même largeur que les titres est sélectionnée et copiée.
Si la plage des titres change, il faut adapter ' set Titres = range( ??)'
à mettre dans le module 1:
Sub MultiplageCopy()
Dim ActiveLine As Range, Titres As Range, Tout As Range
Set Titres = Range('A1:C1')
Set ActiveLine = Range(Cells(ActiveCell.Row, Titres.Column), Cells(ActiveCell.Row, Titres.Columns.Count))
Set Tout = Union(Titres, ActiveLine)
Tout.Copy Sheets('Feuil2').Range('A1')
Application.CutCopyMode = False
End Sub
à mettre dans le module de la feuille 1:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
MultiplageCopy
End Sub
Nota Bene : Le code pourrait être épuré, je n'ai pas utilisé trop de raccourcis pour qu'il reste compréhensible.
EDITION POUR CREEPY!!!
l'enregistreur marche bien 😉 il a seulement tendance à ajouter beaucoup de lignes inutiles! Ton code épuré (un peu)pourrait devenir ceci:
Sub Selections()
Selection.Copy Sheets('Feuil2').Range('A2')
Sheets('Feuil1').Range('a1:c1').Copy Sheets('Feuil2').Range('A1')
Application.CutCopyMode = False
End Sub
Tu peux écrire dans la même ligne , la source ET la destination.
A++
Message édité par: luki, à: 03/05/2005 17:34
Message édité par: luki, à: 03/05/2005 17:39