waner72 Posté(e) le 11 avril 2007 Posté(e) le 11 avril 2007 BonjourSur autocad, à l'aide de VBA j'ai créé un menu "bibliotheque" qui comporte 2 sous-menus qui comportent eux même 3 sous-menus.J'aimerai savoir comment faire pour lier un bloc à un sous menu si c'est possible de le faire...Je suis vrément bloqué....Mercivoici le code pour créér le menu bibliotheque: Sub bibliotheque() Dim currMenuGroup As AcadMenuGroup Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0) ' creer menu biblioteque Dim newMenu As AcadPopupMenu Set newMenu = currMenuGroup.Menus.Add("bibliotheque") ' ajouter un sous menu deroulant "cercle" Dim FileSubMenu As AcadPopupMenu Set FileSubMenu = newMenu.AddSubMenu("", "cercle") ' ajouter un sous menu au precedent Dim newMenuItem As AcadPopupMenuItem Dim openMacro As String ' assigner une macro et un nom "d10" openMacro = "_d10 " Set newMenuItem = FileSubMenu.AddMenuItem _ (newMenu.Count + 1, "d10", openMacro) Dim newMenuItem1 As AcadPopupMenuItem Dim openMacro1 As String ' Assign the macro the VB equivalent of "ESC ESC _open " openMacro1 = "_d20 " Set newMenuItem1 = FileSubMenu.AddMenuItem _ (newMenu.Count + 1, "d20", openMacro1) Dim newMenuItem2 As AcadPopupMenuItem Dim openMacro2 As String ' Assign the macro the VB equivalent of "ESC ESC _open " openMacro2 = "_d30 " Set newMenuItem2 = FileSubMenu.AddMenuItem _ (newMenu.Count + 1, "d30", openMacro2) ' Display the menu on the menu bar newMenu.InsertInMenuBar _ (ThisDrawing.Application.MenuBar.Count + 1) ' Add the submenu 222222 Dim FileSubMenu1 As AcadPopupMenu Set FileSubMenu1 = newMenu.AddSubMenu("", "carre") ' Add a menu item to the sub menu Dim newMenuItem3 As AcadPopupMenuItem Dim openMacro3 As String ' Assign the macro the VB equivalent of "ESC ESC _open " openMacro3 = "_10 " Set newMenuItem3 = FileSubMenu1.AddMenuItem _ (newMenu.Count + 1, "10", openMacro3) ' Add a menu item to the sub menu Dim newMenuItem4 As AcadPopupMenuItem Dim openMacro4 As String ' Assign the macro the VB equivalent of "ESC ESC _open " openMacro4 = "_20 " Set newMenuItem4 = FileSubMenu1.AddMenuItem _ (newMenu.Count + 1, "20", openMacro4) ' Add a menu item to the sub menu Dim newMenuItem5 As AcadPopupMenuItem Dim openMacro5 As String ' Assign the macro the VB equivalent of "ESC ESC _open " openMacro5 = "_30 " Set newMenuItem5 = FileSubMenu1.AddMenuItem _ (newMenu.Count + 1, "30", openMacro5) ' Display the menu on the menu bar newMenu.InsertInMenuBar _ (ThisDrawing.Application.MenuBar.Count + 1)End Sub
sechanbask Posté(e) le 11 mai 2007 Posté(e) le 11 mai 2007 Je ne comprends pas trop ce que tu souhaites faire... Lier un bloc pour qu'on puisse l'insérer? J'ai trouvé une erreur lors du lancement de la macro avant dernière ligne: newMenu.InsertInMenuBar _ (ThisDrawing.Application.MenuBar.Count + 1) Mais je ne comprends pas pourquoi... ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
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