ListObject - Récupérer le offset différement
Bonjour à tous,
Je tente depuis quelques jours de m'initier aux Tableaux Structuré via les beaux billets/tuto de Pierre Fauconnier.
J'ai une petite question qui pourrais vous sembler assez bête...
Je fais une boucle sur une table "T_Mapping" en vue de récupérer les critères pour "Ventiller" filtre et export vers autre feuille du résultat, la Bdd.
Mon code fonctionne bien.
Mais n'étant pas certain de l'évolution que prendra la table ajout colonne, modification ordre,....
Je me demande s'il serait envisageable de se passer des Cel.Offset(0, 1).Value, pour récupérer la valeur d'une cellule sur la même ligne en fonction du header, et non plus de la position de la cellule. ?
du genre :
Code:
Crit2 = Cel.Offset(0, 1).Value
->
Code:
Crit2 = Cel.ListColumns("Criteria1").DataBodyRange.Value
je suis dans le flou.
Merci d'avance pour votre aide.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Sub Testventilation()
Dim Tbl As ListObject, Cel As Range
Dim Crit1 As String, Crit2 As String
Dim TD As Range, rangeDest As String
Set TD = ThisWorkbook.Sheets("Sheet1").Range("T_Personnes") ' table à ventiller
Set Tbl =ThisWorkbook.Sheets("Param").ListObjects("T_Mapping") ' table de parametres
For Each Cel In Tbl.ListColumns("Criteria1").DataBodyRange ' "Criteria1" libellé de la colone
Crit1 = Cel.Value
Crit2 = Cel.Offset(0, 1).Value
rangeDest = Cel.Offset(0, -1).Value
Call TestSelectTDbyMapping(TD, Crit1, Crit2, rangeDest)
Next
End Sub |