Aller au contenu

doua

Membres
  • Compteur de contenus

    107
  • Inscription

  • Dernière visite

Tout ce qui a été posté par doua

  1. Bonjour Tramber, on fait je connait pas la procedure pour envoyer un fichier sur cadxp ! peut tu m'expliquer stp. ou bien si tu peux me donné un adresse e-mail ! merci encors doua
  2. salut tramber, j'ai tester ton programme il me donne comme ceci : mat ((NOM V24) (DES Diodes 24VAC) (NOM HL25) (DES Voyant jaune + lampe 24VAC -50Hz) (X1 X1) (X2 X2) (NOM V25) (DES Diodes 24VAC) (NOM HL21) (DES Voyant vert + lampe 24VAC -50Hz) (X1 X1) (X2 X2) (NOM 1SB1D) (AMP ) (DES Boutton poussoir à fermeture - couleur Noir) (- ) (- ) (NOM 1SB2D) (AMP ) (DES Boutton poussoir à fermeture - couleur Noir) (- ) (- ) (NOM 2SB2B) (AMP ) (DES ) (- ) (- ) (NOM 2SB1B) (AMP ) (DES ) (- ) (- ) (NOM 1SB2A) (AMP ) (DES ) (- ) (- ) (NOM 1SB1A) (AMP ) (DES ) (- ) (- ) (NOM 1SB3A) (AMP ) (DES ) (- ) (- ) (NOM 2SB3B) (AR ) (- ) (- ) (NOM V23) (NOM V24) (NOM V25) (NOM V26) (NOM V27) (NOM V28) (NOM HL23) (B1 X1) (B2 X2) (NOM HL24) (B1 X1) (B2 X2) mais on faite moi il faut q'il me traite calque par calque pour qu'on fin de compte je me trouve avec : un tableau nomenclature de materiel par exemple : folio item designation 004 Q1 DISJONCTEUR (2x10A) 004 Q2 DISJONCTEUR (2x20A) 005 Q10 DISJONCTEUR (4x4A) etc.... on fait j'avais déja fait un programme pour la nomenclature des folios et ça marche bien j'ai pris ce dernier et j'ai modifier les étiquettes d'attribut à rechercher ça marche mais si je traite un calque bien spécifier exemple : (setq jeu (ssget "x" (list (cons 0 "insert")(cons 2 "List*")(cons 8 "004")))) mais si je lui donne la variable (ncalque) (setq jeu (ssget "x" (list (cons 0 "insert")(cons 2 "List*")(cons 8 ncalque)))) ça marche pas !! dites moi svp si je veux ajouter une autre recherche d'etiqutte d'attribut , est_ce q'il faut faire comme ça ou non car ça ce bloque aussi à ce niveau . (setq jeu (ssget "x" (list (cons 0 "insert")(cons 2 or "List*" "fol"))(cons 8 ncalque)))) merci infinnement pour votre aide précieuse!
  3. :) bonjour Tramber, je te remercie pour ton interêt à mon problème ! en fait ce week-end j'ai pas travailler sur ce sujet , mais je vais tester aujourd'hui ça et je te tiendrai au courant ! ;) merci encors pour vous tous membres de ce super forum !! doua amicalement
  4. RE , j'ai tester le programme et ça marche toujour pas ! je crois lorsque je lui donne le nom des attributs qui commence par "List*" il la reconnaît pas car j'ai vu dans un livre de programmation quand on fait comme ça : (setq jeu (ssget "x" (list (cons 0 "insert")(cons 2 "List*")(cons 8 ncalque)))) il va chercher tout les attributs qui commence par "List*" enfin je ne comprend vraiment pas !?? si vous avez une idée !! merci de votre aide !! doua amicalement
  5. merci bonuscad, pour ton aide et aussi l'explication de l'erreur, maintenant je comprend ça signification merci encors ! je vais vérifier mnt et te tiendrai au courant !! doua
  6. salut j'ai fait un programme pour avoir un liste de materiel, alors les problèmes que j'ai rencontrés sont : 1) quand jel'exécute il me donne une erreur j'ignore pourquoi?? " Commande: _appload nommat.LSP correctement chargé(s) Commande: nmat 25; erreur: type d'argument incorrect: lselsetp nil voilà mon prog: je travail avec des calques, et mes équipement sont fait en wbloc avec attribut. (defun c:nmat (/ tmp II) ;recherche de tous des calques (setq tmp (tblnext "LAYER" t)) (setq ll ()) (setq paire ()) (setq listenom ()) ; renvoie de toute la liste des calques vers nomcalq (setq nomcalq (cdr (assoc 2 tmp))) ;remplir une condition (if (and (= (substr nomcalq 1 1) "0") (= (testnom nomcalq) "numerique") (/= nomcalq "0") (/= nomcalq "000")) ;si ok affecter la liste à ll (setq ll (list nomcalq)) ) ;faire ce traitement en boucle (while (setq tmp (tblnext "LAYER")) (setq nomcalq (cdr (assoc 2 tmp))) (if (and (= (substr nomcalq 1 1) "0") (= (testnom nomcalq) "numerique") (/= nomcalq "0") (/= nomcalq "000")) (setq ll (cons nomcalq ll)) ) ) ;(princ ll) ;nombre de calque trouver (setq ncalq (length ll)) (princ ncalq) (setq compt 0) (repeat ncalq ; affectation du n ème élement de la liste ll vers ncalque (setq ncalque (nth compt ll)) ; traitement d'attribut (setq jeu (ssget "x" (list (cons 0 "insert")(cons 2 "Lis*")(cons 8 ncalque)))) ;(princ jeu) (setq nbc (sslength jeu )) ;(princ nbc) (setq compte 0) (repeat nbc ;(princ nbc) (setq bl (ssname jeu compte)) ;(princ bl) (setq att (entnext bl)) (setq cle_0 (cdr (assoc 0 (entget att)))) ;exécuter ce traitement tant que cle_0 n'a pas atteint le dernier attrib (while (/= cle_0 "SEQEND") (setq cle_1 (assoc 1 (entget att))) (setq cle_2 (assoc 2 (entget att))) (if (= (cdr cle_2) "NOM") (progn (setq nomequip (cdr cle_1)) ) ) (if (= (cdr cle_2) "DES") (progn (setq design_equip (cdr cle_1)) ) ) (setq att (entnext att)) (setq cle_0 (cdr (assoc 0 (entget att)))) ) (setq compte (+ 1 compte)) (princ design_equip) ) (setq paire ()) (setq paire (list nomequip design_equip)) (setq listenom (cons paire listenom)) (setq compt (+ 1 compt)) ) (setq nblistenom (length listenom)) (setq i 0) (setq listfol ()) (repeat nblistenom (setq text1 (car(nth i listenom))) (setq listfol (cons text1 listfol)) (setq i (+ 1 i)) ) ; trier dans l'ordre alphabétique une liste de chaine (setq listfol (acad_strlsort listfol)) ;;***************************************** (setq i 0) (setq listenomtr ()) (repeat nblistenom (setq nommat (nth i listfol)) (setq titre (cadr (assoc nommat listenom))) (setq paire ()) (setq paire (list nommat titre)) (setq listenomtr (cons paire listenomtr)) (setq i (+ 1 i)) ) ; renoie de la liste avec ces elements inversés (setq listenom (reverse listenomtr)) ;;****************************************** ; pour activer un calque spécifier (setq clq_anc (getvar "CLAYER")) (if (/= clq_anc "023") (progn (command '"calque" "L" "023" "") (setvar "CLAYER" "023") (command '"calque" "G" clq_anc "") ) ) ;;****************************************** ; pour ecrire dans une coordonée en l'incrémentant (setq i 0) (repeat nblistenom (setq text1 (car(nth i listenom))) (setq text2 (cadr(nth i listenom))) (setq xif 29.8729) (setq xit 85.0348) (setq yif (- 261.8074 (* 4.9 i))) (setq yit (- 261.8074 (* 4.9 i))) (setq ptif (list xif yif)) (setq ptit (list xit yit)) ; pour désactiver l'accrochage objet (setvar "CMDECHO" 0) (setq osmode_anc (getvar "OSMODE")) (setvar "OSMODE" 0) (command "_text" ptif "" "" text1 ) (command "_text" ptit "" "" text2 ) ; pour activer l'accrochage objet (setvar "OSMODE" osmode_anc) (setvar "CMDECHO" 1) (setq i (+ 1 i)) ) (command "_regen") ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun testnom (nomc) (setq test "numerique") (setq i 1) (setq longnom (strlen nomc)) (repeat longnom (setq caract (substr nomc i 1)) (if (and (/= caract "0") (/= caract "1") (/= caract "2") (/= caract "3") (/= caract "4") (/= caract "5") (/= caract "6") (/= caract "7") (/= caract "8") (/= caract "9")) (setq test "non numerique") ) (setq i (+ i 1)) ) test ) merci pour votre aide
  7. bonjour Patrick_35 & bonuscad ;) je vous remercie pour vos explications ça m'aide vraiment ! mais dites moi est_ce qu'on peut pas avoir un fichier qui dictes quelques message d'erreur standard et leur cause ?? j'ai un livre programmation autocad 12 mais il parle pas des message d'erreur ! :casstet: merci encors de votre aide
  8. salut, j'aimerai savoir la signification d'un message d'erreur qui me sort dans l'exécution d'un programme ? exemple : (Selection set: 129) 25 :casstet: svp y a-t-il un ficier qui contient les messages d'erreur et leur explication (je veux dire avec l'explication des causes de ce message d'erreur)!? je vous remercie ;) amicalement doua
  9. doua

    accée au donné d\'une liste

    ;) salut tramber merci pour ton aide ! amicalement doua
  10. doua

    accée au donné d\'une liste

    RE, Tramber on fait j'ai tester (command "calque" "E" nom ""), on fait elle m'active^pas le calque que je lui donne exemple command "calque" "E" "001" "") stp je veux activer un calque spécifier dans un 1er temps ! merci
  11. doua

    accée au donné d\'une liste

    salut merci pour ta réponse ! et l'information ok ! je vais corrigée mon prog et je fait un test ! merci amicalement doua
  12. salut, j'ai un programme de nomenclature automatique qui se fait à partir d'un fichier qui contient des calques ces derniers contiennent des titre et un numéro de folio. alors les variable que j'ai : j'ai la liste des ces calques "listecalq" j'ai un liste paire qui me rassemble (titre,folio) "titrcalq" ce que j'aimerais savoir c'est : comment je peux avec le lisp parcourir calque par calque? comment activer un calque spécifier "001" par exemple (c'est le calque ou je vais coller le titre +n° folio ) comment pourrais-je ecrire dans un point spécifier (x,y) et le faire incrémenter de telle façon à obtenir les titre les un sous les autres avec un décalage = "Z" ça c'est une partie du programme que j'ai essayée mais il ya qlq qui manque ou bien il est mal fait !! (setq i 0) (setq x1 "19.7864") (setq x2 "58.2213") (setq y2 "243.2334") (setq y1 "243.0138") (setq coord1 (strcat x1 "," y1)) (setq coord2 (strcat x2 "," y2)) (setq decal1 coord1) (setq decal2 coord2) (setq text1 (car(nth i listenom))) (setq text2 (cadr(nth i listenom))) (command "_text" decal1 "" "" text1 "") (command "_text" decal2 "" "" text2 "") (setq y1 (+ 5 y1)) (setq y2 (+ 5 y2)) (setq i (+ 1 i)) merci à vous amicalement doua
  13. doua

    modifier un programme !!

    salut gil ! je m'excuse je t'ai pas répondu ,mais vraiment j'avais un problème sur mon poste plus problème de connéxion ! en fait pour le programme tu avais raison j'ai pas bien copie coller il me manquée une ) ! le programme qui a marché pour moi c'est : (defun c:layers (/ first unplan i lg-list-layers fichier js layer rep-cou lesplan) (setvar "filedia" 0) (setvar "cmddia" 0) (setvar "cmdecho" 0) (command "-calque" "ACtif" "*" "Libérer" "*" "Déverrouiller" "*" "") (setq rep-cou (getvar "DWGNAME")) (substr rep-cou 1 9) (setq first T) (while (setq unplan (tblnext "layer" first)) (setq first nil) (setq lesplan (append lesplan (list (cdr (assoc 2 unplan))))) );fin while (setq lg-list-layers (length lesplan)) (setq i 0) (while (< i lg-list-layers) (setq layer (nth i lesplan)) (setq filtre (list (cons 8 layer))) (setq js (ssget "X" filtre)) (setq fich (substr rep-cou 1 9)) (setq fichier (strcat fich layer)) [u] ;;(command "-inserer" "*cart_AIC.dwg" "0,0" "" "")[/u] ;;(command "-inserer" "*cart_AIC.dwg" "0,0" "" "" "-wbloc" fichier "" "0,0" js "") (setq i (+ i 1)) );fin while (princ) (setvar "filedia" 1) (setvar "cmddia" 1) (setvar "cmdecho" 1) );fin defun le seul souci que j'ai c'est que la cartouche il l'a prend comme un calque à part alors que moi je veux que cette dernière apparait dans tous mes calque eclater en dwg bon j'ai essayée avec une commande autocad ;;(command "-inserer" "*cart_AIC.dwg" "0,0" "" "") mais....! amicalement doua
  14. doua

    modifier un programme !!

    :) salut gile , oui j'ai plein d'autre fichier lisp, il y'a d'entre eux ceux que j'ai copier de cadxp, ça marche trés bien !! on fait gile, j'ai remarquée aujourd'hui ça : quand j'ai charger mon fichier il m'a donné ceci : (Defun c:ecl ( / def_lay nam_lay js) etc... le message qui me sort dans ma ligne de commande quand je charge mon fichier c'est : Commande: _appload eclatfol.lsp correctement chargé(s) Commande: ; erreur: caractère lu incorrect (octal): 0 Commande: c'est quoi cette erreur !! ça me rend folle vraiment !!
  15. doua

    modifier un programme !!

    non j'ai vérifier j'ai pas d'espace ! oui il me met tout à fait en bas de la boite au dialogue "eclatfol.lsp correctement chargé(s" bizzar bizzar !!!
  16. doua

    modifier un programme !!

    RE , je ne sais vraiment pas l'erreur que je fait pour que ça ne marche pas chez moi?? :casstet: voilà ce que je fait : 1) prog : j'ai remplacer lambda par defun (defun c: eclatfol (/def_lay nam_lay js) aprés je charge le programme par "appload", et je donne le nom de la fonction "eclatfol" il me donne commande inconnu tapez f1......etc 2)&3)prog : (defun c: layers-to-wblocs (/ first unplan i lg-list-layers fichier js layer rep-cou lesplan) (defun c: lay2wbl (/ echo lay_ss lay_name lay_lst ent_ss) je suit les mêmes démarche il me donne toujour que le nom de la fonction est inconnu !!! vraiment bizzzzzzaaar ! :casstet: en fait j'ai l'autocad 2004 ça cause pas de problème... non ..?? je ne comprend pas !! :( vraiment je suis désoler de vous dérranger avec moi !! encors merci à vous !
  17. doua

    modifier un programme !!

    bonjour gile, on fait j'ai tester le programme que tu m'as modifier et il me donne toutjour (explodelayer commande inconnu !) je sais pas pourquoi ? et en plus j'ai pris les trois autres programmes qui ce trouve dans le lien que tu m'a donné et j'arrive pas à les exécutés ! pourtant je fait le nom "X"qui suit toujour la fnction (defun X() et ça marche pas ..?! :casstet: voilà un copie des programme : celui de bonuscad : (defun expl () ((lambda ( / def_lay nam_lay js) (setq def_lay (tblnext "LAYER" T)) (setq nam_lay (cdr (assoc 2 def_lay))) (cond ((setq js (ssget "_X" (list (cons 8 nam_lay)))) (command "_.-wblock" (strcat (getvar "dwgname") "$" nam_lay) "" "*0.0,0.0,0.0" js "") ) ) (while (setq def_lay (tblnext "LAYER")) (setq nam_lay (cdr (assoc 2 def_lay))) (cond ((setq js (ssget "_X" (list (cons 8 nam_lay)))) (command "_.-wblock" (strcat (getvar "dwgname") "$" nam_lay) "" "*0.0,0.0,0.0" js "") ) ) ) (prin1) )) celui de fabcad : (defun c:layers-to-wblocs (/ first unplan i lg-list-layers fichier js layer rep-cou lesplan) (setvar "filedia" 0) (setvar "cmddia" 0) (setvar "cmdecho" 0) (command "-calque" "ACtif" "*" "Libérer" "*" "Déverrouiller" "*" "") (setq rep-cou (getvar "DWGPREFIX")) (setq first T) (while (setq unplan (tblnext "layer" first)) (setq first nil) (setq lesplan (append lesplan (list (cdr (assoc 2 unplan))))) );fin while (setq lg-list-layers (length lesplan)) (setq i 0) (while (< i lg-list-layers) (setq layer (nth i lesplan)) (setq filtre (list (cons 8 layer))) (setq js (ssget "X" filtre)) (setq fichier (strcat rep-cou layer)) (command "-wbloc" fichier "" "0,0" js "") (setq i (+ i 1)) );fin while (princ) (setvar "filedia" 1) (setvar "cmddia" 1) (setvar "cmdecho" 1) );fin defun celui de toi gile : (defun c:lay2wbl (/ echo lay_ss lay_name lay_lst ent_ss) (setq echo (getvar "cmdecho")) (setvar "cmdecho" 0) (prompt "\nSelectionnez les calques.") (setq lay_ss (ssget)) (repeat (setq ct (sslength lay_ss)) (setq lay_name (cdr (assoc 8 (entget (ssname lay_ss (setq ct (1- ct)))))) ) (if (not (member lay_name lay_lst)) (setq lay_lst (cons lay_name lay_lst)) ) ) (mapcar '(lambda (x) (command "_.-layer" "_unlock" x "") (cond ((setq ent_ss (ssget "_X" (list (cons 8 x)))) (if (not (findfile (strcat (getvar "dwgname") "$" x ".dwg"))) (command "_.-wblock" (strcat (getvar "dwgname") "$" x) "" "*0.0,0.0,0.0" ent_ss "" ) ) ) ) ) lay_lst ) (setvar "cmdecho" echo) (princ) ) merci à vous tous "gile,bonuscad,fabcad ..." et tous les membre de ce fabuleux forum qui nous donne vraiment un grand coup de main !!
  18. doua

    modifier un programme !!

    salut gile , merci infinement pour ton aide précieuse , et ta réponse rapide ! on fait gile pour : je m'excuse pour mes questions vraiment je m'excuse !! ok merci encors gile !! ;) amicalement doua
  19. bonjour à tous, bon voilà j'ai une routine lisp et je veux l'adapter à mes besoins.. * j'ai travaillée mes plans dans un seul fichier (*.dwg)qui regroupe pleusieurs calques. le calque "cartouche" doit apparaitre dans tous mes calques ok ! * alors maintenant j'ai trouvée un programme qui explose tous les calques en prennant le nom du fichier plus le nom du calque (exemple : KAM8400 - 007) jusqu'ici c'est impécable ! * mais la seule contrainte c'est que quand j'accéde à mon fichier je ne vois rien il faut que j'active manuellement mon calque exemple : 007 pour afficher le contenu de ce dernier aprés je fait encore "purger " ! *et puis le calque "cartouche" il le met lui aussi dans un fihier à part alors que ce dernier doit apparaitre dans tous mes plans exploser en .dwg voilà le programme que j'ai trouvée : (Defun EL_listlayer ( / tmp ll) (setq tmp (tblnext "LAYER" t) ll (list (cdr (assoc 2 tmp))) ) (while (setq tmp (tblnext "LAYER")) (setq ll (cons (cdr (assoc 2 tmp)) ll)) ) ll ) ;;---fin-----------------------------------------------------EL_listlayer-------- ;;---Début---------------------------------------------------C:EXPLODELAYER------ ;; << crée des wblocs avec les layers d'un dessin >> ;; << >>;; ;------------------------------------------------------------------------------- (Defun C:EXPLODELAYER ( / llay nomfich nomdir) (command "_undo" "_m") (setq llay (EL_listlayer) nomfich (getvar "dwgname") nomdir (getvar "dwgprefix") nomfich (substr nomfich 1 (- (strlen nomfich) 4)) ) (mapcar '(lambda (lname / sel) (setq sel (ssget "x" (list (cons 8 lname)))) (if sel (command "_wblock" (strcat nomdir nomfich "-" lname) "" (list 0 0) sel "") ) ) llay ) (command "_undo" "_b") (princ) ) s'il vous plait, encore un service que je vous demande, ;) * j'aimerais comprendre la signification de ces lignes : defun c'est pour commencer une nouvelle fonction mais ce qui est ecrit entre ( ) pourquoi on le met ? merci de votre aide amicalement doua
  20. doua

    accéder à l\'attribut !

    salut didier, je te remercie pour ton aide toujours précieuse :) je vais tester ça ! et merci encors didier. grand bonjour à Winfield & esbe !;) amicalement ;)
  21. salut , pourriez vous me dicter, la syntaxe en vba et aussi en lsp qui peut m'ecrire une valeur "XXX" Dans l'etiquette de mon attribut ! nb: cette syntaxe je veux l'introduire dans mon programme pour qu'il me l'ecrit automatiquement dans mon bloc à attribut ! merci de votre aide !
  22. salut, j'ai fait un petit programme vba pour faire dans un 1er temp une selection manuelle d'un bloc et ça ne marche pas s'il vous pourriez me donnée un coup de main je vous remercie infinement voilà le début du programme : Public Sub liste_Blocs() Dim objBloc As AcadBlock Dim strListe As String strListe = "Liste des blocs dans ce dessin:" For Each objBloc In ThisDrawing.Blocks strListe = strListe & vbCr & objBloc.Name Next Dim ssetObj As AcadSelectionSet Set ssetObj = ThisDrawing.SelectionSets.Add("TEST_SSET") ' Add objects to a selection set by prompting user to select on the screen ssetObj.SelectOnScreen End Sub aprés une fois j'ai fait ma 1er selection je veux que mon programme poursuit un calcul que j'ai prévue la question ici c'est comment faire pour renter ce calcul en code vba ! je sais c'est trop demandé mais bon.....j'ai pas d'autre solution ...!!! ;) merci pour votre aide !! ;)
  23. mersi bonus, pour ta réponse ! dit moi stp pour'( 66 . 1))) ca veut dire quoi en lisp merci encors
  24. salut, je veux faire une selection d'un bloc avec attribut dans un dessin " en VBA"??
  25. voilà mon programme pour extraction d'attribut mais si qlq à une idée pour ne selectionnée que les attributs qui nous intresses puis les mettre sous forme d'un tabeau dans un fichier excel je vous remercie de votre présieuse aide !! Private Sub bt_fichier_Click() 'gestion des erreurs on Error GoTo fin 'si liste n'est pas vide alors If liste_info.ListCount > 0 Then nom_fichier = ThisDrawing.GetVariable("dwgname") nom_fichier = Left(nom_fichier, Len(nom_fichier) - 4) 'gestion de l'objet commondialog (fenêtre fichier) CommonDialog1.InitDir = ThisDrawing.GetVariable("dwgprefix") CommonDialog1.FileName = nom_fichier CommonDialog1.ShowOpen nom_fichier = CommonDialog1.FileName If nom_fichier = "" Then Exit Sub End If 'création du fichier de données par défaut TXT et dans chemin du fichier DWG Open nom_fichier For Output As #1 'en tête du fichier Print #1, "Liste des attributs de blocs" Print #1, vbCr Print #1, ThisDrawing.GetVariable("dwgprefix") & ThisDrawing.GetVariable("dwgname") Print #1, vbCr Print #1, vbCr ' ajoute les informations For i = 0 To liste_info.ListCount - 1 Print #1, liste_info.List(i) Next i Close #1 msgBox "Fichier bien enregistré." Else MsgBox "La liste est vide." End If fin: End Sub Private Sub bt_lancer_Click() ' declaration des variables Dim element As AcadObject Dim tableau_attribut As Variant Dim compteur_bloc As Integer Dim etiquette_attribut As String Dim valeur_attribut As String Dim i As Integer Dim pt_insertion As Variant Dim rotation As Single ' on vide la liste si elle contient des infos liste_info.Clear 'on affiche une boite à message pour faire patienter Traitement_info.Visible = True Traitement_info.Text = "Traitement en cours...Patience." ' on met un timer sinon la boite à message ' ne s'affiche pas PauseTime = 5 Start = Timer Do While Timer < Start + PauseTime DoEvents Loop 'initialisation des variables compteur_bloc = 0 nb_dec = ThisDrawing.GetVariable("luprec") ' boucle sur les tous les objets For Each element In ThisDrawing.ModelSpace ' si l'objet est un bloc alors If StrComp(element.ObjectName, "AcDbBlockReference", 1) = 0 Then ' si l'objet bloc contient des attributs alors If element.HasAttributes Then compteur_bloc = compteur_bloc + 1 ' stocke les info dans le tableau tableau_attribut = element.GetAttributes ' ajoute dans la liste le nom du bloc liste_info.AddItem "***** " & element.Name & " *****" liste_info.AddItem "------------------------------" ' passe en revu tous les attributs du bloc For i = LBound(tableau_attribut) To UBound(tableau_attribut) 'ajoute dans la liste le nom de l'étiquette de l'attribut ' ainsi que la valeur de l'attribut liste_info.AddItem "Etiq : " & tableau_attribut(i).TagString liste_info.AddItem "Valeur: " & tableau_attribut(i).TextString Next i 'saut de ligne entre chaque bloc liste_info.AddItem " " End If End If next element ' on rend invisible la boite à message Traitement_info.Visible = False ' inscription du nombre de blocs dans la liste info_compteur = compteur_bloc End Sub merci
×
×
  • 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é