Aller au contenu

DenisHen

Membres
  • Compteur de contenus

    4 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    21

Tout ce qui a été posté par DenisHen

  1. Salut (gile), et merci de me répondre... C'est nickel...
  2. La vache, j'avais 10 ans ! ! ! Tu fais bien de préciser "Les Jeunots" ! ! ;)
  3. Je suis entièrement d'accord... De plus, je n'ai pas cherché de police qui garde ses parenthèses à la même hauteur que le reste de son texte...
  4. Bonjour zebulon_. Désolé mais j'ai opté pour une autre méthode... Je ne peut donc pas te faire un retour sur tes réponses n°6 et 8... Désolé...
  5. Salut, et bienvenu... Plutôt que de publier, peut-être que "etransmit" fera l'affaire...
  6. Salut (gile), et merci pour ta réponse... En fait, j'utilise souvent (nth car mes listes sont "formatées"... Elles ont toutes le même nombre d'éléments... Merci encore pour cette précision...
  7. Salut, et merci à vous... Je "commence" à comprendre ce foutu phénomène de liste... (je n'ai jamais appris à développer...ça explique peut-être celà... Bien que je ne dois pas être le seul... ;) ) J'entame une procédure de teste pour mieux les appréhender... Mais ce n'est pas évident... (setq ListOB "aaa" "bbb") (car ListOB) ==> "aaa" (cdr ListOB) ==> ("bbb") Le premier est une chaine, ok... Mais pourquoi "aaa" et pas ("aaa") ?... Le second cdr est.. une liste... Difficile à comprendre, bien que très logique... car cdr est bien la liste exclue du premier élément... donc une liste... Mais comment "choper" le second élément pour qu'il soit une chaine...(cadr ? (nth 2 ? Quel est le plus concis ? Dans l'excellent "Introduction au Lisp" de maître (gile), on voit : Et en même temps : C'est là que c'est déroutant... Pourquoi caddar lst n'est pas (3) mais 3 ? ? Perso, je trouve ça "curieux"... Mais ce n'est pas très grave (bien que)... Car petit à petit, j'arrive à faire ce que je veux... J’essaierai de "démocratiser" ce que je tente de faire... : lire une liste de nom lue dans un fichier Excel (xls) et en faire le tri avec pour "tri primal", la colonne A, et les Prénom NOM dans la colonne B... Je m'étendrais un peu plus quand ça sera terminé... (au passage, merci à Patrick_35 pour son aide entre AutoLisp et Excel...)
  8. Effectivement, l'attribution de la variable directement dans le (while est plus rapide... Et oui, itoa... J'avais pas percuté...
  9. Que dire de plus... J'ai donc écris (enfin, complété) ça : (defun c:testXLS (/ Fichier File Lign NbLignXls xls classeur feuille Fonc Perso FichLstPerso FichLstMateriel) (setq fichier (findfile "Doss_IC.xls")) (setq xls (vlax-get-or-create-object "Excel.Application")) (setq classeur (vlax-invoke (vlax-get xls 'Workbooks) 'open fichier)) (setq feuille (vlax-get-property (vlax-get classeur 'Sheets) 'Item "Personnel")) (setq NbLignXls 2) (while (/= (vlax-get (vlax-get-property feuille 'Range (strcat "A" (rtos NbLignXls 2 0))) 'Value) nil) (setq Fonc (vlax-get (vlax-get-property feuille 'Range (strcat "A" (rtos NbLignXls 2 0))) 'Value)) (setq Perso (vlax-get (vlax-get-property feuille 'Range (strcat "B" (rtos NbLignXls 2 0))) 'Value)) (setq FichLstPerso (cons (strcat Fonc ";" Perso) FichLstPerso)) (princ (strcat "\n" Fonc "\t" Perso)) (setq NbLignXls (+ NbLignXls 1)) ) ;_ Fin de while (setq FichLstPerso (reverse FichLstPerso)) (vlax-ldata-put "DenisH" "FichLstPerso" FichLstPerso) (vlax-invoke classeur 'close :vlax-false) (mapcar 'vlax-release-object (list feuille classeur xls)) (gc) (gc) (princ) ) Encore un grand merci à tous...
  10. Merci Patrick_35, c'est nickel... Et comme je n'ouvre qu'une seule fois le classeur, c'est beaucoup plus rapide que GetExcel... Je pars là-dessus... Si je n'y arrive pas, je ne m'obstinerais pas... Encore merci à tous...
  11. Bon, GetExcel fonctionne, mais ça met une plombe pour lire une seule cellule... Je retourne à mon fichier ASCII...
  12. J'ai aussi essayé GetCellsFunction de Jefferypsanders, mais ça plante J'essaye GetExcel de Terrycad, mais c'est en anglais... Si je n'y arrive pas, je suis les conseils de (gile) et j'abandonne l'idée...
  13. Merci pour ton aide (gile). Effectivement, je marche encore en titubant avec le Lisp... Le marathon n'est pas pour aujourd'hui... J'en conviens aisément... Je trouvais l'idée intéressante d'utiliser un fichier XLS plutôt que de me battre avec un ASCII... Et avec son "API_XLS", je pensais cela abordable... Dommage... J'aurais pû aussi faire du VBA, mais je ne suis pas sûr de sa pérennité...
  14. Je déterre ce vieux sujet pour une petite question... Lors de l'installation de LispExtension, j'ai ce message : Si quelqu'un a une idée...
  15. Effectivement, avant la lecture de la cellule, j'ai placé un arrêt, et voilà mes variables : _1_$ Mon_Appli #<VLA-OBJECT _Application 000002189069adf8> _1_$ Mon_Classeur nil _1_$ Ma_Feuille nil Donc, si Mon_Classeur est nil, il ne peut lire une cellule... Mais pourquoi ça ne plante pas avant ?
  16. Oui, j'utilise toujours l'éditeur Visual LISP... Je vais suivre ton conseil...
  17. Salut Goldorak (c'est drole, je regarde en ce moment Capitaine Flam... ;) ) Merci pour ton aide, mais oui, (vl-load-com) est dans un lisp de base que je charge à chaque nouveau dessin...
  18. M'enfin... Je vais essayé d'autres méthodes de liaisons Lisp <-> Excel... Car là, je ne peux rien faire d'autre... Merci encore pour ton aide...
  19. Aucun problème... Doss_IC_CadXP.zip Il est "normalement" compatible Excel 97 / 2003...
  20. Salut. Bon, je me suis attelé aux liaisons Lisp <-> Excel. J'ai donc utilisé "Api_xls.lsp" et j'ai suivi ton exemple, voici donc mon code : (defun c:testFich (/ fichier Mon_Appli Mon_Classeur Ma_Feuille ContCel) (setq fichier (findfile "Doss_IC.xls")) ;;fichier = "C:\config\autocad\lisp\Doss_IC.xls" (setq Mon_Appli (lancer_excel)) (princ "\nExcel lancé...") (setq Mon_Classeur (ouvrir_fichier Mon_Appli (decodeurl fichier))) (princ "\nClasseur : 'Doss_IC.xls' ouvert...") (activer_feuille Mon_classeur "Personnel") (princ "\nFeuille 'Personnel' activée...") (setq Ma_Feuille (feuille_active Mon_Classeur)) (princ "\nFeuille 'Personnel' ouverte...") (setq ContCel (lire_cellule Mon_Classeur Ma_Feuille "A1")) (princ "\nLecture de la cellule 'A1'") (fermer_fichier Mon_Classeur) (fermer_appli Mon_Appli) (princ) ) ;_ Fin de defun Mais AutoCAD me répond : C'est donc lors du (setq ContCel que ça plante... Et là... Ca dépasse de très loin mes piètres connaissances... Si quelqu'un a une idée...
  21. Mille mercis Vincent, j’intégrerais ça dès que j'aurai le temps... Encore merci...
  22. Effectivement, ma liste était bien construite. Mais à la fin de ma routine, j'avais un (princ lstSavant). J'étais loin de penser que le (princ ne m'indiquerait pas la liste telle qu'elle est... Encore merci (gile) pour ton aide... Et ta patience... ;)
  23. Salut à tous, et merci pour vos réponses. @zebulon_ : Je fais la même chose, les deux points du MText sont les mêmes (Pt_ins), et oui, c'est bien "émetteur"... Oulala, quelle faute ! ! @Julian : Bingo, c'est bien les parenthèses de la police Arial... Merci encore... Denis...
  24. Salut Patrick_35, et merci pour ton aide... Je termine un petit souci de liste et je regarde ça. L'idée d'utiliser un classeur Excel est beaucoup plus constructive qu'un simple fichier ASCII. Merci encore... Denis...
  25. Salut (gile), et merci de me répondre. J'ai bien essayé, mais je n’obtient pas ce que j'aimerais. J'ai écris un petit test, le voici : (setq Savant "Albert EINSTEIN") (setq lstSavant (cons Savant lstSavant)) (setq Savant "Isaac NEWTON") (setq lstSavant (cons Savant lstSavant)) Mais lstSavant = (Isaac NEWTON Albert EINSTEIN) plutôt que ("Isaac NEWTON" "Albert EINSTEIN").
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité