D
Didier MAUCOTEL
Guest
Salut le Forum,
Voici quelques lignes de VBA qui permettent de copier des cellules d'une feuille vers une autre en fonction de la ligne où l'on exécute le double click.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim x As Integer
x = Target.Range("A1").Row
Worksheets("Fiche").Select
Worksheets("Fichier Source").Range(Cells(x, 10), Cells(x, 10)).Copy
Worksheets("Fiche").Range("B8").PasteSpecial xlPasteFormats
Worksheets("Fiche").Range("B8") = Worksheets("Fichier Source").Range(Cells(x, 10), Cells(x, 10))
Worksheets("Fichier Source").Range(Cells(x, 11), Cells(x, 11)).Copy
Worksheets("Fiche").Range("C8").PasteSpecial xlPasteFormats
Worksheets("Fiche").Range("C8") = Worksheets("Fichier Source").Range(Cells(x, 11), Cells(x, 11))
Worksheets("Fichier Source").Range(Cells(x, 12), Cells(x, 12)).Copy
Worksheets("Fiche").Range("D8").PasteSpecial xlPasteFormats
Worksheets("Fiche").Range("D8") = Worksheets("Fichier Source").Range(Cells(x, 12), Cells(x, 12))
Application.CutCopyMode = False
End Sub
Il y a en tout plus d'une centaine de cellules à copier et je trouve cela un peu long lors de l'exécution.
Y a t'il un moyen d'écrire cela de manière plus conforme ? (je n'arrive pas à réduire la syntaxe "Range(Cells(x, 12), Cells(x, 12)" de façon à copier des paquets de cellules contigues).
Merci d'avance pour vos propositions...
Didier
Voici quelques lignes de VBA qui permettent de copier des cellules d'une feuille vers une autre en fonction de la ligne où l'on exécute le double click.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim x As Integer
x = Target.Range("A1").Row
Worksheets("Fiche").Select
Worksheets("Fichier Source").Range(Cells(x, 10), Cells(x, 10)).Copy
Worksheets("Fiche").Range("B8").PasteSpecial xlPasteFormats
Worksheets("Fiche").Range("B8") = Worksheets("Fichier Source").Range(Cells(x, 10), Cells(x, 10))
Worksheets("Fichier Source").Range(Cells(x, 11), Cells(x, 11)).Copy
Worksheets("Fiche").Range("C8").PasteSpecial xlPasteFormats
Worksheets("Fiche").Range("C8") = Worksheets("Fichier Source").Range(Cells(x, 11), Cells(x, 11))
Worksheets("Fichier Source").Range(Cells(x, 12), Cells(x, 12)).Copy
Worksheets("Fiche").Range("D8").PasteSpecial xlPasteFormats
Worksheets("Fiche").Range("D8") = Worksheets("Fichier Source").Range(Cells(x, 12), Cells(x, 12))
Application.CutCopyMode = False
End Sub
Il y a en tout plus d'une centaine de cellules à copier et je trouve cela un peu long lors de l'exécution.
Y a t'il un moyen d'écrire cela de manière plus conforme ? (je n'arrive pas à réduire la syntaxe "Range(Cells(x, 12), Cells(x, 12)" de façon à copier des paquets de cellules contigues).
Merci d'avance pour vos propositions...
Didier