Rebonjour
J'ai un peu potassé les liens, et je me suis lancé en commancant par le plus simple : lescture de 4 lignes dans un excel.
voici mon code
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim retval As String
' dim ajouté selon https://www.lynkoa.com/en/forum/mod%C3%A9lisation-volumique-3d/lecture-dune-valeur-dans-excel-via-sw-et-r%C3%A9cup%C3%A9ration-dune-r%C3%A9f%C3%A9rence
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim exSheet As Excel.Worksheet
Dim i As Integer
'On ouvre l'aplication Excel
Set xlApp = New Excel.Application
xlApp.Visible = False
'On ouvre le fichier Excel
Set xlWB = xlApp.Workbooks.Open("C:\Users\nouveau\Documents\Patrons_sur_mesure\Test_macros\Edit Custom Properties.xlsx")
Set exSheet = xlWB.ActiveSheet
xlApp.Visible = False
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
retval = swModel.DeleteCustomInfo(Cells(1, 1))
retval = swModel.AddCustomInfo2(Cells(1, 1), swCustomInfoText, Cells(1, 2))
retval = swModel.DeleteCustomInfo(Cells(2, 1))
retval = swModel.AddCustomInfo2(Cells(2, 1), swCustomInfoText, Cells(2, 2))
retval = swModel.DeleteCustomInfo(Cells(3, 1))
retval = swModel.AddCustomInfo2(Cells(3, 1), swCustomInfoText, Cells(3, 2))
retval = swModel.DeleteCustomInfo(Cells(4, 1))
retval = swModel.AddCustomInfo2(Cells(4, 1), swCustomInfoText, Cells(4, 2))
'fermeture de Excel
xlWB.Close
xlApp.Quit
Set exSheet = Nothing
Set xlWB = Nothing
Set xlApp = Nothing
End Sub
Ca fonctionne a peu près. La macro va bien lire les 4 première lignes, supprime la propriété si elle existe deja, et la recréé avec les valeur dans le tableau. l'ouverture du tableau est invisible, il semble se refermer à la fin.
MAIS, de temps en temps, j'ai une erreur d'exécution 1004 : la méthode 'selection' de l'objet '_Global' à échoué au moment ou on commence a agir sur les propriétées du fichier SW. Je ne comprends pas d'ou ça vient.
Parfois c'est un autre message d'erreur. Parfois le ficher excel reste bloqué en lecture seule. bref, c'est pas stable.
Mes prochaines améliorations consisteront à faire une boucle pour traiter toutes les lignes non vide du tableau excel, et faire une version de cette macro à intégrer dans le fichier excel pour une méthode "manuelle" de mise a jour des propriétées.