Private Sub UserForm_Initialize()
Dim Target As Range, Cel As Range, Lvh As ColumnHeader, Ncom
    Txt_Dates = Date
    Get_Fields ComboBox1, "Select Distinct Catégorie from " & Get_Table([Tbl_Liste_Fleurs]) & " order by Catégorie"
  
   '**************Récupère les données du tableau "Tbl_Fournisseurs" dans la ComboBox "Cbx_Fournisseur"****************************
    Get_Fields Cbx_Fournisseur, "Select Distinct `Nom Fournisseurs` from " & Get_Table([Tbl_Fournisseurs]) & " order by `Nom Fournisseurs`"
    Cbx_Fournisseur.AddItem Empty, 0: Cbx_Fournisseur.ListIndex = 0
  
   '************** préparation de la listvew avec les nom de colonnes
    With Me.ListView_List_Fleurs
        .Gridlines = True:         .View = lvwReport
        .FullRowSelect = True:     .Font.Size = 10
        .Sorted = True
        With .ColumnHeaders
            .Clear
            For Each Cel In [Tbl_Liste_Fleurs[#Headers]].Cells
              ' on nomme la colonne de la listview comme l'entête de la table
                Set Lvh = .Add(Text:=Cel.Text, Width:=Cel.Width)
              ' on définit l'alignement de la colonne comme celle de la colonne de la table
                Select Case Cel.Offset(1).HorizontalAlignment
                    Case xlHAlignCenter:    Lvh.Alignment = lvwColumnCenter
                    Case xlHAlignLeft:      Lvh.Alignment = lvwColumnLeft
                    Case xlHAlignRight:     Lvh.Alignment = lvwColumnRight
                End Select
              ' on a défini la largeur des colonnes comme celles des colonnes de la table
              ' on va spécifier des largeurs particulières
                Select Case Lvh.Text
                    Case "Type Bouton":     Lvh.Width = Lvh.Width / 2 ' Colonne réduite de moitié
                    Case "Catalogue":       Lvh.Width = 0             ' Colonne masquée
                End Select
            Next
        End With
    End With
   '*****************************Attribue un nouveau N° de commande automatiquement****************************
'   Je suppose que la règle de ce N° est encore en gestation
'   faire référence au nombre de lignes existantes n'est pas judicieux
'   ( si une commande est annulée et de ce fait détruite, la dernière ligne est partie dans les choux )
'
    ' On va chercher si une commande existe pour l'année en cours
    Set Target = Range("Tbl_Detail_Commande[N°" & vbLf & " Commande]")
    Set Cel = Target.Find("C-" & Year(Date), Target(1), xlValues, xlPart, , xlPrevious)
    If Cel Is Nothing Then Ncom = 1 Else Ncom = Split(Cel, "- ")(1) + 1
    Me.Txt_NumCommande = "C-" & Year(Date) & "- " & Format(Ncom, "# 000")
End Sub