Option Explicit
'Dim encours As Boolean

Private Sub UserForm_Initialize()

Me.Height = 545
Me.Width = 700

With Feuil1
    CboEntite.List = .ListObjects("LEntite").DataBodyRange.Value
    CboAct.List = .ListObjects("LAct").DataBodyRange.Value
    CboSecteur.List = .ListObjects("LSecteur").DataBodyRange.Value
    CboMana.List = .ListObjects("LMana").DataBodyRange.Value
    CboAgence.List = .ListObjects("LAgence").DataBodyRange.Value
    CboBankImmo.List = .ListObjects("LChoix").DataBodyRange.Value
    CboTEncartage.List = .ListObjects("LEncartage").DataBodyRange.Value
    CboCollab.List = .ListObjects("LCollaborateurs").DataBodyRange.Value
End With

Call AlimenterListView
End Sub

Private Sub BtnFermer_Click()
    Unload Me
End Sub

Private Sub BtnSource_Click()
'procédure permettant d'accéder à la source
Dim selectedRow As Integer
Dim LstItem As ListItem
    
On Error Resume Next
Set LstItem = ListView1.SelectedItem
On Error GoTo 0
    
If LstItem Is Nothing Then MsgBox "Aucune ligne n'est sélectionnée.": Exit Sub

selectedRow = ListView1.SelectedItem.Index
With Sheets("TEST")
    .Activate
    .ListObjects("TBDD").ListRows(selectedRow).Range.Select
End With

ListView1.ListItems(ListView1.SelectedItem.Index).Selected = False 'déselectionner ligne
Set ListView1.SelectedItem = Nothing 'enver ligne selectionnee de la memoire
End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)

With ListView1
    .Sorted = False
    .SortKey = ColumnHeader.Index - 1

    If .SortOrder = lvwAscending Then
        .SortOrder = lvwDescending
    Else
        .SortOrder = lvwAscending
    End If

    .Sorted = True
End With
End Sub

Private Sub Listview1_BeforeLabelEdit(Cancel As Integer)
    Cancel = True
End Sub

Private Sub ListView1_DblClick()
Dim NbLigne As Integer

If ListView1.ListItems.Count = 0 Then Exit Sub

Call BtnEffacer_Click

NbLigne = ListView1.SelectedItem.Index

BtnModifier.Enabled = True
BtnSuppr.Enabled = True
BtnAjout.Enabled = True

If ListView1.SelectedItem.Text = "" Then Exit Sub

'ici que l'on peut dire ce que l'on prend comme colonne dans le listview

