Option Explicit
Private WithEvents CkxCln As CkxCollect
Private Sub ToggleButton1_Click()
Dim iNextPage As Long
       With Me.MultiPage1
           iNextPage = .Value + 1
           If iNextPage < .Pages.Count Then
               .Pages(iNextPage).Visible = True
               .Value = iNextPage
           End If
       End With
End Sub
Private Sub ToggleButton2_Click()
    Unload Me
End Sub
Private Sub ToggleButton3_Click()
Dim iNextPage As Long
       With Me.MultiPage1
           iNextPage = .Value - 1
           If iNextPage < .Pages.Count Then
               .Pages(iNextPage).Visible = True
               .Value = iNextPage
           End If
       End With
End Sub
Private Sub ToggleButton4_Click()
Dim iNextPage As Long
       With Me.MultiPage1
           iNextPage = .Value + 1
           If iNextPage < .Pages.Count Then
               .Pages(iNextPage).Visible = True
               .Value = iNextPage
           End If
       End With
End Sub
Private Sub ToggleButton5_Click()
    Unload Me
End Sub
Private Sub ToggleButton6_Click()
Dim iNextPage As Long
       With Me.MultiPage1
           iNextPage = .Value - 1
           If iNextPage < .Pages.Count Then
               .Pages(iNextPage).Visible = True
               .Value = iNextPage
           End If
       End With
End Sub
Private Sub ToggleButton7_Click()
'' Nécessite la référence Autocad xxx Type Library (Menu Outils > Références)
'    Dim AcadApp As AcadApplication, AcadPlan As AcadDocument
'' Création de l'objet AutoCAD dans Excel :
'        Set AcadApp = AcadApplication
'' Si ACAD n'est pas ouvert, il faut créer une nouvelle application comme si dessous :
'        Set AcadApp = New AcadApplication
'' Rend AutoCAD visible
'        AcadApp.Visible = True
'' Utilise le document ouvert :
'        Set AcadPlan = AcadApp.ActiveDocument
'' Définition des variables définissant la couleur et l'épaisseur du trait
'    Dim Couleur As AcColor
'    Dim Epaisseur As AcLineWeight
'' Définition de l'objet ligne
'    Dim Ligne As AcadLine
'' Définition de l'objet cercle
'    Dim Cercle As AcadCircle
'' Définition de la valeur de la couleur
'        Couleur = -7
'' Définition de l'épaisseur du trait
'        Epaisseur = 2
' Définition des variables des points composant les cercles :
    Dim CC(0 To 2) As Double
        Dim CD(0 To 2) As Double
' Définition des variables des points composant le contour :
    Dim Pori(0 To 2) As Double              ' Point origine
    Dim P1(0 To 2) As Double
    Dim P2(0 To 2) As Double
    Dim P3(0 To 2) As Double
' Boucle sur les resultats pour test
    Dim i As Integer
    Dim Tresultat() As Variant
    Tresultat = CkxCln.TAcadCircleRes
    For i = LBound(Tresultat, 1) To UBound(Tresultat, 1)
        If Tresultat(i, 6) <> Empty Then
            Debug.Print "Centre x : " & Tresultat(i, 3) & " Centre x : " & Tresultat(i, 4) & " Code : " & Tresultat(i, 5)
'       Correction :
                CC(0) = Tresultat(i, 3): CC(1) = Tresultat(i, 4)
'       Ci-dessous Ancien code :
'               CC(0) = Range("C" & i): CC(1) = Range("D" & i)
'                TEST CD(0) = CC(0): CD(1) = CC(1) - ("Valeur associer en colonne J suivant choix listbox1")
'       Autocad Fin de la correction
'                 Cercle
'                    Set Cercle = AcadPlan.ModelSpace.AddCircle(CC, ComboBox1.Value)
'                        Cercle.Color = Couleur
'                        Cercle.LineWeight = Epaisseur
'                 Détécteur
'                    Set Cercle = AcadPlan.ModelSpace.AddCircle(CD, 9.5)
'
'                 Définition des coordonnées des points lues dans Excel
'
'                 PLori1(0) = PCori2(0) -220: PLori1(1) = Pcori2 (1) -307.8461 'ou -100 si pas de ligne 1 choisis
'                 P2(0) = Cells(12, 4): P2(1) = Cells(12, 5)
'                 P3(0) = Cells(13, 4): P3(1) = Cells(13, 5)
        End If
'   Adapter la boucle For en Fonction du Process "AUTOCAD"
    Next i
'
'' Traçage du rectangle dans l'espace objet d'AutoCAD
'    Set Ligne = AcadPlan.ModelSpace.AddLine(Pori, P1) 'Traçage de la 1ere ligne
'        Ligne.Color = Couleur 'Donne la couleur choisie
'        Ligne.LineWeight = Epaisseur 'Donne l'épaisseur choisie
'' 2e ligne
'    Set Ligne = AcadPlan.ModelSpace.AddLine(P1, P2)
'        Ligne.Color = Couleur
'        Ligne.LineWeight = Epaisseur
'' 3e ligne
'    Set Ligne = AcadPlan.ModelSpace.AddLine(P2, P3)
'        Ligne.Color = Couleur
'        Ligne.LineWeight = Epaisseur
'' 4e ligne
'    Set Ligne = AcadPlan.ModelSpace.AddLine(P3, Pori)
'        Ligne.Color = Couleur
'        Ligne.LineWeight = Epaisseur
'
'' Libérer la mémoire des objets ouverts
'    Set Ligne = Nothing
'    Set AcadApp = Nothing
'    Set AcadPlan = Nothing
'
'' AcadPlan.Save 'Sauvegarde le dessin
'' AcadPlan.Close 'Ferme le dessin
'' AcadApp.Quit 'Ferme l'application AutoCAD
End Sub
Private Sub ToggleButton8_Click()
    Unload Me
End Sub
Private Sub UserForm_Initialize()
Set CkxCln = New CkxCollect
    CkxCln.Init Me.MultiPage1.Pages("Page2")
    CkxCln.Add "1A", 21.961525, 259.807625
    CkxCln.Add "3A", 21.961525, 155.884575
    CkxCln.Add "5A", 21.961525, 51.961525
    CkxCln.Add "2B", 51.961525, 207.8461
    CkxCln.Add "4B", 51.961525, 103.92305
    CkxCln.Add "6B", 51.961525, 0
    CkxCln.Add "1C", 81.961525, 259.807625
    CkxCln.Add "3C", 81.961525, 155.884575
    CkxCln.Add "5C", 81.961525, 51.961525
    CkxCln.Add "2D", 111.961525, 207.8461
    CkxCln.Add "4D", 111.961525, 103.92305
    CkxCln.Add "6D", 111.961525, 0
    CkxCln.Add "1E", 141.961525, 259.807625
    CkxCln.Add "3E", 141.961525, 155.884575
    CkxCln.Add "5E", 141.961525, 51.961525
    CkxCln.Add "2F", 171.961525, 207.8461
    CkxCln.Add "4F", 171.961525, 103.92305
    CkxCln.Add "6F", 171.961525, 0
    CkxCln.Add "1G", 201.961525, 259.807625
    CkxCln.Add "3G", 201.961525, 155.884575
    CkxCln.Add "5G", 201.961525, 51.961525
    CkxCln.Add "2H", 231.961525, 207.8461
    CkxCln.Add "4H", 231.961525, 103.92305
    CkxCln.Add "6H", 231.961525, 0
    CkxCln.Add "1I", 261.961525, 259.807625
    CkxCln.Add "3I", 261.961525, 155.884575
    CkxCln.Add "5I", 261.961525, 51.961525
    CkxCln.Add "2J", 291.961525, 207.8461
    CkxCln.Add "4J", 291.961525, 103.92305
    CkxCln.Add "6J", 291.961525, 0
    CkxCln.Add "1K", 321.961525, 259.807625
    CkxCln.Add "3K", 321.961525, 155.884575
    CkxCln.Add "5K", 321.961525, 51.961525
    CkxCln.Add "2L", 351.961525, 207.8461
    CkxCln.Add "4L", 351.961525, 103.92305
    CkxCln.Add "6L", 351.961525, 0
    CkxCln.Add "1M", 381.961525, 259.807625
    CkxCln.Add "3M", 381.961525, 155.884575
    CkxCln.Add "5M", 381.961525, 51.961525
    CkxCln.Add "2N", 411.961525, 207.8461
    CkxCln.Add "4N", 411.961525, 103.92305
    CkxCln.Add "6N", 411.961525, 0
   End Sub
Private Sub CkxCln_Change(ByVal Nom As String, ByVal Etat As Boolean, ByVal CkxCln As CkxCollect)
    If CkxCln.NbrCochés = 0 Then ListBox1.Clear: Exit Sub
        ListBox1.List = CkxCln.ListeDesCochés
        ListBox2.List = CkxCln.ListeDesCochés
    End Sub