Bonjour,
Désolé de vous embêter avec un problème si simple mais je ne comprend pas ou est mon erreur,
Je cherche à :
- copier des lignes triés,
- les insérer à un autre endroit.
Ça marche avec la copie mais pas avec l'insert ....
Voici mon code :
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 Option Explicit Public FEE As Worksheet '--------------------------------------------------------------------- Sub main() Set FEE = ThisWorkbook.Worksheets(1) Call Copiteur(FEE, "D0003", 6) End Sub '--------------------------------------------------------------------- Sub Copiteur(WKS As Worksheet, CodeACopier As Variant, ColloneATrier As Integer, Optional LigneDeDebut As Integer = 3) 'Je Rentre en mémoire la dernière ligne du tableau Dim DerniereLigne As Integer DerniereLigne = WKS.Cells(Rows.Count, 1).End(xlUp).Row 'Je filtre sur la feuille voulu, le code voulu dans la collone voulue WKS.Cells.AutoFilter Field:=ColloneATrier, Criteria1:=CodeACopier 'Je copie les ligne encore visibles (mais pas les deux premieres ou il y a des textes d'entete WKS.Rows(LigneDeDebut & ":" & WKS.Cells(Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Copy 'Je colle les ligne copiées en fin de tableau WKS.Rows(DerniereLigne + 1 & ":" & DerniereLigne + 1).PasteSpecial xlPasteAll ' <--- Ca ça marche 'J'insert les lignes copiées juste avant la dernière WKS.Rows(DerniereLigne & ":" & DerniereLigne).Insert xlShiftDown ' <--- Ca ça marche pas 'je désactive le filtre WKS.Cells.AutoFilter End Sub
Partager