Bonjour.
Ci-dessous le code que j'ai écris pour faire une copie de plusieurs ligne selectionné dans une listbox pour la copier dans un autre classeur.
Question peut-on le faire en une seule fois en faisant un genre de Range ("7:7,11:11,16:16").Select mais là il faut remplir une variable et je ne vois pas trop comment...
si quelqu'un a la solution...
MERCI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 Private Sub CommandButton3_Click() Workbooks.Open Filename:="D:\Bureautique\Mes Documents\Base.xlsx" With ListBox1 Windows("BASE.xlsx").Activate ActiveWindow.LargeScroll ToRight:=-1 Range("A1").Select Selection.CurrentRegion.Select nbre_de_ligne = Selection.Rows.Count Workbooks("COLLAGE.xlsm").Activate Sheets("DONNEES").Select For i = 0 To .ListCount - 1 ' If .Selected(i) = True Then ' mess = mess & i + 2 & ":" & mess & i + 2 ' If mess <> "" Then ' mess = mess & "," ' End If If .Selected(i) = True Then nbre_de_ligne = nbre_de_ligne + 1 Windows("COLLAGE.xlsm").Activate Sheets("DONNEES").Select Cells(i + 2, 1).Select Range(Selection, Selection.End(xlToRight)).Select Selection.Copy Windows("BASE.xlsx").Activate Cells(nbre_de_ligne, 1).Select ActiveSheet.Paste End If Next ' Sheets ("PRINCIPAL") End With Windows("BASE.xlsx").Activate Application.DisplayAlerts = False ' supprime les messages d'alerte ActiveWorkbook.Save ' sauve le classeur meme s il existe sans demande confirmation Application.DisplayAlerts = True ' repositionne les messages d'alertes... ActiveWindow.Close Windows("COLLAGE.xlsm").Activate ' MsgBox mess ' Range("7:7,11:11,16:16").Select ' Range("A16").Activate ' Selection.Delete Shift:=xlUp End Sub
Partager