77marco77
Guest
Bonjour.
Jusqu'à présent, pour renuméroter les attributs que j'ai exportés (txt alors pour exceller), renumérotés et réimportés (excel -> txt -> autocad). aujourd'hui j'ai trouvé ces deux discussionsla première solution avec un lisp
la seconde avec vba (dernière version de ricvba)
et j'ai trouvé ce lisp dans un autre forum (auteurs du lisp terminator + gp)
la solution avec vba je la préfère car elle permet de choisir "l'ordre" dans lequel les attributs sont numérotés, les solutions permettent un préfixe alphanumérique et cela me va malheureusement mais aucune des trois solutions ne permet d'insérer comme numéro 001 et de continuer avec 002 (i.e. je dois insérer 1, suit 2 etc.) ....
Quelqu'un saura-t-il modifier la vba ou sous-commander le code de fichier ci-dessus ?
Jusqu'à présent, pour renuméroter les attributs que j'ai exportés (txt alors pour exceller), renumérotés et réimportés (excel -> txt -> autocad). aujourd'hui j'ai trouvé ces deux discussionsla première solution avec un lisp
la seconde avec vba (dernière version de ricvba)
et j'ai trouvé ce lisp dans un autre forum (auteurs du lisp terminator + gp)
HTML:
[Bleep] [Bleep] [Pleurer] [Bleep] [Bleep] [Bleep [Bleep] [Bleep] [Bleep] [Bleep] [Bleep] [Bleep [Bleep] [Bleep] [Bleep] [Bleep] [Bleep] [Bleep] [Bleep [Bleep] [Bleep] [Bleep] [Bleep] [Bleep [Bleep [Bleep] [Bleep] [Bleep] [Bleep] [Bleep] [Bleep [Bleep] [Bleep] [Bleep [Bleep] [Bleep [Bleep] [Bleep] [Bleep] [Bleep] [Bleep] [Bleep [Bleep] [Bleep] [Bleep [Bleep] [Bleep] [Bleep] [Bleep] [Bleep] [Bleep] [Bleep] [Bleurer] [B
;; fonction pour augmenter la numérotation des attributs dans la balise
; ;
;;; 20/7/2011 - numéro
;;; 22/7/2011 - numérotation avec tout préfixe avant et révision générale
(defun c:attpro (/ listblocks tag number prefix listattr)
(setq blocs de liste)
(mapcar 'vlax-ename->vla-object (ssgetli (sssget '(0 . " insert")))
tag (getstring "\n étiquette à évaluer: "
nombre (cible "\num initial: "
Numéro (1- numéro)
prefix(getstring "\nprefix text: "
)
(pour chaque élément listblocks
(si (= (élément vla-get-hasattributes)
:vlax-true
)
(progrès)
(setq listattr (vlax-safearray->list)
(valeur vlax-variante-élément vla-getattributes)
)
)
(pour chaque élément1 listattr
(si (balise égale (élément vla-get-tagstring1))
(élément vla-put-textstring1 (préfixe strcat (itoa (numéro de setq (1+ nombre)))))
)
)
)
)
)
)
(principal)
"\nattpro (vers.2) - par terminateur"
)
(princier "\ndigate attpro pour lancer le lisp")
(principal)
; ; **** fonction qui transforme une liste ssget en une liste normale
(defun ssgetli (sélection / groupe)
(si) (et sélection
(sélection de type égale) '
)
(progrès)
(groupe setq
'(lambda (élément) (élément égal (élément de type) 'liste))
(mapcar 'cadr (ssnamex selection)
)
)
)
)
)
Quelqu'un saura-t-il modifier la vba ou sous-commander le code de fichier ci-dessus ?