chris09300
Messages postés140Date d'inscriptionlundi 9 juin 2008StatutMembreDernière intervention18 avril 2012
-
11 déc. 2011 à 16:17
Ichiflo
Messages postés7Date d'inscriptionmardi 20 décembre 2011StatutMembreDernière intervention 4 janvier 2012
-
22 déc. 2011 à 14:16
bonjour
je cherche a tri ma listview avec un combobox.
voici mon code:
Private Sub CommandButton1_Click()
Me.Hide
Sheets("Menu").Select
End Sub
Private Sub Barbecue_Click()
Load Barbecues
Barbecues.Show
Unload UserForm1
UserForm1.Show
Sheets("Menu").Select
End Sub
Private Sub Retour_Menu_Click()
Sheets("Menu").Select
Range("P5").Select
Application.DisplayFormulaBar = False
Unload UserForm1
End Sub
Private Sub TextBox1_Change()
Me.TextBox1 = Sheets("Barbecue").Range("I2")
End Sub
Private Sub userform_activate()
Sheets("Barbecue").Select
Application.DisplayFullScreen = True
TextBox1.Value = Sheets("Barbecue").Range("I2").Value
With Me
.StartUpPosition = 3
.Width = Application.Width
.Height = Application.Height
.Left = 0
.Top = 0
End With
'Suppression des titres de colonnes
ListView1.ColumnHeaders.Clear
'Alimentation des titres de colonne :
ListView1.ColumnHeaders.Add , , "Mois", ListView1.Width * 0.1, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Nom", ListView1.Width * 0.22, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Nº MobilHome", ListView1.Width * 0.15, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Duree", ListView1.Width * 0.1, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Reglement", ListView1.Width * 0.12, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Prix Location", ListView1.Width * 0.13, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Total", ListView1.Width * 0.08, lvwColumnRight
ListView1.ColumnHeaders.Add , , "Caution", ListView1.Width * 0.1, lvwColumnCenter
'on remplit la listview
With Me.ListView1
.ListItems.Clear
For Each V In Range("A4:A" & Range("A65536").End(xlUp).Row)
X = X + 1
.ListItems.Add , , V.Text
.ListItems(X).ForeColor = V.Font.Color
For j = 1 To 8
.ListItems(X).ListSubItems.Add , , V.Offset(0, j).Text
.ListItems(X).ListSubItems(j).ForeColor = V.Offset(0, j).Font.Color
Next j
Next V
End With
End Sub
a l'aide d'un combobox ou j'ai une liste des mois de l'annee
apres choix dans ce comboboxavoir l'affichage du mois choisi ainsi que ses donnees
dans le combobox
Tous les mois
Janvier
Février
Mars
etc...
Ichiflo
Messages postés7Date d'inscriptionmardi 20 décembre 2011StatutMembreDernière intervention 4 janvier 2012 22 déc. 2011 à 14:16
J'ai pas tout compris tu parles de 2 combobox et ton code parle de textbox et de listview?! Le sujet est "choix dans listview" et tu cherches finalement à faire un tri...
Je n'ai pas ton fichier donc c'est assez flou et je vais assez de répondre en espérant que cela convienne à ton application...
** Pour trier:
- Pour le tri je présume que le .sorted=true glissé après le chargement ne te conviendra pas car il te faut mettre les mois dans l'ordre "calendaire" et non alphabétique
- Je te suggèrerais de gérer le tri sur ta feuille avant le chargement. Avec l'aide d'un "Application.ScreenUpdating" (pour éviter que cela dure trop longtemps) tu scrute chaque ligne
If mois = "Janvier" then
ligne+1
Janv= Janv+1
Endif
If mois = "Février" then
'Déplacer la ligne en Janv+Fev+1
Fev=Fev+1
Endif
...
C'est barbare mais l'idée est là, à toi d'optimiser le code (j'suis même pas sur que ce soit ce que tu cherches)
** Pour n'afficher que ce qui a été sélectionné par la combobox, essayes:
Private Sub ComboBox1_Change()
Me.ComboBox1 = Sheets("Barbecue").Range("I2")
Call userform_activate
End Sub
.
.
.
With Me.ListView1
.ListItems.Clear
For Each V In Range("A4:A" & Range("A65536").End(xlUp).Row)
If Cells(V,1)=Combobox.value then
X = X + 1
.ListItems.Add , , V.Text
.ListItems(X).ForeColor = V.Font.Color
For j = 1 To 8
.ListItems(X).ListSubItems.Add , , V.Offset(0, j).Text
.ListItems(X).ListSubItems(j).ForeColor = V.Offset(0, j).Font.Color
Next j
Endif
Next V
End With
En espérant que tu tombes sur ma réponse et qu'elle ne soit pas trop pourave