Bred Posté(e) le 7 juillet 2008 Posté(e) le 7 juillet 2008 Salut,Je patauge en VB...J'ai créés une fonction qui récupère des données dans une variable USERS afin de remplir une boite de dialogue...quand je fait du pas à pas avec F8, ma fonction fonctionne 'pécable...Quand je lance la macro depuis AutoCAD, nada ! fonctionne pas.... Pour info je ne cache pas ma boite de dialogue au moment de la récup de USERS. Avez-vous déjà rencontré ce problème ? Y aurait- t'il une astuce, genre régénération de boite de dialogue, ou autre... (je ne sais pas trop quoi vous donner comme code, sorti de la multitude de petit codes qui se croise ça ne voudrais rien dire...) merci d'avance ! Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
ludo07 Posté(e) le 8 juillet 2008 Posté(e) le 8 juillet 2008 Bonjour Bred, Tu peux mettre ton code en ligne? A+
Bred Posté(e) le 8 juillet 2008 Auteur Posté(e) le 8 juillet 2008 Salut,merci de t'interressaer à mon problème.comme je l'ai expliqué ci-dessus, je ne sais pas trop quoi mettre comme code car j'ai plein de sous-routine, mais celui qui ne fonctionne pas est celui là : Sub Liste_cartouche_Change() Dim Cart As String Dim VarUsers2 As String Cart = Chr(34) & Liste_cartouche.Value & Chr(34) ThisDrawing.SendCommand "(recup-donnee-cartouche" & " " & Cart & ")" & vbCr Initialise_Cartouche_SC VarUsers2 = ThisDrawing.GetVariable("USERS2") c = Remplis_Cartouche_SC(VarUsers2, 1) End Sub Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
ludo07 Posté(e) le 8 juillet 2008 Posté(e) le 8 juillet 2008 Pour ma part, j'ai réaliser un programme qui liste les données d'un bloc en particulier et il permet de ré-injecter les valeurs des attributs du bloc dans les TextBox de ma USERFORM. Est ce que tu peux être plus précis (SVP) sur l'usage que tu souhaite en faire. A+
Bred Posté(e) le 8 juillet 2008 Auteur Posté(e) le 8 juillet 2008 C'est pour faire une boite de dialogue qui automatise le remplissage d'un cartouche à l'aide de boutons d'options ou de textes à rentrer (dont certains avec une liste par défaut) Le principe :- Je lance la BD- J'ai une liste de cartouche prédéfinis à choisir (cette liste je la récupère dans la BR selon les utilisateurs)- Chaque cartouche est lié à un code "texte" reprenant tous ce que contiens le cartouche- Quand je change de cartouche dans ma liste, le code récupère la "liste texte" dans USERS2.- De ce texte, il active ou pas certaines cellulles... ... et c'est là ou sa plante : ça n'active rien du tout (alors que je sais que ma liste est bien passé en revu, car quand je fais du pas à pas avec F8, ça fonctionne...) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
ludo07 Posté(e) le 8 juillet 2008 Posté(e) le 8 juillet 2008 Ci-dessous le code de mon bouton qui me permet de ré-injecter les valeurs de s attributs dans les TextBox de ma Userform. Private Sub CommandButton2_Click()UserForm2.Hide 'permet de récuperer des donnéesDim re(0 To 10) As Variantr = UserForm2.TextBox1.Value Dim objJeuSel As AcadSelectionSetDim entbloc As AcadEntityDim codegroup(0 To 1) As IntegerDim valgroup(0 To 1) As VariantDim vntattrib As VariantDim i, inttotal As IntegerSet objJeuSel = ThisDrawing.SelectionSets.Add("jeu27") 'creer un jeu de selectioncodegroup(0) = 0valgroup(0) = "INSERT" 'permet de dire à la recherche que l'on recherche un bloccodegroup(1) = 2valgroup(1) = "blocdo" 'et que le bloc rechercher à pour nom rep...objJeuSel.Select acSelectionSetAll, , , codegroup, valgroup 'la selection est fait For Each entbloc In objJeuSel 'pour tous les blocs rep... dans le jeu de selection If entbloc.HasAttributes Then 'si le bloc a des attributs vntattrib = entbloc.GetAttributes 'vntattrib prend la valeur d'attribut If vntattrib(0).TextString = r Then For i = LBound(vntattrib) To UBound(vntattrib) 'boucle fait avec un compteut qui dépend du nombre d'attributs If vntattrib(i).TagString = "info1" Then re(0) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info2" Then re(1) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info3" Then re(2) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info4" Then re(3) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info5" Then re(4) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info6" Then re(5) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info7" Then re(6) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info8" Then re(7) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info9" Then re(8) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info10" Then re(9) = CVar(vntattrib(i).TextString) ElseIf vntattrib(i).TagString = "info11" Then re(10) = CVar(vntattrib(i).TextString) End If Next i Else: inut2 = 0 End If End IfNext UserForm1.TextBox7.Value = re(0)UserForm1.TextBox8.Value = re(1)UserForm1.TextBox1.Value = re(2)UserForm1.TextBox2.Value = re(3)UserForm1.TextBox3.Value = re(4)UserForm1.TextBox4.Value = re(5)UserForm1.TextBox5.Value = re(6)UserForm1.TextBox6.Value = re(7) If re(8) = 1 ThenUserForm1.OptionButton1.Value = TrueElseUserForm1.OptionButton2.Value = TrueEnd If If re(9) = 1 ThenUserForm1.OptionButton3.Value = TrueElseUserForm1.OptionButton4.Value = TrueEnd If If re(9) = 0 Then If re(10) = 1 Then UserForm1.ComboBox1.BackColor = 128 intretour = MsgBox("Vérifiez que la catégorie des ancres dans la liste déroulante est :" & vbLf _ & " ARTEON 1T3", 64, "VERIFICATION") ElseIf re(10) = 2 Then UserForm1.ComboBox1.BackColor = 128 intretour = MsgBox("Vérifiez que la catégorie des ancres dans la liste déroulante est :" & vbLf _ & " ARTEON 2T5", 64, "VERIFICATION") Else UserForm1.ComboBox1.BackColor = 128 intretour = MsgBox("Vérifiez que la catégorie des ancres dans la liste déroulante est :" & vbLf _ & " ARTEON 5T", 64, "VERIFICATION") End IfEnd IfobjJeuSel.Delete 'permet d'effacer les éléments du jeu de selection 'c'est important pour pouvoir relancer le programme. End Sub Si mon code ne t'inspire pas tu peux me transmettre ton programme et je veux bien y jeter un oeil ou le sdeux. A+
Bred Posté(e) le 8 juillet 2008 Auteur Posté(e) le 8 juillet 2008 OK !merci de ton aide, je vais essayer de comprendre ta méthode. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
didier Posté(e) le 8 juillet 2008 Posté(e) le 8 juillet 2008 coucou c'est quoi le but ? tu récupères une valaur qu'un lisp te met dans Userc'est ça ? c'est quoi cette valeur ?ne peut on pas l'extrtaire directement en VBA ? dis m'en plus. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Bred Posté(e) le 8 juillet 2008 Auteur Posté(e) le 8 juillet 2008 Salut, ne peut on pas l'extrtaire directement en VBA ?C'est ce que je suis en train de regarder (lire la BR en VBA)merci. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
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