Bonsoir merci de vôtres réponse :) Votre lisp colle effectivement mieux à mes désir. Cependant, il me renvoi l'erreur suivante : dyn2stat ; erreur: no function definition: VLAX-GET-ACAD-OBJECT En cherchant un peu j'ai trouvé la solution, à savoir : ajouter "(vl-load-com)" Ce qui donne : ;^C^C(load "C:/lsp/dyn2stat.lsp");dyn2stat
(defun c:dyn2stat (/ unic ss)
(vl-load-com)
(defun unic (name / n)
(setq n 1)
(while (tblsearch "block" (strcat name "_" (itoa n)))
(setq n (1+ n))
)
(strcat name "_" (itoa n))
)
(if (ssget "_X" '((0 . "INSERT")))
(progn
(setq n 0)
(vlax-for b (setq ss (vla-get-ActiveSelectionSet
(vla-get-ActiveDocument
(vlax-get-acad-object)
)
)
)
(if (= (vla-get-IsDynamicBlock B) :vlax-true)
(vla-ConvertToStaticBlock
b
(unic (vla-get-EffectiveName B))
)
)
)
(vla-Delete ss)
)
)
) Un grand merci ! :) PS, le fait que je poste mon problème dans le sous forum "LISP" n'était pas innocent ;)