XL 2010 [RESOLU]Numero colonne entete tableau structuré

  • Initiateur de la discussion Initiateur de la discussion cp4
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cp4

XLDnaute Barbatruc
Bonjour🙂,

J'ai ce type de tableau structuré, je voudrais mettre dans une variable le numéro de colonne des entêtes.
Afin de pouvoir le réutiliser dans une procédure car le tableau pourrait évoluer (ajout de colonnes à l'intérieur du tableau).
1589732164385.png


En vous remerciant par avance.

ps: initialement, il n'y avait pas de colonne Monnaie

Bonne soirée à vous.

Edit: Je me suis noyé dans un verre d'eau. Finalement, j'ai trouvé
VB:
Range("tableau1" & "[crédit]").Column
 
Dernière édition:
Solution
Comme tu remplaçais nbCol je pensais que c'était la ligne NbCol = [Tableau1].Columns.Count qui plantait.

Par ailleurs quelle différence fais-tu entre ces 2 lignes :
Code:
'                  Col = Intersect(.HeaderRowRange, Target.EntireColumn).Value
         Col = Intersect(Target.EntireColumn, .HeaderRowRange)
???
Si ce n'est que tu inverses, et enleves le .Value qui donne explicitement la propriété voulue.
Celle d'origine fonctionne et ôte toute ambiguïté...

Ma proposition faisait 3 lignes :
VB:
    With ActiveWorkbook.Worksheets("Feuil1").ListObjects(1)
        Debug.Print Intersect(.HeaderRowRange, ActiveCell.EntireColumn).Value
    End With
Et oui, il faut la compléter en t'assurant être dans le tableau.
Je ferais...
Bonjour cp4,
Range("tableau1" & "[crédit]").Column
"tableau1" = Cprrespond à quoi ?
"[crédit]" = Correspond à quoi ?

J'ai ce type de tableau structuré, soit le tableau Structuré "tableau1"
A4 = Date
B4 = Crédit
C4 = Débit
D4 = Solde
E4 = Observation

ps: initialement, il n'y avait pas de colonne Monnaie, qu'elle est le rapport avec "[Monnaie]"
 
Dernière édition:
Bonjour🙂,

J'ai ce type de tableau structuré, je voudrais mettre dans une variable le numéro de colonne des entêtes.
Afin de pouvoir le réutiliser dans une procédure car le tableau pourrait évoluer (ajout de colonnes à l'intérieur du tableau).
Regarde la pièce jointe 1067455

En vous remerciant par avance.

ps: initialement, il n'y avait pas de colonne Monnaie

Bonne soirée à vous.

Edit: Je me suis noyé dans un verre d'eau. Finalement, j'ai trouvé
VB:
Range("tableau1" & "[crédit]").Column
Bonjour,
Sans concaténer
MsgBox [Tableau1[crédit]].Column 'OU MsgBox Range("tableau1[crédit]").Column
 
Dernière édition:
Bonjour cp4,
Range("tableau1" & "[crédit]").Column
"tableau1" = Cprrespond à quoi ?
"[crédit]" = Correspond à quoi ?

J'ai ce type de tableau structuré, soit le tableau Structuré "tableau1"
A4 = Date
B4 = Crédit
C4 = Débit
D4 = Solde
E4 = Observation

ps: initialement, il n'y avait pas de colonne Monnaie, qu'elle est le rapport avec "[crédit]"
Salut Laurent950😉, pourquoi es-tu dans cet état alors qu'on est dimanche.

Tableau1 est le nom du tableau
Crédit est le nom de l'entête

Pour ton ps:
Dans ma procédure évènementielle j'avais ceci: If Target.Column = 2 And Ligne = 5 Then (colonne 2 était Crédit) en insérant une colonne ma procédure ne pouvait plus fonctionner. Est-ce que ça te suffit comme réponse.

Bonne soirée et repose-toi bien, il me semble que tu es fatigué en cette fin de journée.😛
 
Re,
Il n'y a pas une possibilité de faire une boucle pour récupérer les nom des entêtes des tableaux structuré ? je viens de penser a cela ?
Peux être si tu me laisse le code ici je regarde, j'utilise jamais les tableaux structuré, juste pour voir si je m'en sort aussi et un peux d'entrainement sur quelque choses e nouveau 😀 😀
 
Re,
Il n'y a pas une possibilité de faire une boucle pour récupérer les nom des entêtes des tableaux structuré ? je viens de penser a cela ?
Peux être si tu me laisse le code ici je regarde, j'utilise jamais les tableaux structuré, juste pour voir si je m'en sort aussi et un peux d'entrainement sur quelque choses e nouveau 😀 😀
Pour le moment, je voulais me casser la tête et ouvrir une discussion en cas de blocage.
Comme tu veux t'entrainer, je te joint une copie du fichier. Tu y trouveras un descriptif de mon casse-tête pour découvrir et apprendre.
Le code en question est dans le module de la feuille1.

Bon courage. 😉
 

Pièces jointes

Re,
J'ai fait un test par rapport à ton fichier : les tableaux structures vba

VB:
Sub tableSheetForEach()

    Dim sh As Worksheet
        Set sh = ThisWorkbook.Worksheets("Feuil1")
    Dim tbl As ListObject

    ' Boucle à travers toutes les tables de la "Feuil1"
        For Each tbl In sh.ListObjects
            If tbl.Name = "Tableau1" Then
                ' Mise en mémoire
                    Dim Tableau1 As ListObject
                    Debug.Print tbl.Name
                    Set Tableau1 = tbl
                Exit For
            End If
        Next tbl
    ' Boucle sur tbl = tableau1
        Dim cel As Range
            For Each cel In Tableau1.Range
               ' Exemple "Crédit"
                If cel = "Crédit" Then
                    MsgBox cel.Value
                    MsgBox cel.Address
                    MsgBox cel.Column
                    MsgBox cel.Row
                    Exit For
                End If
            Next
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour