Option Explicit
'
Private Sub UserForm_Initialize()
' Excel (ListBox Clear)
Liste_Presentations.Clear
' Autocad
Dim AcadApp As Object
Set AcadApp = GetObject(, "AutoCAD.Application")
Dim AcadDoc As Object
Set AcadDoc = AcadApp.ActiveDocument
On Error Resume Next
' Check if AutoCAD application is open. If is not opened create a new instance and make it visible
If AcadApp Is Nothing Then
If MsgBox("AUTOCAD n'est pas ouvert" & vbLf & "Voulez-vous ouvrir AUTOCAD", 36, "Ouvrir AUTOCAD") = vbYes Then
Set AcadApp = CreateObject("AutoCAD.Application")
AcadApp.Visible = True
End If
End If
' Dans l'odre d'autocad
Label_Onglet_Courant.Caption = "Présentation Courante: " & AcadDoc.GetVariable("CTAB")
Dim onglet As AutoCAD.AcadLayouts
Dim i As Integer
Set onglet = AcadDoc.Layouts
Dim TabPresentation() As String
ReDim TabPresentation(1 To onglet.Count - 1)
For i = 0 To onglet.Count - 1
If AcadDoc.Layouts(i).Name <> "Model" Then
TabPresentation(AcadDoc.Layouts(i).TabOrder) = AcadDoc.Layouts(i).Name
End If
Next i
' Transfert le tableau dans la ListeBox (Dans l'ordre d'Autocad)
Liste_Presentations.List = TabPresentation
' Affichage
Label_Nbre_Onglet = "Liste des présentations (" & Liste_Presentations.ListCount & ")"
End Sub
Private Sub BP_Rafraichir_Click()
UserForm_Initialize
End Sub
Private Sub Option_Affiche_Acad_Click()
' *** Tri des présentations ordre Autocad
' *** Renvois vers la fonction
' Applique l'ordre en fonction de : "Option Bouton"
' * L'odre des Présentation dans Autocad
Btn_Appliquer_Click
End Sub
Private Sub Option_Affiche_Alpha_Click()
' *** Tri des présentations ordre alphanumérique
' *** Renvois vers la fonction
' Applique l'ordre en fonction de : "Option Bouton"
' * L'odre des Présentation dans Autocad
Btn_Appliquer_Click
End Sub
Private Sub Btn_Appliquer_Click()
' Applique l'ordre en fonction de : "Option Bouton"
' * L'ordre des Présentation dans Autocad
' * D'une Liste Trié
' Excel (ListBox Clear)
Liste_Presentations.Clear
' Autocad
Dim AcadApp As Object
Set AcadApp = GetObject(, "AutoCAD.Application")
Dim AcadDoc As Object
Set AcadDoc = AcadApp.ActiveDocument
' Titre
Label_Onglet_Courant.Caption = "Présentation Courante: " & AcadDoc.GetVariable("CTAB")
' Variable
Dim onglet As AutoCAD.AcadLayouts
Dim i As Integer
Set onglet = AcadDoc.Layouts
' Condition
If Me.Option_Affiche_Acad = True Then
' Dans l'odre d'autocad
Dim TabPresentation() As String
ReDim TabPresentation(1 To onglet.Count - 1)
For i = 0 To onglet.Count - 1
If AcadDoc.Layouts(i).Name <> "Model" Then
TabPresentation(AcadDoc.Layouts(i).TabOrder) = AcadDoc.Layouts(i).Name
End If
Next i
' Transfert le tableau dans la ListeBox (Dans l'ordre d'Autocad)
Liste_Presentations.List = TabPresentation
Else
' Liste Trié
For i = 0 To onglet.Count - 1
If AcadDoc.Layouts(i).Name <> "Model" Then
Liste_Presentations.AddItem AcadDoc.Layouts(i).Name
End If
Next i
End If
' Affichage
Label_Nbre_Onglet = "Liste des présentations (" & Liste_Presentations.ListCount & ")"
End Sub