bonjour
j'ai le code suivant et je souhaiterais lorsque je n'est pas encore de donnees sur ma feuille, que la case total = 0
car actuellement il me faut une donnee, sinon la macro s'arrete au niveau de total
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
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
Sub MaJList()
'il faut que tu supprimes ControleSource du TextBox1 dans les propriétés
Dim Total As Double
'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 :
'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
            'On calcul le total
            Total = Total + CDbl(V.Offset(0, 6))
        End If
    Next V
End With
 
'On place Total dans le TExtbox1
TextBox1.Text = CStr(Total)
    Application.ScreenUpdating = True
End Sub
cris