ComboBox qui liste les colonnes dynamiquement

Olaf -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

Je cherche comment faire pour lister dans combo box, le nom des colonnes d'un tableau sur Excel et ceci de façon dynamique.

C'est à dire, si j'ai 4 colonnes dans lesquelles j'ai des données (peu importe la longueur des colonnes), j'aimerai que dans ma combo box figure "a", "b", "c", "d".

Quelqu'un peut-il m'aider...

Grand merci
A voir également:

7 réponses

Polux31 Messages postés 7219 Statut Membre 1 204
 
Aucune idée, je l'ai testé ici avec Excel 2003 et Excel 2007 et le code fonction. Il y a un problème ailleur, ça ne vient pas de ce code.

;o)
1
Olaf
 
Salut Polux31

J'ai essayé de copier ce code et de l'adapter à mes besoin, mais ça ne fonctionne pas.
Il me fait une erreur d'exécution 438 à l'ouverture de mon formulaire !

Tu as une idée
0
Olaf
 
Alors en fait ce que j'aimerai c'est que si dans la colonne A il y a des données, un "A" viendrait se lister dans ma Combobox et ainsi de suite pour chaque colonne où j'ai des données.
Maintenant si après la colonne G je n'ai plus de données et bien la dernière lettre dans ma Combobox serait le "G"

Si vous avez pas compris, dites le moi et j'essaierai d'expliquer mieux

Merci encore
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
Bonjour,

Voilà un exemple de code :

Dim i As Long
Dim numcol As Long
Dim cl As Range

    Sheets(1).Activate

    For Each cl In Worksheets(1).Range("A1:IV1")
        If cl.Value <> "" Then
            numcol = cl.Column
            Sheets(1).ComboBox1.AddItem IIf(numcol > 26, Chr(64 + numcol \ 26) & Chr(64 + numcol Mod 26), Chr(64 + numcol))
        End If
    Next cl


;o)
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour, Bonjour Polux,
Je ne comprend pas bien ce que tu veux avoir dans le combo, d'après tes explications tu veux le titre de tes colonnes ? mais apparement ce n'est pas ça.
Puis, tu parle de formulaire ! Sur Excel ?
A+
-1
Polux31 Messages postés 7219 Statut Membre 1 204
 
Salut lermite,

J'ai cru comprendre qu'il voulait la lettre de la colonne dans le combo (colonne 1 = A) ... mais ce n'est peut être pas ça.

;o)
-1
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Huuum, en revenant sur sa question, je pense que ce qu'il veux c'est qu'il y ai un test sur une certaine quantité de colonnes (toutes peut-être) et que celles qui contiennent des données soient reprise dans le combo.
Mais il faut attendre la réponse si ont veux pas tourner en rond .
A+
-1
Polux31 Messages postés 7219 Statut Membre 1 204
 
C'est ce que j'avais cru comprendre ... attendons la suite.

;o)
-1
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
C'est bien ce que j'avais compris.
Essaye...
Sub AjoutLettreColonne()
Dim C As Integer
Dim A As String
Dim LastC As Integer
Dim S
    Sheets("feuil1").Select
    A = Range("A1").SpecialCells(xlCellTypeLastCell).Address
    LastC = Range(A).Column
    For C = 1 To LastC
        'le 1 à adapter à la première ligne à tester
        If Range(Cells(65536, C), Cells(65536, C)).End(xlUp).Row > 1 Then
            S = Split(A, "$") 'Si plusieurs lettres
            Sheets("feuil1").ComboBox1.AddItem S(1)
        End If
    Next C
End Sub

A+
-1