Entete de colonne dans un listbox
Le
Alex

Bonjour à tous,
J'ai consulté différent sujet sur le forum, mais malgre cela je n'ai pa=
s trouvé la solution.
Quelqu'un serait il comment parametrer un listbox pour afficher en titre de=
la listbox mes titres de colonnes qui se trouvent en ligne 1 de mon tablea=
u, et que cela ne m'affiche pas ma ligne 1 en tant que Données mais titre=
.
J'ai mis ColumnHeads = True et Row source A2:P1048576,
Losrque je suis sur VB l'affichage, marque bien ma ligne 1 en titre et les =
lignes suivantes en données. Mais lorsque j'active le Userform, j'ai de n=
ouveau Colonne A Colonne B.
Comment faire pour résoudre se problème.
Merci par avance de votre aide.
Amicalement
Alex
J'ai consulté différent sujet sur le forum, mais malgre cela je n'ai pa=
s trouvé la solution.
Quelqu'un serait il comment parametrer un listbox pour afficher en titre de=
la listbox mes titres de colonnes qui se trouvent en ligne 1 de mon tablea=
u, et que cela ne m'affiche pas ma ligne 1 en tant que Données mais titre=
.
J'ai mis ColumnHeads = True et Row source A2:P1048576,
Losrque je suis sur VB l'affichage, marque bien ma ligne 1 en titre et les =
lignes suivantes en données. Mais lorsque j'active le Userform, j'ai de n=
ouveau Colonne A Colonne B.
Comment faire pour résoudre se problème.
Merci par avance de votre aide.
Amicalement
Alex
Qu'est-ce que tu as dans Userform_Initialize et dans Userform_Activate
?
Cordialement.
Daniel
Suppose que tu as une ligne de titre en A1:C1
Suppose les données en A2:C10
Tu définis les propriétés suivantes du listBox
ColumnCount = 3
ColumnWidths = 40;40;40 'Où la largeur de chaque colonne comme tu le veux
RowSource = Feuil1!A2:C10
Tu devrais voir les titres de colonnes apparaître dans le listbox soit le
contenu de la ligne A1:C1.
Quand tu indiques à Excel, que la listbox contient des titres de colonnes,
Excel prend automatiquement
la ligne précédente (au-dessus) de la plage de données définie comme
RowSource comme étiquettes de colonnes.
Tu peux utiliser l'événement "UserForm_Initialize" du formulaire pour
renseigner ces propriétés...selon les besoins de ton application.
Merci pour vos réponses, j'ai fini par trouver mon erreur.
Mon paramétrage du listbox que je décrivais dans mon 1er message étai t en conflit avec le paramétrage de ma plage "base" pour la macro qui g ênerait l'affichage de ma base dans le listbox.
Néanmoins ce probleme résolu, pour ma macro double clic sur une ligne d u listbox pour aller pointer la ligne correspondante sur la base, j'ai du f aire +2 pour qu'il sélectionne la bonne ligne mais je n'ai pas compris po urquoi ?
Merci encore de votre aide.
Alex
-L'index d'une listebox commence (par défaut) à zéro
-La plage commence à la ligne 2
Il est donc normal de devoir ajouter 2 pour pointer sur la bonne ligne.
--
Salutations
JJ
"Alex"
Bonsoir,
Merci pour vos réponses, j'ai fini par trouver mon erreur.
Mon paramétrage du listbox que je décrivais dans mon 1er message était en conflit avec le paramétrage de ma
plage "base" pour la macro qui gênerait l'affichage de ma base dans le listbox.
Néanmoins ce probleme résolu, pour ma macro double clic sur une ligne du listbox pour aller pointer la ligne
correspondante sur la base, j'ai du faire +2 pour qu'il sélectionne la bonne ligne mais je n'ai pas compris
pourquoi ?
Merci encore de votre aide.
Alex
+1 devrait être suffisant...
'-----------------------------------
Private Sub ListBox1_Click()
With Me.ListBox1
' MsgBox .List(.ListIndex, 0)'pour afficher la valeur sélectionnée de la
colonne1
Range(Me.ListBox1.RowSource).Rows(.ListIndex + 1).Select
'<<<================= End With
End Sub
'-----------------------------------
Merci pour ce retour et exemple de fichier.
J'ai appliquer la configuration du fichier joint et cela fonctione super bien, et en effet +1 suffit :)
Merci encore
Alex