phil_vsd Posté(e) le 19 septembre 2006 Posté(e) le 19 septembre 2006 Bonsoir à tous, Je cale sur cette méthode : J'ai un bloc dans mon Dwg avec un attribut, j'ai aussi une form dans laquelle j'ai regroupé plusieurs RadioButton (Option) et un bouton Command. J'aimerai choisir un des RadioButton et en fonction du choix, la valeur de l'attribut serai modifiée, puis quand je clique sur le Command il m'insère le bloc contenant l'attribut modifié. J'ai cherché avec Has_attributes, AcadBlockreference... n'arrive pas... Si qq'un connait la syntaxe à mettre dans le bouton Option... Et aussi dans le bouton de commande qui insère le bloc ! SVP Merci d'avance ! "La ligne droite est le plus court chemin entre deux points, à condition que les deux points soient bien en face l'un de l'autre" P. Desproges.
winfield Posté(e) le 19 septembre 2006 Posté(e) le 19 septembre 2006 C'est pas sur le bouton qu'il faut mettre le code.Tu as 2 boutons radio et un OK Private Sub Button1_Click() End Sub Private Sub Button2_Click() End Sub Un bouton est 0 ou 1 Private Sub BoutonOK ................................ If Button1 = False Then ..................... Else ....................... End If End Sub Pour le bloc existant dans le fichier en cour : Dim insertionPnt(0 To 2) As Double Dim MonBlock As AcadBlockReference insertionPnt(0) = 0: insertionPnt(1) = 0: insertionPnt(2) = 0 Set MonBlock = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, 1, 1, 1, 0) (Si tu veux cliquer à l'écran pour le point, passe par GetPoint.) Pour l'attribut: MonBlock.GetAttributes(0).TextString="MaValeur1" Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
phil_vsd Posté(e) le 20 septembre 2006 Auteur Posté(e) le 20 septembre 2006 Yes merci je commence à comprendre ! Dans cette optique je vais essayer comme cela. Je mon la barre d'un cran, dans mon cas réel, j'ai 3 radioBouton groupés dans un cadre, puis 4 autres dans un autre cadre j'aurai donc dans le bouton commande autant de lignes : If Button1 = False Then ..................... que de bouton Radio dans ma form ? Et le fait que l'on marque "End sub" dans un bouton radio ne gènera t-il pas le fait qu'il y en ait d'autre dans un autre cadre ? Autre question qui n'a rien à voir : Peut-on transformer une variable string en integer de la forme suivante : Dim Itoto as integer Dim Stata as string Itoto = val(Stata) Faut-il que Stata ne comporte aucun caractère alphabétique ? Merci à toi ! [Edité le 20/9/2006 par phil_vsd] "La ligne droite est le plus court chemin entre deux points, à condition que les deux points soient bien en face l'un de l'autre" P. Desproges.
phil_vsd Posté(e) le 20 septembre 2006 Auteur Posté(e) le 20 septembre 2006 Re-Winfiel ! C'est encore moi, Tu m'as expliqué que dans le code OK on renseigne l'attribut comme cela : MonBlock.GetAttributes(0).TextString="MaValeur1" Si j'en ai plusieurs cela ressemblera sans doute à cela : MonBlock.GetAttributes(0).TextString="MaValeur1" MonBlock.GetAttributes(1).TextString="MaValeur2" MonBlock.GetAttributes(2).TextString="MaValeur3" Est-ce que l'ordre de sélection des attributs quand je créé mon Bloc doit respecter celui plus haut ? Je pense que oui sinon les valeurs vont se répandre dans le mauvais ordre ? Merci ! "La ligne droite est le plus court chemin entre deux points, à condition que les deux points soient bien en face l'un de l'autre" P. Desproges.
winfield Posté(e) le 20 septembre 2006 Posté(e) le 20 septembre 2006 Salut,on comence tj par Sub Toto ............. 'Code ............ End sub Ici le fait de commencer par "Sub" revient à dire "Public Sub Toto", si tu veux que ça soit privé, ce sera "Private" à la place de "Public", dans le cas d'une form, tout est "Private". Faut-il que Stata ne comporte aucun caractère alphabétique ? Ni de nombres à virgule.... Est-ce que l'ordre de sélection des attributs quand je créé mon Bloc doit respecter celui plus haut ? Je pense que oui sinon les valeurs vont se répandre dans le mauvais ordre ? Interroge l'etiquette : If MonBlock.GetAttributes(0).TagString="MonEtiquette1" Then MonBlock.GetAttributes(0).TextString="MaValeur1" End If Bonne continuation Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
phil_vsd Posté(e) le 20 septembre 2006 Auteur Posté(e) le 20 septembre 2006 Whaaou, ces réponses c'est de l'or en fusion ! Je teste et je reposte. Merci A++ "La ligne droite est le plus court chemin entre deux points, à condition que les deux points soient bien en face l'un de l'autre" P. Desproges.
phil_vsd Posté(e) le 15 octobre 2006 Auteur Posté(e) le 15 octobre 2006 C'est de l'or en fusion mais je m'y suis brulé les doigts... Ca ne marche pas j'ai l'impression qu'il me manque qqchose. T'as un exemple en VBA tout fini qui traîne qqpart que je puisse l'analyser ? Ou bien tu veux que je rassemble mes morceaux que je te montre ? C'est moins pressé car j'ai une solution de remplacement temporaire... See you ! "La ligne droite est le plus court chemin entre deux points, à condition que les deux points soient bien en face l'un de l'autre" P. Desproges.
winfield Posté(e) le 15 octobre 2006 Posté(e) le 15 octobre 2006 T'as un exemple en VBA tout fini qui traîne qqpart que je puisse l'analyser ? Vi , mais c'est avec une form file moi un mail comme ça t'auras la totale. Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
phil_vsd Posté(e) le 15 octobre 2006 Auteur Posté(e) le 15 octobre 2006 Whoua ! La classe ! phil_vsd@yahoo.fr Merci d'avance ! "La ligne droite est le plus court chemin entre deux points, à condition que les deux points soient bien en face l'un de l'autre" P. Desproges.
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