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
A voir également:
- ComboBox qui liste les colonnes dynamiquement
- Liste déroulante excel - Guide
- Comment faire des colonnes sur word - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
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)
;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
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
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 :
;o)
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+
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+
Mais il faut attendre la réponse si ont veux pas tourner en rond .
A+
C'est bien ce que j'avais compris.
Essaye...
A+
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+