(defun c:grf(/ dirbox doc lay obj sel tot)
(setq insertt -500.0)
(setq i1 0)
(setq i2 0)
(setq ins 0)


  (defun dirbox(txt / cdl rep)

    (if (setq cdl (vlax-create-object "Shell.Application"))

      (progn

        (and (setq rep (vlax-invoke cdl 'browseforfolder 0 txt 512 ""))

             (setq rep (vlax-get-property (vlax-get-property rep 'self) 'path))

        )

        (vlax-release-object cdl)

      )

    )

    rep

  )


  (vl-load-com)

  (setq doc (vla-get-activedocument (vlax-get-acad-object))

        
  )

  (vla-startundomark doc)

  (and (setq rep (dirbox "Sélectionnez le répertoire pour grouper les folios"))

       (setq lst (vl-directory-files rep "*.dwg" 1))
       
    (progn

      (setq rep (vl-string-translate "\\" "/" rep))

      (or (eq (substr rep (strlen rep) 1) "/") (setq rep (strcat rep "/")))

      (foreach ele (acad_strlsort lst)
       ;(princ i1)
        
        
      (setq  insertt  (+ insertt 500.0))
      ;(setq  ins  (* ins i2)) 
      
      (if (= i1 200)
          (progn
             (setq i2 (+ i2 1))
             (setq i1 0)
             (setq  ins  (* -500.0 i2))
             (setq insertt 0)
          )
       )
      

        (setq lay (vl-filename-base ele))


        (and (vl-catch-all-error-p (vl-catch-all-apply 'vla-add (list (vla-get-layouts doc) lay)))

             (ssget "x" (list (cons 410 lay)))

          (progn

            (vlax-map-collection (setq sel (vla-get-activeselectionset doc)) 'vla-delete)

            (vla-delete sel)

          )

        )

        ;(vla-put-activelayout doc (vla-item (vla-get-layouts doc) lay))

                 
        
        (setq obj (vla-insertblock 
                     (vla-get-modelspace        
                          (vla-get-activedocument (vlax-get-acad-object))
                     )

                     (vlax-3d-point insertt ins)

                     (findfile (strcat rep ele))

                     1 1 1 0

                  )

        )
        (setq i1 (+ i1 1))

        (vl-catch-all-apply 'vla-explode (list obj))

        (vla-delete obj)

       
       )

      (vla-purgeall doc)

    )

  )

  (vla-endundomark doc)

  (princ)

)*
; --------------------------------------------------------------------------;
;---------------------------------------------------
(defun convdeg(a) ;conversion degres vers radian
   (* PI (/ a 180.))
)
;---------------------------------------------------
; --------------------------------------------------------------------------;
;---------------------------------------------------
;---------------------------------------------------
;---------------------------------------------------
