[Base de Données] repérer l'en-tête d'une colonne

Enerjp

XLDnaute Junior
Bonjour à tous,

Voila j'ai une base de données et j'aimerai bien une macros qui lise toutes les 1er lignes et fixe les différents en-têtes en temps que variable. Pour le moment j'ai quelque chose comme ci-dessus (à répéter autant de fois que d’en-tête), mais n'y a t-il pas un meilleur moyen?

Code:
Sub lecture ()
    Sheets("Feuill1").Activate
'repérer "EnTete" dans les 30 1er cellules de la ligne 1
    For k = 1 To 30
        If Cells(1, k) = "EnTete" Then
            Cells(1, k).Activate
        End If
    Next
    'récuperer la colonne active
        i = ActiveCell.Column
  End sub

Merci enerjp
 
G

Guest

Guest
Re : [Base de Données] repérer l'en-tête d'une colonne

Bonjour,

Je ne comprends pas bien le but recherché.
Si c'est pour trouver l'index de colonne de l'entête en ligne 1:

Code:
Function IdxCol(strNomColonne As String)
    Dim k As Variant
    IdxCol = 0
    k = Application.Match(strNomColonne, Range("1:1"), 0)
    If Not IsError(k) Then IdxCol = k
End Function

Utilisation:

Code:
Dim NumCol as Long

NumCol = idxCol("Client")
'Si l'entête "Client" n'est pas présente en ligne 1 NumCol vaudra 0 (zéro) sinon le numéro de colonne.

Avec 2007 tu peux utiliser les 'Tableaux' (ex listes de 2003, améliorés) https://www.excel-downloads.com/thr...s-references-structurees-des-tableaux.116187/

ex NumCol = Range("MaBaseDeDonnée[Client]").column

A+
 
Dernière modification par un modérateur:

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 023
Membres
104 007
dernier inscrit
Monvieux