With ListView1

    CboEntite = .SelectedItem.Text '1
    
    With .ListItems(NbLigne)
        CboAct = .ListSubItems(1).Text
        CboSecteur = .ListSubItems(2).Text '2
        CboMana = .ListSubItems(3).Text '3
        CboAgence = .ListSubItems(4).Text '4
        'TxtAna = .ListSubItems(6).Text '5
        CboBankImmo = .ListSubItems(5).Text
        CboTEncartage = .ListSubItems(6).Text '7
        CboCollab = .ListSubItems(7).Text '8
        
        TxtHono = .ListSubItems(8).Text '9
        
        TxtCJuin1 = .ListSubItems(9).Text
        
        TxtCAJuin1 = .ListSubItems(10).Text
        TxtCJuillet1 = .ListSubItems(11).Text
        TxtCAJuillet1 = .ListSubItems(12).Text
        TxtCAout1 = .ListSubItems(13).Text
        TxtCAAout1 = .ListSubItems(14).Text
        TxtCSept1 = .ListSubItems(15).Text
        TxtCASept1 = .ListSubItems(16).Text
        TxtCOct1 = .ListSubItems(17).Text
        TxtCAOct1 = .ListSubItems(18).Text
        TxtCNov1 = .ListSubItems(19).Text
        TxtCANov1 = .ListSubItems(20).Text
        TxtCDec1 = .ListSubItems(21).Text
        TxtCADec1 = .ListSubItems(22).Text
        
        TxtCJan1 = .ListSubItems(23).Text
        TxtCAJan1 = .ListSubItems(24).Text
        TxtCFev1 = .ListSubItems(25).Text
        TxtCAFev1 = .ListSubItems(26).Text
        TxtCMars1 = .ListSubItems(27).Text
        TxtCAMars1 = .ListSubItems(28).Text
        TxtCAvril1 = .ListSubItems(29).Text
        TxtCAAvril1 = .ListSubItems(30).Text
        TxtCMai1 = .ListSubItems(31).Text
        TxtCAMai1 = .ListSubItems(32).Text
        
        TxtCTot1 = .ListSubItems(33).Text
        TxtCATot1 = .ListSubItems(34).Text
        
        TxtCJuin2 = .ListSubItems(35).Text
        TxtCAJuin2 = .ListSubItems(36).Text
        TxtCJuillet2 = .ListSubItems(37).Text
        TxtCAJuillet2 = .ListSubItems(38).Text
        TxtCAout2 = .ListSubItems(39).Text
        TxtCAAout2 = .ListSubItems(40).Text
        TxtCSept2 = .ListSubItems(41).Text
        TxtCASept2 = .ListSubItems(42).Text
        
        TxtCTotCom2 = .ListSubItems(43).Text
        TxtCATotCom2 = .ListSubItems(44).Text
        
        TxtCOct2 = .ListSubItems(45).Text
        TxtCAOct2 = .ListSubItems(46).Text
        TxtCNov2 = .ListSubItems(47).Text
        TxtCANOv2 = .ListSubItems(48).Text
        TxtCDec2 = .ListSubItems(49).Text
        TxtCADec2 = .ListSubItems(50).Text
        
        TxtCTot2 = .ListSubItems(51).Text
        TxtCATot2 = .ListSubItems(52).Text
        
        TxtCom = .ListSubItems(53).Text
    End With
End With
End Sub

Private Sub CommandButton2_Click() 'nouveau - Valider
'nouveau
If CommandButton2.Caption = "Nouveau" Then
    Call BtnEffacer_Click
    CboDSA.List = Sheets("Liste").ListObjects("LDsa").DataBodyRange.Value
    ComboBox1.List = Array("Agence", "Collaborateur", "Manager")
    Exit Sub
End If

'valider
Dim lig As Integer
Dim ligL As Integer

With Worksheets("Test").ListObjects("TBDD")
    If .ListRows.Count = 0 Then
        .ListRows.Add: lig = 1
    Else: .ListRows.Add: lig = .ListRows.Count 'insérer à la dernière ligne
    End If
    Select Case ComboBox1.Value
        Case "Collaborateur"
            'ajout dans liste si collaborateur inexistant
            With Worksheets("Liste").ListObjects("LCollaborateurs")
                On Error Resume Next
                ligL = .DataBodyRange.Find(TextBox8.Value, LookIn:=xlValues, lookat:=xlWhole).Row
                If ligL = 0 Then
                    .ListRows.Add: ligL = .ListRows.Count
                    .DataBodyRange.item(ligL) = TextBox8.Value
                End If
            End With
            With .DataBodyRange
                .item(lig, 1) = CboEntite.Value
                .item(lig, 2) = CboAct.Value
                .item(lig, 3) = CboSecteur.Value
                .item(lig, 4) = CboMana.Value
                .item(lig, 5) = CboAgence.Value
                .item(lig, 6) = CboBankImmo.Value
                .item(lig, 7) = CboTEncartage.Value
                .item(lig, 8) = TextBox8.Value 'collabo
                .item(lig, 9) = TxtHono.Value
            End With

        Case "Manager"
            'ajout dans liste si manager inexistant
            With Worksheets("Liste").ListObjects("Lmana")
                On Error Resume Next
                ligL = .DataBodyRange.Find(TextBox6.Value, LookIn:=xlValues, lookat:=xlWhole).Row
                If ligL = 0 Then
                    .ListRows.Add: ligL = .ListRows.Count
                    .DataBodyRange.item(ligL) = TextBox6.Value
                End If
            End With
            'ajout dans feuille Test
            With .DataBodyRange
                .item(lig, 1) = CboEntite.Value
                .item(lig, 2) = CboAct.Value
                .item(lig, 3) = CboSecteur.Value
                .item(lig, 4) = CboDSA.Value
                .item(lig, 5) = CboAgence.Value
                .item(lig, 6) = CboBankImmo.Value
                .item(lig, 7) = CboTEncartage.Value
                .item(lig, 8) = TextBox6.Value 'manager
                .item(lig, 9) = TxtHono.Value
            End With

        Case "Agence"
            'ajout dans liste si agence inexistante
            With Worksheets("Liste").ListObjects("LAgence")
                On Error Resume Next
                ligL = .DataBodyRange.Find(TextBox7.Value, LookIn:=xlValues, lookat:=xlWhole).Row
                If ligL = 0 Then
                    .ListRows.Add: ligL = .ListRows.Count
                    .DataBodyRange.item(ligL) = TextBox7.Value
                End If
            End With
            With .DataBodyRange
                .item(lig, 1) = CboEntite.Value
                .item(lig, 2) = CboAct.Value
                .item(lig, 3) = CboSecteur.Value
                '.item(lig, 4) = TextBox6.Value 'manager
                .item(lig, 5) = TextBox7.Value 'agence
                .item(lig, 6) = CboBankImmo.Value
                .item(lig, 7) = CboTEncartage.Value
                '.item(lig, 8) = CboCollab.Value
                '.item(lig, 9) = TxtHono.Value
            End With
    End Select
