Bonjour,
J'ai de nouveau un problème lié à une insertion mais dans un domaine un peu différent et je n'arrive pas à me débugger malgré mes multiples tentatives.
J'ai une première feuille avec des données sous forme de tableau (jusque là c'est assez logique) je souhaiterais les copier et les insérer dans une deuxième feuille du même fichier après trois tris consécutifs.
Mon problème est toujours le même: la ligne correspondant à l'insertion... (même par simple collage, ça ne fonctionne pas)
je vous fournis mon code :
Sub MacroGR1F()
Dim WsS As Worksheet, WsC As Worksheet, nbL&, Source$
Set WsC = ThisWorkbook.Worksheets("Feuil3")
Set WsS = ThisWorkbook.Worksheets("Feuil1")
'Application.ScreenUpdating = False
'ActiveSheet.Range("$A$1:$O$4582").AutoFilter Field:=1, Criteria1:="1"
'ActiveSheet.Range("$A$1:$O$4582").AutoFilter Field:=2, Criteria1:="F"
'Modifier le mois si besoin
'ActiveSheet.Range("$A$1:$O$4582").AutoFilter Field:=15, Criteria1:="6"
With ThisWorkbook.Worksheets("Feuil1")
nbL = .Cells(Rows.Count, 1).End(xlUp).Row - 1
.Range("A2").Resize(nbL, 15).copy
End With
' expression.Insert(Décalage, CopierOrigine)
' mySheet.Range("A1:C5").Insert Shift:=xlShiftDown
' ActiveSheet.Range("A2:O2").Insert(xlShiftDown, 1) = True
WsC.Range("A2:P2").Insert xlShiftDown
'Application.ScreenUpdating = True
End Sub
autre tentative:
Sub CollageETPscoffret()
Dim derlig As Long
Dim dercol As Long
Dim WsS As Worksheet, WsC As Worksheet
Dim i As Integer
ActiveSheet.Range("$A$1:$O$4582").AutoFilter Field:=1, Criteria1:="1"
ActiveSheet.Range("$A$1:$O$4582").AutoFilter Field:=2, Criteria1:="F"
'Modifier le mois si besoin
ActiveSheet.Range("$A$1:$O$4582").AutoFilter Field:=15, Criteria1:="6"
Set WsS = ThisWorkbook.Worksheets("Feuil1") 'feuille source
Set WsC = ThisWorkbook.Worksheets("Feuil3") 'feuille cible
derlig = WsS.Range("B" & Rows.Count).End(xlUp).Row 'je définis la dernière ligne de mon tableau que je souhaite copier
dercol = 15
'WsS.Cells(2, Columns.Count).End(xlToLeft).Column 'je définis la dernière colonne de mon tableau que je souhaite copier
Range(Cells(2, 1), Cells(derlig, dercol)).copy 'je copie
With Sheets("Feuil3")
.Range("A2:O2").Insert shift:=xlDown
End With
ThisWorkbook.Worksheets("Feuil3").Cells(2, 1).Paste 'Insert xlShiftDown
End Sub
mes trois critères sont les suivants: colonne A = 1
B = F
et O = 6 (pour le mois de juin)