FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Problème de Boucle et récupération de données dans un Userform
 

Problème de Boucle et récupération de données dans un Userform

Il y a 226 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Problème de Boucle et récupération de données dans un Userform
 
Plus d'informations

Bonjour,
j'ai un petit problème pour faire une boucle.
Je programme avec leVisual Basic de CATIA V5 un logiciel de CAO.
 
Le code est le suivante :  

Code :
  1. 'Création du texte
  2. Dim iFontSize As Double
  3. Dim Compteur1 As Integer
  4. Dim Compteur2 As Integer
  5. iFontSize = 6
  6.     For Compteur1 = 3 To 1 Step -1
  7.         For Compteur2 = 10 To 30
  8.                 Set myText = myView.Texts.Add(TRef(Compteur1).Value, -50, Compteur2)
  9.         Next Compteur2
  10.     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 dessin créé sous CATIA V5
 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 :  

Code :
  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éponses.


Message édité par Matthias31 le 13-03-2007 à 15:50:28

zeb
Profil : Modérateur libre
Plus d'informations

Ce n'est pas possible.
 
Mais on peut ruser ... http://www.presence-pc.com/forum/p [...] 4408-1.htm

Plus d'informations

a écrit :

Ce n'est pas possible.
 
Mais on peut ruser ... http://www.presence-pc.com/forum/p [...] 4408-1.htm


 
 
En fait si c'est possible, j'ai trouver une autre astuce assez plus simple.Ca marche nikel...
 

Code :
  1. 'Création du texte
  2. Dim iFontSize As Double
  3. Dim Cpt1 As Integer
  4. Dim Cpt2 As Integer
  5. Dim liste(1 To 3) As String
  6. iFontSize = 6
  7.     For Cpt1 = 3 To 1 Step -1
  8.        
  9.         For Cpt2 = 10 To 30 Step 10
  10.        
  11.             If Cpt1 = 1 And Cpt2 = 10 Then liste(Cpt1) = UserForm1.TRef3.Value
  12.             If Cpt1 = 2 And Cpt2 = 20 Then liste(Cpt1) = UserForm1.TRef2.Value
  13.             If Cpt1 = 3 And Cpt2 = 30 Then liste(Cpt1) = UserForm1.TRef1.Value
  14.            
  15.                 Set myText = myView.Texts.Add(liste(Cpt1), -50, Cpt2)
  16.                     myText.SetFontName 0, 0, "KOHG"
  17.                     myText.SetFontSize 0, 0, iFontSize
  18.                     myText.SetParameterOnSubString catCharRatio, 0, 0, 60
  19.                     myText.SetParameterOnSubString catCharSpacing, 0, 0, 35
  20.                 liste(1) = ""
  21.                 liste(2) = ""
  22.                 liste(3) = ""
  23.         Next Cpt2
  24.        
  25.     Next Cpt1
  26. 'myText.ActivateFrame catRectangle


Message édité par Matthias31 le 14-03-2007 à 14:29:07
zeb
Profil : Modérateur libre
Plus d'informations

Oui, c'est normalement ce que tu aurais du trouver du premier coup.
 
La "ruse" de l'autre topic, c'est quand on a 1236554789 composants. Là ça devient vite très chiant !


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Problème de Boucle et récupération de données dans un Userform
 

Annonces Google
Publicité