PHILPHIL Posté(e) le 16 septembre 2011 Partager Posté(e) le 16 septembre 2011 BONJOUR j'ai un fichier avec bcp de présentations ( maximum 255 )dont le nom comporte un numéro et des lettres, jusque la que du normalavec des noms qui se rapproche sauf le numero qui changeexemple "toto alpha 12" "toto alpha 13" "toto alpha 10" "toto alpha 1""toto alpha 3" "toto alpha 3" "toto beta 13" "toto beta 5""toto beta 15" "toto beta 27" "toto beta 3" "toto beta 1" existe t'il une routine pour classer les presentations par ordres sans passer par la routines "OOG" de patrick salut a+ phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
zebulon_ Posté(e) le 16 septembre 2011 Partager Posté(e) le 16 septembre 2011 Bonjour, (vl-load-com) (defun c:SortLay (/ AcDoc layouts Layout layoutsName Name) (setq AcDoc (vla-get-activeDocument (vlax-get-acad-object))) (setq layouts (vla-get-layouts AcDoc)) ;; récupérer la liste des noms de présentations (vlax-for layout layouts (setq layoutsName (cons (vla-get-name layout) layoutsName)) ) ;; supprimer la présentation "Model" de cette liste (setq layoutsName (vl-remove "Model" layoutsName)) ;; trier la liste (setq layoutsName (vl-sort layoutsName '<)) ;; attribuer l'ordre à chaque présentation (setq I 1) ;; l'ordre 0 est réservé à la présentation "Model" (foreach Name layoutsName (setq layout (vla-item layouts Name)) (vla-put-TabOrder Layout I) (princ (strcat "\n" (itoa I) " : " Name)) (setq I (1+ I)) ) (princ) ) Le CADxp nouveau est arrivé ! whouaaa...!!! Moi qui les prenais pour des incapables, il va falloir que je présente mes excuses, car il y a eu du boulot. Mais contrairement au Beaujolais nouveau, qui est nouveau tous les ans, il a fallu patienter un peu plus longtemps pour le CADxp nouveau. A consommer sans modération ("modération" au sens de "sans limite", loin de moi l'idée de fâcher les modérateurs et encore moins les administrateurs) AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi) Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 16 septembre 2011 Auteur Partager Posté(e) le 16 septembre 2011 HELLO ZEBULON grand merci pour ton lisp ca va plus vite que de le faire a la mains juste un petit truc, je sais pas si c'est facilement réalisable est ce que c'est possible d'avoir l'ordre pour les chiffres comme ceci " ab 1 cd , ab 2 cd , ab 3 cd , ... , ab 10 cd , ab 11 cd , ab12cd , ab 20 cd , ab 21 cd ,..."alors que le lisp le fait ( alphanumérique oblige )" ab 1 cd , ab 10 cd , ab 11 cd , ab 12 cd , ab 2 cd , ab 21 cd , ab 3 cd ... " a moins de remplacer les chiffres par 01 02 03 .... a+ et merci pour le LISP phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
zebulon_ Posté(e) le 16 septembre 2011 Partager Posté(e) le 16 septembre 2011 Salut Phil, tout est dans la façon de trier. Pour l'instant, c'est simplement un tri croissant alphanumérique. Le problème est que la partie numérique est "noyée" dans la masse à un endroit qui n'est pas forcément toujours le même et, d'emblée, je ne vois pas trop comment faire un tri "numérique" dans ces conditions. Mais, il y a sans doute quelqu'un d'autre qui pourra peut être nous éclairer et nous trouver une méthode qui pourrait fonctionner. Pour l'instant, ton idée de rendre les parties numériques homogènes me semble tout à fait appropriée : on pourrait décortiquer, dans une première partie du lisp, le nom des présentations. Si on trouve un code ascii de chiffre pris entre 2 codes ascii de lettres, on rajoute un "0" devant le chiffre trouvé et on fait le tri de la liste après avoir renommé les présentations selon cette méthode. Les seuls bémols, c'est que ça ne fonctionne qu'entre 0 et 99 et qu'il faut également gérer les éventuels doublons. "aa1bb" et "aa01bb" existent déjà (pourquoi pas ?), du coup, renommer ""aa1bb" en "aa01bb" provoquera une erreur. AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi) Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 16 septembre 2011 Auteur Partager Posté(e) le 16 septembre 2011 hello je vais faire simple et rajouter les zerosc'est un fichier bien specifique et pas dit que j'en fasse un autre avant un bout de tpset ca ne devrait pas dépassé les 99 et peu de chance d'avoir des doublons merci pour ta réponse a+bon week end phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant