Sub charge_listboxcp()
'
Dim TabTemp()
x = 0
' .ListBoxcp.Width = 729.75
With Range("t_formulaire_1").ListObject
' If Not .DataBodyRange Is Nothing Then
If .AutoFilter.FilterMode Or .Parent.AutoFilterMode Then .AutoFilter.ShowAllData ' On enlève les filtres
If Not .DataBodyRange Is Nothing Then
TabGen = .DataBodyRange.Resize(, .ListColumns.Count + 1).Value
' Boucle pour chaque ligne du tableau
For Lgn = 1 To UBound(TabGen, 1)
TabGen(Lgn, 11) = Range("t_formulaire_2").Cells(Lgn, 1)
If (Not IsEmpty(TabGen(Lgn, 11))) And (Year(TabGen(Lgn, 8)) = Range("O4") Or Year(TabGen(Lgn, 8)) = Range("O4")) Then ' Valide Then
Select Case TabGen(Lgn, 11)
Case 1
TabGen(Lgn, 11) = "Acceptée"
Case 2
TabGen(Lgn, 11) = "Date refusée"
Case 3
TabGen(Lgn, 11) = "Reportée"
End Select
x = x + 1
ReDim Preserve TabTemp(1 To 11, 1 To x)
TabTemp(1, x) = TabGen(Lgn, 2) ' Nom
TabTemp(2, x) = TabGen(Lgn, 3) ' Prénom
TabTemp(3, x) = TabGen(Lgn, 5) ' Date de la demande
TabTemp(4, x) = TabGen(Lgn, 6) ' Motif
TabTemp(5, x) = TabGen(Lgn, 7) ' Autre
TabTemp(6, x) = TabGen(Lgn, 8) ' Date de début
TabTemp(7, x) = TabGen(Lgn, 9) ' Date de fin
TabTemp(8, x) = TabGen(Lgn, 11) ' Avis
TabTemp(UBound(TabTemp, 1), x) = Lgn ' Ligne source
End If
Next Lgn
End If
With Sheets("Fiche valider cp")
With .ListBoxcp
.ColumnCount = 8
.ColumnWidths = "80;80;70;85;95;50;50;50"
.Width = 600
.Clear
Select Case x
Case 0
TabTemp = Array()
Case 1
.Column = TabTemp
Case Else
.List = Application.Transpose(TabTemp)
End Select
End With
End With
End With
End Sub