Aller au contenu

pb macro VBA et boucle FOR


Messages recommandés

Posté(e)

Bonjour

Alors je suis vraiment un petit nouveau, j'ai attaqué à faire de la macro sous CATIA pour un stage jeudi dernier, et comme tout bon débutant qui se respecte et bien je butte sur ûrement des broutilles.

 

Pour cerner le sujet, le but de mon stage est de modeliser une aorte abdominale et par la suite d'analyser ses contraintes et déformations.

La contrainteque mon tuteur m'a imposé c'est de le faire en macro pour une reutilisation plus aisée du fichier.

 

Pour cette modelisation, j'ai crée 22 plans distants de 5mm les uns des autres le long de l'axe X.

Sur chaque plan, je souhaite créer un cercle, avec centre et rayon différents pour chaque cercle

 

j'ai déjà réussi à créer les 4 premiers cercles et par soucis de concentration j'aimerai automatiser ces créations avec une boucle FOR et c'est là que je coince.

 

mon bout de programme fonctionne en manuel mais dans la boucle il y a un problème.

ca se situe à la ligne suivante:

Set reference1 = hybridShapes1.Item("Plane.x")

x est ma variable pour ma boucle FOR

 

j'ai le messsage d'erreur suivant:Run-time error '438'

Object doesn't support this property or method

 

la question que je me pose c'est est qu'il y a une solution pour pouvoir utiliser une boucle FOR

et comment je peux faire pour contourner ce problème.

 

voilivoilou

 

Merci d'avance

 

 

 

 

Posté(e)

salut fabientoupeti

 

Je pense que le problème est que tu appelles le "plan.x" car entre guillemets le x n'est pas reconnu en tant que variable mais en tant que lettre.

 

voila qui peut t'interesser :

 

Dim nom_plan As String

Dim nb_plan As Integer

 

For x = 1 to nb_plan

 

nom_plan = "plan." & x

Set reference1 = hybridShapes1.Item(nom_plan)

...

' creation de l'esquisse.x, etc

...

 

Next

 

Je n'ai pas tester.

 

a plus, naurel

Posté(e)

waouhou, je suis impressionné par la rapidité de réponse, c'est super sympa.

par contre je viens de le tester,le message d'erreur n'y est plus mais les esquisses ne se construisent pas.

 

de toute facon je continue à chercher de mon côté, vu que mqintenqnt je sais d'où vient ma coquille.

 

Merci encore

 

 

 

Posté(e)

c'est remoi, je crois que j'ai trouvé une parade en utilisant une liste dans laquelle je mets les "Plane.i" i allant de 0 à 21 et je l'apelle p

et ensuite j'utilise ...Item(p(X))

les esquisses se créent tout va bien mais comme le veut la programmation:nouvelle boulette.

 

sur ce j'y retourne.

 

 

 

 

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité