1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| Private Sub ComboBox1_Change()
'On met a jour la liste
MaJList
End Sub
Private Sub TextBox1_Change()
'Inutile il suffit de passer sa propriété Enabled à False
'Me.TextBox1 = Sheets("Barbecue").Range("I2")
End Sub
Private Sub userform_activate()
' Sheets("Barbecue").Select
'Application.DisplayFullScreen = True 'désactiver pour les essais
'With Me
' .StartUpPosition = 3
' .Width = Application.Width
' .Height = Application.Height
' .Left = 0
' .Top = 0
'End With
'Autant lier le textbox à la cellule I2
'Regarde dans les propriété du TextBox (ControlSource) et met comme valeur Barbecue!I2
'Regardes également la propriété Enabled du TextBox qui interdit la modification du contenu (met la False)
'TextBox1.Value = Sheets("Barbecue").Range("I2").Value
'On selectionne la 1er entré de la combobox "Tous les mois"
ComboBox1.ListIndex = 0 'La liste est mise a jour (execution de ComboBox1_Change())
End Sub
Sub MaJList()
'Dans les propriété de ta ComboBox, met Style à fmStyleDropDownList, sa interdit à l'utilisateur de pouvoir taper n'importequoi
Dim ShBarbeuc As Worksheet
'On pointe sur la feuille Barbecue
Set ShBarbeuc = ThisWorkbook.Sheets("Barbecue")
'Suppression des titres de colonnes
ListView1.ColumnHeaders.Clear
'Alimentation des titres de colonne :
'Ton fichier à planté au chargement et m'a viré le listView, je ne peux donc pas verifier ce que tu as mis comme propriété
'Mais tu doit avoir la propriété View à lvwReport
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
With Me.ListView1
.ListItems.Clear
For Each V In ShBarbeuc.Range("A4:A" & ShBarbeuc.Cells(Rows.Count, "A").End(xlUp).Row)
'Ici on controle que le mois inscrit dans la tableau Excel correspond bien au moi choisi
'Si aucun moi n'a été choisi, on inscrit toutes les données
'On passe les valeur en majuscule Ucase) pour ne pas etre dérangé par les majuscule en début de nom
'Décembre n'est pas égale à décembre
If (UCase(V.Text) = UCase(ComboBox1.Text)) Or (ComboBox1.Text = "Tous les mois") Then
'On ajoute une ligne
With .ListItems.Add(, , V.Text)
.ForeColor = V.Font.Color
For j = 1 To 8
.ListSubItems.Add , , V.Offset(0, j).Text
.ListSubItems(j).ForeColor = V.Offset(0, j).Font.Color
Next j
End With
End If
Next V
End With
End Sub |
Partager