marcod59
Messages postés170Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention13 juin 2010
-
7 janv. 2006 à 14:53
marcod59
Messages postés170Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention13 juin 2010
-
8 janv. 2006 à 15:25
marcod59
Bonjour et meilleurs voeux,
J'ai 2 Feuil. Sur la Feuil1 je voudrais mettre, sans passer par un userform, une listbox qui devra être remplie par des données misent sur la Feuil2. Les données sont misent dans la colonne E et possède des cellules vides à intervalles irréguliers.
Comment faire pour remplir ma listbox ?
cs_LeGrosWinnie
Messages postés47Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention18 mai 2007 7 janv. 2006 à 18:19
sans les cellules vide il sufit de modifier le code comme ceci :
For i = 1 To 40 'Plus si tu as plus de 40 données
if ListBox1.AddItem Sheets(2).Range("E" & i).Value<> "" then
ListBox1.AddItem Sheets(2).Range("E" & i).Value
end if
Next i
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 7 janv. 2006 à 16:17
Bonjour,
Dans le menu Affichage / barre d'outils / Commandes, tu places une
ListBox sur ta Feuil2, ensuite dans VBAProject tu doublecliques sur
Feuil2(Feuil1) et tu mets.
Private Sub Worksheet_Activate()
ListBox1.Clear
Dim i
For i = 1 To 40 'Plus si tu as plus de 40 données
ListBox1.AddItem Sheets(2).Range("E" & i).Value
Next i
End Sub
jpleroisse
Si une réponse vous convient, cliquez Réponse Acceptée.
marcod59
Messages postés170Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention13 juin 2010 7 janv. 2006 à 19:06
marcod59
Super, excuse moi mais j'ai encore besoin de tes services. Je viens de voir qu'il fallait que dans cette listbox, j'affiche 2 colonnes et que ces colonnes ne sont pas une à côté de l'autre.
J'ai essayé de mettre Listbox1.Additem sheets(2).Range("A" & i).Value en plus, mais les valeurs ce mettent une au dessus de l'autre, alors que je voudrais qu'elles soient une à côté de l'autre.
marcod59
Messages postés170Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention13 juin 2010 7 janv. 2006 à 23:48
marcod59
Il me semble que pour avoir plusieurs colonne dans une listbox on utilise
ColumnCount . Donc là je doit mettre ListBox1.ColumnCount = 2, le problème vient après. Lorsque l'on met une listbox dans un userform j'ai la propriété RowSource qui accepte un A1:B10 et qui affiche les données une à côté de l'autre. Par contre lorsque je met la listbox sur une feuille je n'ai pas cette propriété. J'ai la propriété ColumnCount, donc je pense qu'il doit y avoir un moyen de mettre les données une à côté de l'autre.
marcod59
Messages postés170Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention13 juin 2010 8 janv. 2006 à 08:37
marcod59
Bonjour,
Ca marche, mais il y a encore un petit problème. La première colonne il n'y a pas de problème, c'est une date et elle est très bien. Par contre la 2ème, c'est un petit texte (jamais au dessus de 30 caractères) mais il n'affiche que 12 caractères. Faut-il régler une propriété ?
marcod59
Messages postés170Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention13 juin 2010 8 janv. 2006 à 15:25
marcod59
Bonjour,
Entre temps j'ai essayé avec une MSFlexGrid qui fonctionne pas mal aussi. Voici le code :
Dim i, e, memo(1)
Dim s$
DerLigne = Sheets(4).Range("BA65536").End(xlUp).Row
MSFlexGrid1.Clear
MSFlexGrid1.Rows = 2
MSFlexGrid1.FixedRows = 1
s$ = "Date | Commentaires "
MSFlexGrid1.FormatString = s$
For e = 2 To DerLigne
If Sheets(4).Range("BA" & e).Value <> "" Then
memo(0) = Sheets(4).Range("A" & e).Value
memo(1) = Sheets(4).Range("BA" & e).Value
MSFlexGrid1.AddItem memo(0) & vbTab & memo(1)
End If
Next e