Bonjour,

J'ai une structure ainsi définie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Public Class cRegions
    Inherits Dictionary(Of String, cFlotte)
End Class
 
Public Class cFlotte
    Public Property Code As String
    Public Property Vehicules As Dictionary(Of String, cVehicule)
    Public Sub New()
        Vehicules = New Dictionary(Of String, cVehicule)
    End Sub
End Class
 
Public Class cVehicule
    Public Property Type As String
    Public Property Utilisateurs As List(Of String)
    Public Sub New()
        Utilisateurs = New List(Of String)
    End Sub
End Class
Dans mon application:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
        Dim FlotteRegions As New cRegions
 
        FlotteRegions.Add("Ile de France", New cFlotte With {.Code = "00001"})
        FlotteRegions.Add("Cote d'azur", New cFlotte With {.Code = "00002"})
 
        FlotteRegions("Ile de France").Vehicules.Add("610 GHP 75", New cVehicule With {.Type = "Utilitaire"})
        FlotteRegions("Ile de France").Vehicules.Add("1244 FFR 92", New cVehicule With {.Type = "VL"})
        FlotteRegions("Ile de France").Vehicules("610 GHP 75").Utilisateurs.Add("Pierre")
        FlotteRegions("Ile de France").Vehicules("610 GHP 75").Utilisateurs.Add("Paul")
        FlotteRegions("Ile de France").Vehicules("1244 FFR 92").Utilisateurs.Add("Jacques")
        FlotteRegions("Ile de France").Vehicules("1244 FFR 92").Utilisateurs.Add("Michel")
 
        FlotteRegions("Cote d'azur").Vehicules.Add("732 AAR 06", New cVehicule With {.Type = "VL"})
        FlotteRegions("Cote d'azur").Vehicules.Add("930 WKR 06", New cVehicule With {.Type = "VL"})
        FlotteRegions("Cote d'azur").Vehicules("732 AAR 06").Utilisateurs.Add("Luc")
        FlotteRegions("Cote d'azur").Vehicules("732 AAR 06").Utilisateurs.Add("Simon")
        FlotteRegions("Cote d'azur").Vehicules("930 WKR 06").Utilisateurs.Add("Albert")
 
        Dim sUtilisateur As String = "Boris"
        If FlotteRegions.Values.Select(Function(x) x.Vehicules.Select(Function(y) y.Value.Utilisateurs.Contains(sUtilisateur))).Count > 0 Then
            MsgBox("Utilisateur connu")
        Else
            MsgBox("Inconnu!")
        End If
Le but est de connaitre si une personne faite partie des utilisateurs d'un véhicule quelque soit la région.
Dans l'exemple ci-dessus, une recherche sur "Boris" me retourne "Utilisateur connu" alors qu'il ne fait pas partie du staff. Il va sans dire que je n'ai pas la bonne logique mais je coince...

Merci pour l'aide

Olivier