End With

'ajout dans feuille Liste


Call BtnEffacer_Click
Call AlimenterListView

End Sub

Private Sub ComboBox1_Change()

If ComboBox1.Value = vbNullString Then

    CommandButton2.Caption = "Nouveau"
    ComboBox1.Clear

    CboCollab.Enabled = True ': CboCollab.Clear
    CboMana.Enabled = True ': CboMana.Clear
    CboDSA.Enabled = True: CboDSA.Clear
    CboAgence.Enabled = True '': CboAgence.Clear
    TextBox6.Enabled = True: TextBox6 = "" 'manager
    TextBox7.Enabled = True ': TextBox7 = "" 'agence
    TextBox8.Enabled = True ': TextBox8 = "" 'collabo
    TxtHono.Enabled = True ': TxtHono = ""

Else:
    Select Case ComboBox1.Value
        Case "Collaborateur"
            CboCollab.Enabled = False
            CboMana.Enabled = True
            CboDSA.Enabled = False
            CboAgence.Enabled = True
            TextBox6.Enabled = False 'manager
            TextBox7.Enabled = False 'agence
            TextBox8.Enabled = True 'collabo
            TxtHono.Enabled = True

        Case "Manager"
            CboCollab.Enabled = False
            CboMana.Enabled = False
            CboDSA.Enabled = True
            CboAgence.Enabled = True
            TextBox6.Enabled = True 'manager
            TextBox7.Enabled = False 'agence
            TextBox8.Enabled = False 'collabo
            TxtHono.Enabled = True

        Case "Agence"
            CboCollab.Enabled = False
            CboDSA.Enabled = False
            CboAgence.Enabled = False
            CboMana.Enabled = False
            TextBox6.Enabled = False 'manager
            TextBox7.Enabled = True 'agence
            TextBox8.Enabled = False 'collabo
            TxtHono.Enabled = False
    End Select
    CommandButton2.Caption = "Valider"
End If

End Sub

Private Sub BtnModifier_Click()
    Dim i As Integer
    Dim f As Worksheet

