mick_ig Posté(e) le 6 janvier 2006 Posté(e) le 6 janvier 2006 Bonjour à tous, Je cherche à reproduire en VBA la commande qui permet d'inactiver un calque en sélectionnant un objet dudit calque (commande existante dans EXPRESS, mais que je ne peux installer sur ma version d'Autocad). J'y suis parvenu mais cela ne focntionne pas aussi bien pour les blocs ayant des attributs dans des calques différents. Question:En sélectionnant un bloc en cliquant sur un attribut, comment puis-je identifier directement cet attribut et donc son calque. Je ne parviens, pour l'instant, qu'à identifier le bloc et son calque d'insertion. Merci d'avance de votre aide. :)
winfield Posté(e) le 7 janvier 2006 Posté(e) le 7 janvier 2006 Bonjour,C'est un 1er jet mais bon... Sub ActiveCalque() Dim ObjEntite As AcadEntity Dim VarPoint As Variant Dim VarMatrice As Variant Dim VarParents As Variant Dim ObjCalque As AcadLayer With ThisDrawing.Utility .GetSubEntity ObjEntite, VarPoint, VarMatrice, VarParents, "Selection d'un objet:" If ObjEntite Is Nothing Then .Prompt vbCrLf & "Aucun objet selectionné." Exit Sub End If Set ObjCalque = ThisDrawing.Layers(ObjEntite.Layer) ThisDrawing.ActiveLayer = ObjCalque End WithEnd Sub Par contre, pour les explications de GetSubEntity, je laisse ça à qqn de plus compétant que moi... Bonne continuation Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
mick_ig Posté(e) le 14 janvier 2006 Auteur Posté(e) le 14 janvier 2006 C'est sympa, je te remercie.je vais essayer ça. A+
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