Bonjour à tous,

Mes combobox son sur la feuille "FormulaireHeure" (Feuil1), et mes données sont sur la feuille "ListeText"(Feuil3).
La partie de code qui "anime" les combobox sont donc sur Feuil1(FormulaireHeure).
Je voudrais arriver à ne plus mentionner le nom de la feuille "ListeText" en dur dans le code:
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
 
Private Sub CB_NumAff_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim numAff As Variant, c As Range
Debug.Print "CB_NumAff.ListCount: " & Me.CB_NumAff.ListCount
    If KeyCode = 13 Then  'And Me.CB_NumAff.ListIndex >= 0
        numAff = Me.CB_NumAff.Value
 
        'Ce qui fonctionne:
        Set c = Sheets("ListeText").ListObjects("T_Affaire").DataBodyRange.Find(numAff)
 
        'Ce que je voudrais obtenir:
        Set c = ThisWorkbook.[T_Affaire].DataBodyRange.Find(numAff)
 
 
        MsgBox c.Row
        Set c = Nothing
    End If
End Sub
J'ai compris qu'un tableau structuré est un objet "ListObjets" qui appartient à la collection "ListObjet" appartenant à l'objet "WorkSheet" de la collection....
Mais je ne comprends pas le concept de collection...

Au final ma question est comment rendre l'appel d'un "listObjects" indépendamment de la feuille où il se trouve?
Je cherche à pouvoir déplacer le tableau sur une autre feuille sans à avoir à rechercher et modifier dans le code tout les ' Sheets("listeText") par le nom de la nouvelle feuille.

J'espère avoir été explcite...
Merci d'avance.