(defun extract_txt ( flag msg / ent dxf_ent typ_ent)
(while (null ent)
	(setq ent (nentsel (strcat "\nChoisir la chaine de Texte/Texte Multiligne/Attribut " msg ": ")))
	(cond
		((not (null ent))
			(setq typ_ent (cdr (assoc 0 (setq dxf_ent (entget (car ent))))))
			(cond
				((member typ_ent '("TEXT" "MTEXT" "ATTRIB"))
					(if flag
						(progn
							(entmod (subst (cons 1 new_text) (assoc 1 dxf_ent) dxf_ent))
							(if (assoc 330 dxf_ent) (entupd (cdr (assoc 330 dxf_ent))))
						)
						(cdr (assoc 1 dxf_ent))
					)
				)
				(T
					(setq ent nil)
					(princ "\nN'est pas un Texte MTexte ou Attribut!")
				)
			)
		)
	)
)
)
(defun c:subtitutexte ( / new_text)
(setq new_text (extract_txt nil "à COPIER"))
(extract_txt T "où COLLER")
(prin1)
)
