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
| Function PersonnelAgence(Agence As Long)
Dim Pos As Long, CountOf As Long
If Not Range("tmp_Personnel").ListObject.DataBodyRange Is Nothing Then _
Range("tmp_Personnel").ListObject.DataBodyRange.Delete
Range("tmp_Personnel[Trigramme]").Resize(Range("t_Personnel").Rows.Count).Value = _
Range("t_Personnel[Trigramme]").Value
Range("tmp_Personnel[Nom]").Resize(Range("t_Personnel").Rows.Count).Value = _
Range("t_Personnel[Nom]").Value
Range("tmp_Personnel[Prénom]").Resize(Range("t_Personnel").Rows.Count).Value = _
Range("t_Personnel[Prénom]").Value
Range("tmp_Personnel[Agence]").Resize(Range("t_Personnel").Rows.Count).Value = _
Range("t_Personnel[Agence]").Value
With Range("tmp_Personnel").ListObject.Sort
.SortFields.Clear
.SortFields.Add Range("tmp_Personnel[Agence]")
.SortFields.Add Range("tmp_Personnel[Trigramme]")
.Apply
End With
CountOf = Application.CountIfs(Range("tmp_Personnel[Agence]"), Agence)
If CountOf > 0 Then
Pos = Application.Match(Agence, Range("tmp_Personnel[Agence]"), 0)
PersonnelAgence = Range("tmp_Personnel[Trigramme]")(Pos).Resize(CountOf, 3).Value
Else
PersonnelAgence = -1
End If
End Function |
Partager