Bonjour,
Je cherche à copier certaines colonnes de certaines feuilles vers une seule et même feuille suivant un critère.
En détail, Je cherche à copier les colonnes B, D et K des feuilles Dispo_X vers une la feuille LOC si la colonne K est renseignée.
J'ai essayé de faire une macro pour cela, mais ca ne copie pas toute les lignes ...
Merci d'avance de votre aide,
Sub COPIElOC()
Dim feuille As Worksheet
Dim cellule_destination As Range
'inialisation comlète feuille LOC à partir de la ligne 2
With Sheets("LOC")
.Cells.Resize(.Rows.Count - 1).Offset(1).Clear
End With
On Error Resume Next
For Each feuille In Worksheets
If feuille.Name Like "Dispo*" Then
'Avec les lignes contenant une constante en colonne K
With feuille.Columns("K").SpecialCells(xlCellTypeConstants).EntireRow
'masquage colonnes
.Columns("A:J").Hidden = True
.Columns("B").Hidden = False
.Columns("D").Hidden = False
'masquage ligne entête
.Rows(1).Hidden = True
'copie vers feuille Loc
With Sheets("LOC")
'première cellule vide en colonne A
Set cellule_destination = .Columns("A").Find("", SearchDirection:=xlNext)
End With
.SpecialCells(xlCellTypeVisible).Copy Destination:=cellule_destination
'réaffichage entête et colonnes
.Rows(1).Hidden = False
.Columns("A:K").Hidden = False
End With
End If
Next feuille
'tri feuille LOC selon colonne A
With Sheets("LOC").UsedRange
.Sort key1:=.Range("A2"), order1:=xlAscending, Header:=xlYes
End With
End Sub