Matthias31 Posté(e) le 13 mars 2007 Posté(e) le 13 mars 2007 Bonjour,j'ai un petit problème pour faire une boucle. Le code est le suivante : 1. 'Création du texte 2. 3. Dim iFontSize As Double 4. Dim Compteur1 As Integer 5. Dim Compteur2 As Integer 6. iFontSize = 6 7. For Compteur1 = 3 To 1 Step -1 8. For Compteur2 = 10 To 30 9. Set myText = myView.Texts.Add(TRef(Compteur1).Value, -50, Compteur2) 10. Next Compteur2 11. Next Compteur1 J'explique d'abord le fonctionnement de cette commande.Par exemple : La commande Set myText = myView.Texts.Add(CATIA_V5, -50, 30) sert à mettre dans un drawing le texte "CATIA_V5" au coordonnées -50mm sur X et 30mm sur Y. Je veut donc créer du texte à différents endroits suivant une boite de dialogue qui apparaitra.La boucle 1 prendra le texte dans les zones de texte (text box) apellées "TRef1", "TRef2" et "TRef3".La boucle 2 fera varié l'emplacement du texte selon les coordonnées de Y. Le problème est que je n'arrive pas à réaliser la boucle du Compteur1.La référence Tref1, Tref2 et Tref3 ne sont pas prise en compte, par exemple au commencement de la 1ere boucle la commande prend donc cette forme : 1. Set myText = myView.Texts.Add(TRef(3).Value, -50, 10) Comment faire pour prendre la valeur de la zone de texte en compte pour quelle change à chaque boucle...?? Merci d'avance pour vos réponse [Edité le 13/3/2007 par Matthias31]
gus007 Posté(e) le 13 mars 2007 Posté(e) le 13 mars 2007 salut je ne suis pas un expert (desole si je dit des betises)mais je vois que tu as le nom de ta textbox mais tu n as pas le nom de ta forms
naurel Posté(e) le 13 mars 2007 Posté(e) le 13 mars 2007 salut, Apparement tu n'arrives pas à avoir la valeur de Tref1, 2 ou 3.le problème vient donc de TRef(Compteur1).value. J'ai eu un problème similaire.Pour commencer il me semble qu'il faut indiquer le chemin complet : nom_userform.TRef1.valuePour incrémenter ta syntaxe ne me semble pas correct, perso je passerai par une variable intermediaire de type liste : liste (1) = nom_userform.TRef1.valueliste (2) = nom_userform.TRef2.valueliste (3) = nom_userform.TRef3.value tu peux ensuite facilement incrementer Set myText = myView.Texts.Add(liste(compteur1), -50, Compteur2) voila
Matthias31 Posté(e) le 14 mars 2007 Auteur Posté(e) le 14 mars 2007 Merci beaucoup naurel, ta solution ma bien aidé, c'est gentil.Nous avons enfin pu finir cette macro...A bientôt
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