Merci beaucoup pour vos réponses. Je regarde un peu tout ça!
Si j'essaye d'éviter la macro c'est parce que les utilisateurs ne sont pas formés en VBA et ne sauraient pas en mesure de modifier le code s'il fallait faire des modifications dans le module. Et comme je ne suis que de passage, le module serait alors inutilisable.
En clair l'équivalent en macro ce serait ca:
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Dim L As Single
L = InputBox("L_inter_épau", "Upset")
If L > 170 Then
boolstatus = Part.Extension.SelectByID2("Large [>175mm]@EX10610_00000_10_boni.SLDASM", "CONFIGURATIONS", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.ShowConfiguration2("Large [>175mm]")
ElseIf L > 145 Then
boolstatus = Part.Extension.SelectByID2("Medium [145-170mm]@EX10610_00000_10_boni.SLDASM", "CONFIGURATIONS", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.ShowConfiguration2("Medium [145-170mm]")
Else
boolstatus = Part.Extension.SelectByID2("Small [55-145mm]@EX10610_00000_10_boni.SLDASM", "CONFIGURATIONS", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.ShowConfiguration2("Small [55-145mm]")
End If
End Sub