'    If Not Validate Then
'        Exit Sub
'    End If

    Set f = ThisWorkbook.Sheets("TEST")
    
    With ListView1.SelectedItem
        .Text = CboEntite
        .ListSubItems(1).Text = CboAct
        .ListSubItems(2).Text = CboSecteur
        .ListSubItems(3).Text = CboMana
        .ListSubItems(4).Text = CboAgence
        .ListSubItems(5).Text = CboBankImmo
        .ListSubItems(6).Text = CboTEncartage
        .ListSubItems(7).Text = CboCollab
        
        .ListSubItems(8).Text = TxtHono
        
        .ListSubItems(9).Text = TxtCJuin1
        .ListSubItems(10).Text = TxtCAJuin1
        .ListSubItems(11).Text = TxtCJuillet1
        .ListSubItems(12).Text = TxtCAJuillet1
        .ListSubItems(13).Text = TxtCAout1
        .ListSubItems(14).Text = TxtCAAout1
        .ListSubItems(15).Text = TxtCSept1
        .ListSubItems(16).Text = TxtCASept1
        .ListSubItems(17).Text = TxtCOct1
        .ListSubItems(18).Text = TxtCAOct1
        .ListSubItems(19).Text = TxtCNov1
        .ListSubItems(20).Text = TxtCANov1
        .ListSubItems(21).Text = TxtCDec1
        .ListSubItems(22).Text = TxtCADec1
        
        .ListSubItems(23).Text = TxtCJan1
        .ListSubItems(24).Text = TxtCAJan1
        .ListSubItems(25).Text = TxtCFev1
        .ListSubItems(26).Text = TxtCAFev1
        .ListSubItems(27).Text = TxtCMars1
        .ListSubItems(28).Text = TxtCAMars1
        .ListSubItems(29).Text = TxtCAvril1
        .ListSubItems(30).Text = TxtCAAvril1
        .ListSubItems(31).Text = TxtCMai1
        .ListSubItems(32).Text = TxtCAMai1
        
        .ListSubItems(33).Text = TxtCTot1
        .ListSubItems(34).Text = TxtCATot1
        
        .ListSubItems(35).Text = TxtCJuin2
        .ListSubItems(36).Text = TxtCAJuin2
        .ListSubItems(37).Text = TxtCJuillet2
        .ListSubItems(38).Text = TxtCAJuillet2
        .ListSubItems(39).Text = TxtCAout2
        .ListSubItems(40).Text = TxtCAAout2
        .ListSubItems(41).Text = TxtCSept2
        .ListSubItems(42).Text = TxtCASept2
        
        .ListSubItems(43).Text = TxtCTotCom2
        .ListSubItems(44).Text = TxtCATotCom2
        
        .ListSubItems(45).Text = TxtCOct2
        .ListSubItems(46).Text = TxtCAOct2
        .ListSubItems(47).Text = TxtCNov2
        .ListSubItems(48).Text = TxtCANOv2
        .ListSubItems(49).Text = TxtCDec2
        .ListSubItems(50).Text = TxtCADec2
        
        .ListSubItems(51).Text = TxtCTot2
        .ListSubItems(52).Text = TxtCATot2
        
        .ListSubItems(53).Text = TxtCom
    End With
    
    Dim pivotCell As Range
    
    Set pivotCell = f.Range("A" & (ListView1.SelectedItem.Index + 1))

    With pivotCell
        .Value = CboEntite.Value
        .Offset(0, 1).Value = CboAct
        .Offset(0, 2).Value = CboSecteur
        .Offset(0, 3).Value = CboMana
        .Offset(0, 4).Value = CboAgence
        .Offset(0, 5).Value = CboBankImmo
        .Offset(0, 6).Value = CboTEncartage
        .Offset(0, 7).Value = CboCollab
        .Offset(0, 8).Value = CDbl_Agnostic(TxtHono)
        .Offset(0, 9).Value = CDbl_Agnostic(TxtCJuin1)
        .Offset(0, 10).Value = CDbl_Agnostic(TxtCAJuin1)
        .Offset(0, 11).Value = CDbl_Agnostic(TxtCJuillet1)
        .Offset(0, 12).Value = CDbl_Agnostic(TxtCAJuillet1)
        .Offset(0, 13).Value = CDbl_Agnostic(TxtCAout1)
        .Offset(0, 14).Value = CDbl_Agnostic(TxtCAAout1)
        .Offset(0, 15).Value = CDbl_Agnostic(TxtCSept1)
        .Offset(0, 16).Value = CDbl_Agnostic(TxtCASept1)
        .Offset(0, 17).Value = CDbl_Agnostic(TxtCOct1)
        .Offset(0, 18).Value = CDbl_Agnostic(TxtCAOct1)
        .Offset(0, 19).Value = CDbl_Agnostic(TxtCNov1)
        .Offset(0, 20).Value = CDbl_Agnostic(TxtCANov1)
        .Offset(0, 21).Value = CDbl_Agnostic(TxtCDec1)
        .Offset(0, 22).Value = CDbl_Agnostic(TxtCADec1)
    
        .Offset(0, 23).Value = CDbl_Agnostic(TxtCJan1)
        .Offset(0, 24).Value = CDbl_Agnostic(TxtCAJan1)
        .Offset(0, 25).Value = CDbl_Agnostic(TxtCFev1)
        .Offset(0, 26).Value = CDbl_Agnostic(TxtCAFev1)
        .Offset(0, 27).Value = CDbl_Agnostic(TxtCMars1)
        .Offset(0, 28).Value = CDbl_Agnostic(TxtCAMars1)
        .Offset(0, 29).Value = CDbl_Agnostic(TxtCAvril1)
        .Offset(0, 30).Value = CDbl_Agnostic(TxtCAAvril1)
        .Offset(0, 31).Value = CDbl_Agnostic(TxtCMai1)
        .Offset(0, 32).Value = CDbl_Agnostic(TxtCAMai1)
        
        .Offset(0, 33).Value = CDbl_Agnostic(TxtCTot1)
        .Offset(0, 34).Value = CDbl_Agnostic(TxtCATot1)
        
        .Offset(0, 35).Value = CDbl_Agnostic(TxtCJuin2)
        .Offset(0, 36).Value = CDbl_Agnostic(TxtCAJuin2)
        .Offset(0, 37).Value = CDbl_Agnostic(TxtCJuillet2)
        .Offset(0, 38).Value = CDbl_Agnostic(TxtCAJuillet2)
        .Offset(0, 39).Value = CDbl_Agnostic(TxtCAout2)
        .Offset(0, 40).Value = CDbl_Agnostic(TxtCAAout2)
        .Offset(0, 41).Value = CDbl_Agnostic(TxtCSept2)
        .Offset(0, 42).Value = CDbl_Agnostic(TxtCASept2)
        
        .Offset(0, 43).Value = CDbl_Agnostic(TxtCTotCom2)
        .Offset(0, 44).Value = CDbl_Agnostic(TxtCATotCom2)
        
        .Offset(0, 45).Value = CDbl_Agnostic(TxtCOct2)
        .Offset(0, 46).Value = CDbl_Agnostic(TxtCAOct2)
        .Offset(0, 47).Value = CDbl_Agnostic(TxtCNov2)
        .Offset(0, 48).Value = CDbl_Agnostic(TxtCANOv2)
        .Offset(0, 49).Value = CDbl_Agnostic(TxtCDec2)
        .Offset(0, 50).Value = CDbl_Agnostic(TxtCADec2)
    
        .Offset(0, 51).Value = CDbl_Agnostic(TxtCTot2)
        .Offset(0, 52).Value = CDbl_Agnostic(TxtCATot2)
    End With
    
