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 46 47 48 49 50 51 52 53
|
Option Explicit
Sub test()
Dim i As Long, col As Long
Dim plage As Range
Dim sh As Worksheet
Set sh = Sheets("F1")
Set plage = Range("L37")
With sh
'Dans la F1 le mois sera toujours en B1
'Copier le mois sur F2
.Select
.Range("B1").Select
End With
Selection.Copy
With Sheets("F2")
.Select
.Range("A34").Select
End With
'Je collerais toujours ce mois dans la cellule A34 de la F2
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'Filtrer tableau avec mon mois
Range("A36:F126").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Rows("33:34"), CopyToRange:=Range("G36"), Unique:=False
Columns("L:L").ColumnWidth = 13.71
Columns("K:K").ColumnWidth = 16.86
'Plage sera toujours la cellule L37 de la F2
plage.Select
plage.Copy
'Rechercher première cellule vide a partir de Q45
With sh
.Select
'Sélection de la première cellule vide sur la ligne 45 en partant de la colonne Q
'et en parcourant les colonns vers la droite, en considérant les cellules P45 et Q45 non vides
col = .Range("P45").End(xlToRight).Column + 1
.Range(Cells(45, col), Cells(45, col)).Select
End With
'On colle les valeurs (attention!!!, seulement les valeurs)
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Coller ma cellule "Plage" (L37) que j'avais copier (de la F2) dans la premiére cellule vide a partir Q45 de la F1
Application.CutCopyMode = False
End Sub |
Partager