Dim swApp As Object Option Explicit Sub main() 'Déclarations : Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim config As SldWorks.Configuration Dim vConfNameArr As Variant Dim sConfigName As String Dim i As Long Dim bShowConfig As Boolean Dim bRebuild As Boolean Dim bRet As Boolean Dim FilePath As String Dim PathSize As Long Dim PathNoExtension As String Dim NewFilePath As String Dim Value_T As String Dim ResolvedValOut As String Dim cusPropMgr As SldWorks.CustomPropertyManager Dim wasResolved As Boolean Dim Error As Long Set swApp = CreateObject("SldWorks.Application") 'Lancement de SW Set swModel = swApp.ActiveDoc 'Récuperation du modèle actif dans SW vConfNameArr = swModel.GetConfigurationNames 'Création de la liste des configurations For i = 0 To UBound(vConfNameArr) 'Boucle la liste : de l'élément 0 jusqu'au nombre d'élément dans la liste (Ubound) Set config = swModel.GetActiveConfiguration Set cusPropMgr = config.CustomPropertyManager sConfigName = vConfNameArr(i) 'Recupère l'élément N°i de la liste bShowConfig = swModel.ShowConfiguration2(sConfigName) 'Affiche la configuration Error = cusPropMgr.Get5("TYPE", True, Value_T, ResolvedValOut, wasResolved) 'Récupère la valeur de la proriété "T" dans la variable "Value_T" bRebuild = swModel.ForceRebuild3(False) 'Reconstruction du modèle FilePath = swModel.GetPathName 'Récupère le chemin du fichier SW PathSize = Strings.Len(FilePath) 'Compte le nombre de caractères du chemin PathNoExtension = Strings.Left(FilePath, PathSize - 6) 'Récupère le nom de la pièce en enlevant .Sldrt NewFilePath = Left(FilePath, InStrRev(FilePath, "\")) & (sConfigName) & ".DXF" 'Remplace le nom par Type + Lg + Nom de la config (sans Flat pattern).dxf bRet = swModel.ExportToDWG2(NewFilePath, 1) 'Exporte le déplié Next i 'Passe à la prochaine config End Sub