Bonjour à tous,
@Jean-Eric :
Au départ , j'étais parti sur ce code
Sub Macro1()
Dim lig As Long, tablo, tabloR(), k As Long, i As Long
With Sheets("Feuil1")
tablo = .ListObjects("TbValeur").DataBodyRange
k = 0
For i = 1 To UBound(tablo, 1)
If Not .Range("TbUser[Groupe]").Find(what:=tablo(i, 1)) Is Nothing Then
ReDim Preserve tabloR(1 To 2, 1 To k + 1)
tabloR(1, 1 + k) = Application.Index(.Range("TbUser[User]"), Application.Match(tablo(i, 1), .Range("TbUser[Groupe]"), 0))
tabloR(2, 1 + k) = tablo(i, 2)
k = 1 + k
End If
Next i
With .ListObjects("TbResultat")
If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
.ListRows.Add
lig = .ListColumns("User").Range.Find("", SearchDirection:=xlNext).Row
End With
On Error Resume Next
.Range("H" & lig).Resize(UBound(tabloR, 2), 2) = Application.Transpose(tabloR): Erase tabloR
End With
End Sub
J'obtenais bien le résultat souhaité, mais j'ai pris le problème à l'envers, je suis parti du TbValeur pour rechercher la correspondance dans le TBUser.
Ensuite, je me suis un peu perdu dans mon raisonnement, que faire si:
- un User n'a pas de groupe?
- un User a un groupe qui n'est pas répertorié ?
D'où ma proposition un peu alambiquée, je ne suis pas parvenu à tout traiter en une fois d'où l'utilisation de 2 "tablo",
Peggyd n'a pas précisé si cela était possible, mais si tel était le cas, comment gèrerais-tu cela ?
C'est toujours un plaisir de te lire,
Amitiés,