Bonjour à tous,
Quelqu'un pourrait-il m'indiquer comment modifier la hauteur de ligne dans un listBox.
L'affichage de ma dernière donnée n'apparaît qu'à moitié .
Merci d'avance
Habiler
![]()
Bonjour à tous,
Quelqu'un pourrait-il m'indiquer comment modifier la hauteur de ligne dans un listBox.
L'affichage de ma dernière donnée n'apparaît qu'à moitié .
Merci d'avance
Habiler
![]()
Salut,
As-tu tenté d'augmenter la hauteur de la liste déroulante tout simplement.
Oui.
En fait j'ai 2 listboxes identiques et l'une est nickel et la deuxième m'affiche que la moitié de la ligne.
J'ai changé les diemensions de la police de caractère également mais rien n'y fait.
Bonjour,
Est-ce un ListBox sur la feuille de calcul (ActiveX) ou bien dans un UserForm ?
Votre illustration ne permet pas une bonne visualisation
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier
Dans un Userform
En fait si plusieures lignes la première s'affiche correctement.
Voici le code utilisé pour info :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 '========== ListBox2 ======================== Set list2 = ListBox2 ' Efface les données précédentes dans la liste list2.Clear ' Boucle à travers les lignes de la feuille de calcul For j = 1 To wsAvisAll.Cells(wsAvisAll.Rows.Count, "A").End(xlUp).Row ' Vérifie si la valeur correspond à la valeur sélectionnée dans ComboBox1 If wsAvisAll.Cells(j, "A").value = foundRow.Offset(0, -1).value Then ' Ajoute la ligne correspondante a la liste list2.AddItem wsAvisAll.Cells(j, "A").value & " - " & wsAvisAll.Cells(j, "B").value & " --> " & wsAvisAll.Cells(j, "L").value & " / " & wsAvisAll.Cells(j, "M").value & " / " & wsAvisAll.Cells(j, "N").value End If Next j
Thx
Habiler
Bonjour,
C'est un peu plus clair.
C'est donc un ListBox placé dans un TabStrip ou un contrôle Multipage.
Je ne sais pas si cela provient de là mais pourquoi utiliser une concaténation de données pour alimenter le ListBox ?
[EDIT]
J'ai effectué un test avec concaténation et la méthode AddItem et je rencontre pas ce phénomène.
Question 2 : Est-ce que dans la source de données, il n'y aurait pas un caractère tel qu'un retour chariot (ascii 13) ou un linefeed (ascii 10) ?
En tous les cas, à ma connaissance, il n'y a pas de propriété permettant de régler la hauteur des lignes d'un ListBox
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier
Bonjour,
je viens de faire qq test en essayer de jouer sur les paramètres de la listbox, le seul moyen que j'a trouvé pour arriver à ce résultat est de mettre "devant" la listbox un contrôle opaque qui cache les lignes...
Tu a essayé de supprimer / recréer la listbox, nettoyer progressivement son environnement... pour voir si ça change qq chose ?
Hello,
il y a la propriété IntegralHeight mais elle est normalement à vrai par défaut :
Indique si une zone de liste ou une zone de texte affiche des lignes complètes de texte dans une liste ou des lignes partielles.
Syntaxe
objet . IntegralHeight [= Boolean ]
La syntaxe de la propriété IntegralHeight comporte les parties suivantes :
Élément Description object Obligatoire. Un objet valide. Boolean Facultatif. Indique si la liste affiche des lignes partielles de texte.
Settings
Les paramètres de Boolean sont les suivants :
Valeur Description True La liste se redimensionne pour afficher uniquement les éléments complets (par défaut). False La liste ne se redimensionne pas même si l’élément est trop grand pour s’afficher complètement.
Remarques
La propriété IntegralHeight se rapporte à la hauteur de la liste, tout comme la propriété AutoSize se rapporte à sa largeur.
Si IntegralHeight vaut True, la zone de texte se redimensionne automatiquement pour afficher des lignes complètes. Si elle vaut False, la liste reste de taille fixe ; si les éléments sont plus grands que l’espace disponible dans la liste, ils ne sont pas affichés dans leur intégralité.
Ami calmant, J.P
Bonjour la communauté,
Comme le supposaiit Philippe le problème provient de la concaténation/ Lorsque je supprime le dernier élément l'affichage est parfait. Mais il y a t il un moyen de remédier àce problème. J'ai essayé avec Trim mais aucun résultat. J'ai modifié Wiidtth ett Haight pareil. Aucune amélioration.
Merci d'avance et un excellent soleil
Habiler
Bonjour,
C'est que l'une des chaînes concaténées contient un caractère spécial car j'avais fait un test avec concaténation et chez moi cela fonctionnait.Lorsque je supprime le dernier élément l'affichage est parfait
Pour vérifier quel caractère est fautif, il suffit de boucler sur les caractères de la dernière colonne en vérifiant le code ASCII de ceux-ci
Cela dit, je ne comprends toujours pas la raison de concaténer. Il est tout à fait possible d'alimenter la liste avec plusieurs colonnes.
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier
Merci Phlippe,
Le dernier élément de la concaténaton comportait en ccaractère spécial.
La concaténation ne prend-elle pas moins de place que les colonnes ?
Bonne avant-soirée
Habiler
Salut,
Il est impossible de répondre a cette question avec une réponse qui couvre tous les cas d'utilisation.
Concaténer "été" et "hiver" dans une seule colonne prendra forcément moins de place que 2 colonne contenant chacune "printemps" et "automne".
L'inverse n'est pas vrai. Concaténer "printemps" et "automne" dans une seule colonne prendra plus de place que 2 colonne contenant chacune "été" et "hiver".
De plus, concaténer toutes les données dans une seule et même colonne à un gros désavantage: Retrouver chaque donnée individuellement.
Il existe une règle en développement: Diviser pour mieux régner. Plus les données sont séparée, plus on sais de quoi on parle, mieux on se porte.
Les regrouper n'est vraiment à utiliser qu'en dernier recours, ou pour de l'affichage pure et simple.
Partager