On Error Resume Next

pivotCell.Offset(0, 53).Value = TxtCom

BtnModifier.Enabled = False
BtnAjout.Enabled = True

Call BtnEffacer_Click
Call AlimenterListView

Set f = Nothing
End Sub

Private Sub BtnEffacer_Click()
Dim c As control

For Each c In FRM_PACTRA.Controls
    Select Case TypeName(c)
        Case "TextBox"
            c.Value = ""
        Case "listbox", "ComboBox"
        If c.Value = 2 Then Stop
            c.Value = ""
            c.ListIndex = -1
    End Select
Next c
End Sub

Private Sub BtnAjout_Click()

'    If Not Validate Then
'        Exit Sub
'    End If

Dim pivotCell As Range: Set pivotCell = Sheets("TEST").Range("A1")

If pivotCell.Offset(1, 0) = "" Then
    Set pivotCell = pivotCell.Offset(1, 0)
Else
    Set pivotCell = pivotCell.End(xlDown).Offset(1, 0)
End If

With pivotCell
    .Value = CboEntite.Value
    .Offset(0, 1).Value = CboAct
    .Offset(0, 2).Value = CboSecteur
    .Offset(0, 3).Value = CboMana
    .Offset(0, 4).Value = CboAgence
    .Offset(0, 5).Value = CboBankImmo
    .Offset(0, 6).Value = CboTEncartage
    .Offset(0, 7).Value = CboCollab
    .Offset(0, 8).Value = CDbl_Agnostic(TxtHono)
    .Offset(0, 9).Value = CDbl_Agnostic(TxtCJuin1)
    .Offset(0, 10).Value = CDbl_Agnostic(TxtCAJuin1)
    .Offset(0, 11).Value = CDbl_Agnostic(TxtCJuillet1)
    .Offset(0, 12).Value = CDbl_Agnostic(TxtCAJuillet1)
    .Offset(0, 13).Value = CDbl_Agnostic(TxtCAout1)
    .Offset(0, 14).Value = CDbl_Agnostic(TxtCAAout1)
    .Offset(0, 15).Value = CDbl_Agnostic(TxtCSept1)
    .Offset(0, 16).Value = CDbl_Agnostic(TxtCASept1)
    .Offset(0, 17).Value = CDbl_Agnostic(TxtCOct1)
    .Offset(0, 18).Value = CDbl_Agnostic(TxtCAOct1)
    .Offset(0, 19).Value = CDbl_Agnostic(TxtCNov1)
    .Offset(0, 20).Value = CDbl_Agnostic(TxtCANov1)
    .Offset(0, 21).Value = CDbl_Agnostic(TxtCDec1)
    .Offset(0, 22).Value = CDbl_Agnostic(TxtCADec1)

    .Offset(0, 23).Value = CDbl_Agnostic(TxtCJan1)
    .Offset(0, 24).Value = CDbl_Agnostic(TxtCAJan1)
    .Offset(0, 25).Value = CDbl_Agnostic(TxtCFev1)
    .Offset(0, 26).Value = CDbl_Agnostic(TxtCAFev1)
    .Offset(0, 27).Value = CDbl_Agnostic(TxtCMars1)
    .Offset(0, 28).Value = CDbl_Agnostic(TxtCAMars1)
    .Offset(0, 29).Value = CDbl_Agnostic(TxtCAvril1)
    .Offset(0, 30).Value = CDbl_Agnostic(TxtCAAvril1)
    .Offset(0, 31).Value = CDbl_Agnostic(TxtCMai1)
    .Offset(0, 32).Value = CDbl_Agnostic(TxtCAMai1)
        
    .Offset(0, 33).Value = CDbl_Agnostic(TxtCTot1)
    .Offset(0, 34).Value = CDbl_Agnostic(TxtCATot1)
        
    .Offset(0, 35).Value = CDbl_Agnostic(TxtCJuin2)
    .Offset(0, 36).Value = CDbl_Agnostic(TxtCAJuin2)
    .Offset(0, 37).Value = CDbl_Agnostic(TxtCJuillet2)
    .Offset(0, 38).Value = CDbl_Agnostic(TxtCAJuillet2)
    .Offset(0, 39).Value = CDbl_Agnostic(TxtCAout2)
    .Offset(0, 40).Value = CDbl_Agnostic(TxtCAAout2)
    .Offset(0, 41).Value = CDbl_Agnostic(TxtCSept2)
    .Offset(0, 42).Value = CDbl_Agnostic(TxtCASept2)
        
    .Offset(0, 43).Value = CDbl_Agnostic(TxtCTotCom2)
    .Offset(0, 44).Value = CDbl_Agnostic(TxtCATotCom2)
        
    .Offset(0, 45).Value = CDbl_Agnostic(TxtCOct2)
    .Offset(0, 46).Value = CDbl_Agnostic(TxtCAOct2)
    .Offset(0, 47).Value = CDbl_Agnostic(TxtCNov2)
    .Offset(0, 48).Value = CDbl_Agnostic(TxtCANOv2)
    .Offset(0, 49).Value = CDbl_Agnostic(TxtCDec2)
    .Offset(0, 50).Value = CDbl_Agnostic(TxtCADec2)
        
    .Offset(0, 51).Value = CDbl_Agnostic(TxtCTot2)
    .Offset(0, 52).Value = CDbl_Agnostic(TxtCATot2)
        
    .Offset(0, 53).Value = TxtCom
