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:
J'ai compris qu'un tableau structuré est un objet "ListObjets" qui appartient à la collection "ListObjet" appartenant à l'objet "WorkSheet" de la collection....
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
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.
Partager