A voir également:
- Importer attribut excel vers autocad
- Liste déroulante excel - Guide
- Si et excel - Guide
- Ancienne version autocad gratuite - Télécharger - CAO-DAO
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
1 réponse
Bonjour,
Moi je changerai l'ordre des instructions:
- récurération du nom du DWG (A1 de la feuille Accueil)
- activation de la feuille Résultat
- ouverture du DWG
- transfert des données
Sub EnvoyerVersAutoCAD()
Dim AcadApp As AutoCAD.AcadApplication
Dim BlocRef As AcadBlockReference
Dim Row, i, Column As Integer
' Si le chemin du fichier n'est pas spécifié, on suppose qu'il est dans le même répertoire que le classeur
Dim Filename As String
If InStr(Cells(1, 1).Text, "\") <> 0 Then
Filename = Cells(1, 1).Text
Else
Filename = ThisWorkbook.Path & "\" & Cells(1, 1).Text
End If
' Selectionner la feuille Résultats
ThisWorkbook.Sheets("Résultat").Select
' Connexion avec AutoCAD (on le lance si il n'est pas en cours d'exécution)
On Error Resume Next
Set AcadApp = GetObject(, "AutoCAD.Application")
On Error GoTo 0
If AcadApp Is Nothing Then
Set AcadApp = New AutoCAD.AcadApplication
End If
AcadApp.Visible = True
' On ouvre le fichier DWG dans AutoCAD ou on l'active si il est déjà ouvert
Dim Opened As Boolean
Opened = False
Dim Dwg As AcadDocument
For Each Dwg In AcadApp.Documents
If StrComp(Dwg.FullName, Filename, vbTextCompare) = 0 Then
Dwg.Activate
Opened = True
End If
Next
If Not Opened Then
AcadApp.Documents.Open (Filename)
End If
'reste du code
Moi je changerai l'ordre des instructions:
- récurération du nom du DWG (A1 de la feuille Accueil)
- activation de la feuille Résultat
- ouverture du DWG
- transfert des données
Sub EnvoyerVersAutoCAD()
Dim AcadApp As AutoCAD.AcadApplication
Dim BlocRef As AcadBlockReference
Dim Row, i, Column As Integer
' Si le chemin du fichier n'est pas spécifié, on suppose qu'il est dans le même répertoire que le classeur
Dim Filename As String
If InStr(Cells(1, 1).Text, "\") <> 0 Then
Filename = Cells(1, 1).Text
Else
Filename = ThisWorkbook.Path & "\" & Cells(1, 1).Text
End If
' Selectionner la feuille Résultats
ThisWorkbook.Sheets("Résultat").Select
' Connexion avec AutoCAD (on le lance si il n'est pas en cours d'exécution)
On Error Resume Next
Set AcadApp = GetObject(, "AutoCAD.Application")
On Error GoTo 0
If AcadApp Is Nothing Then
Set AcadApp = New AutoCAD.AcadApplication
End If
AcadApp.Visible = True
' On ouvre le fichier DWG dans AutoCAD ou on l'active si il est déjà ouvert
Dim Opened As Boolean
Opened = False
Dim Dwg As AcadDocument
For Each Dwg In AcadApp.Documents
If StrComp(Dwg.FullName, Filename, vbTextCompare) = 0 Then
Dwg.Activate
Opened = True
End If
Next
If Not Opened Then
AcadApp.Documents.Open (Filename)
End If
'reste du code
28 mars 2012 à 13:47
Je n'ai pas encore eu le temps d'essayer
Mais je te tiens au courant
Merci encore
JP
28 mars 2012 à 20:14
Merci
30 mars 2012 à 13:36
Set BlocRef = AcadApp.ActiveDocument.HandleToObject(Handle)
Je ne voie pas prk ça ne marche pas
dans mon fichier Excel d'essai du programme ça marché, mais dans celui ou j'ai voulu mettre le programme ça ne marche pas
30 mars 2012 à 13:52
que je dois sélectionné qui est :AcObjClassImp1.0TypLibrary
Mais quant je veux la sélectionner ça me dit erreur de chargement de la DLL
que dois-je faire?
Merci
Modifié par Yoda le 30/03/2012 à 14:05
je regarde dans ma doc
A+