End With
Call AlimenterListView
        
MsgBox "Vous avez bien ajouté les objectifs de votre collaborateur", vbOKOnly + vbInformation, "CONFIRMATION"
End Sub

Private Sub BtnSuppr_Click()
Dim f As Worksheet
Dim selectedRow As Integer
Dim db As Range

If MsgBox("Etes-vous certain de vouloir supprimer la ligne ?", vbYesNo, "Demande de confirmation") = vbYes Then

    Set f = ThisWorkbook.Sheets("TEST")
    selectedRow = ListView1.SelectedItem.Index + 1

    f.Rows(selectedRow).EntireRow.Delete

    Set f = Nothing
    
    MsgBox "La ligne est supprimée !"
    
End If
    
Call AlimenterListView
End Sub

'le but ici est d'alimenter la listview
Sub AlimenterListView()
Dim f As Worksheet
Dim Lr As Long
Dim Ligne As Integer
Dim c As Variant

Set f = ThisWorkbook.Sheets("TEST")

With Me.ListView1
    .ListItems.Clear 'pour supprimer les donnŽes prŽexistante dans la listview

    With .columnheaders
        .Clear
        
        .Add , , "ENTITE", 50
        .Add , , "ACTIVITE", 100
        .Add , , "SECTEUR", 50
        .Add , , "MANAGER", 80
        .Add , , "AGENCE", 70
        .Add , , "Bank Immo", 40
        '.Add , , "Sect¡ Ana", 50
        .Add , , "ENCARTAGE", 50
        .Add , , "COLLAB", 100
        .Add , , "HONO M", 50
        .Add , , "OBJ JUIN", 50
        .Add , , "CA JUIN", 50
        .Add , , "OBJ JUILLET", 50
        .Add , , "CA JUILLET", 50
        .Add , , "OBJ AOUT", 50
        .Add , , "CA AOUT", 50
        .Add , , "OBJ SEPT", 50
        .Add , , "CA SEPT", 50
        .Add , , "OBJ OCT", 50
        .Add , , "CA OCT", 50
        .Add , , "OBJ NOV", 50
        .Add , , "CA NOV", 50
        .Add , , "OBJ DEC", 50
        .Add , , "CA DEC", 50

        .Add , , "OBJ JANV", 50
        .Add , , "CA JANV", 50
        .Add , , "OBJ FEV", 50
        .Add , , "CA FEV", 50
        .Add , , "OBJ MARS", 50
        .Add , , "CA MARS", 50
        .Add , , "OBJ AVR", 50
        .Add , , "CA AVR", 50
        .Add , , "OBJ MAI", 50
        .Add , , "CA MAI", 50
        
        .Add , , "OBJ COMPTABLE", 50
        .Add , , "CA COMPTABLE", 50
        
        .Add , , "OBJ JUIN", 50
        .Add , , "CA JUIN", 50
        .Add , , "OBJ JUILLET", 50
        .Add , , "CA JUILLET", 50
        .Add , , "OBJ AOUT", 50
        .Add , , "CA AOUT", 50
        .Add , , "OBJ SEPT", 50
        .Add , , "CA SEPT", 50
        
        .Add , , "TOTAL OBJ COM", 70
        .Add , , "TOTAL CA COM", 70
        
        .Add , , "OBJ OCT", 50
        .Add , , "CA OCT", 50
        .Add , , "OBJ NOV", 50
        .Add , , "CA NOV", 50
        .Add , , "OBJ DEC", 50
        .Add , , "CA DEC", 50

        .Add , , "OBJ TOT N+1", 80
        .Add , , "CA TOT N+1", 80
        .Add , , "COMMENTAIRE", 100
        
    End With

    .View = 3
    .Gridlines = True
    .FullRowSelect = True

    Lr = f.Range("A" & Rows.Count).End(xlUp).Row
    If Lr = 2 Then Exit Sub

    Ligne = 1
    
    Dim i As Byte
    For Each c In f.Range("A2:A" & Lr)
        .ListItems.Add , , c
    
        For i = 1 To 53
            .ListItems(Ligne).ListSubItems.Add , , c.Offset(, i)
        Next i
        
        Ligne = Ligne + 1

    Next c
End With

Set f = Nothing
ListView1.ListItems(1).Selected = False
Set ListView1.SelectedItem = Nothing
End Sub

