ComboBox qui liste les colonnes dynamiquement
Olaf
-
lermite222 Messages postés 9042 Statut Contributeur -
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
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
Configuration: Windows XP Internet Explorer 6.0
7 réponses
-
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) -
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 -
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 -
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) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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+ -
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+ -
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+