Option Explicit
Dim WithEvents Casc As OutIdx.ComboBoxCasc
Dim DicPost As Dictionary
Dim PlgGEH As Range
Private Sub Worksheet_Activate()
Set PlgGEH = OutIdx.PlgUti(FeuiGEH.[A13])
Set Casc = OutIdx.CbxCasc
Casc.Add Me.CbxNom, PlgGEH.Columns("E")
Casc.Add Me.CbxPrn, PlgGEH.Columns("F")
Casc.Actualiser
Set DicPost = OutIdx.DictionnArbo(OutIdx.ColUti(FeuiInv.[C13]))
End Sub
Private Sub Casc_Bingo(Lignes() As Long)
Dim N As Long, L As Long, Hall As String, Post As String, LibPost As String, TLSubs() As Long, TSubst() As Variant, S As Long, TZ() As String
Application.Calculation = xlCalculationManual
Me.Rows(6).Resize(Rows.Count - 5).ClearContents
TSubst = OutIdx.ColUti(FeuiInv.[E13]).Value
For N = 1 To UBound(Lignes)
L = Lignes(N)
Me.[F3].Value = PlgGEH(L, "G").Value
Post = Trim$(PlgGEH(L, "C").MergeArea.Rows(1).Value)
Hall = Trim$(PlgGEH(L, "D").MergeArea.Rows(1).Value)
Me.Cells(N + 5, 1).Value = Post
Me.Cells(N + 5, 2).Value = Hall
LibPost = Post & " (" & LCase(Hall) & ")"
If DicPost.Exists(LibPost) Then
TLSubs = DicPost.Item(LibPost)
ReDim TZ(1 To UBound(TLSubs)) As String
For S = 1 To UBound(TLSubs)
TZ(S) = TSubst(TLSubs(S), 1)
Next S
Me.Cells(N + 5, "K").Value = Join(TZ, ", ")
Else
Me.Cells(N + 5, "K").Value = "*** Libellé """ & LibPost & """ introuvable."
End If
Next N
Application.Calculation = xlCalculationAutomatic
End Sub
Private Sub Casc_Défait()
Me.Rows(6).Resize(Rows.Count - 5).ClearContents
End Sub
Private Sub Worksheet_Deactivate()
Set Casc = Nothing
End Sub