Besoin d'aide Stagiaire sur CATIA V5

Page 2 sur 3 Précédent  1, 2, 3  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Ven 12 Avr 2013 - 21:04

THOMAS93 a écrit:Le message d'erreur me dit :

Run-time error '91' :
Object variable or With Block variable not set

et me selectionne Set wbk = wbks.Sheets(1)


Comprends tu ce que l'erreur veux dire ?

Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Ven 12 Avr 2013 - 21:09

C'est pas que j'ai des lacunes mais plutôt que je n'ai qu'un DUT Génie Méca, et qu'on me donne un stage en programmation sur CATIA, donc pas évident pour moi.
Désolé de poser des questions qui peuvent paraitre simple... :/
En tout cas je te remercie pour ton aide !

Oui, je pense que c'était un problème de définition de variable..
J'avais essayé Dim wbks As Object et File mais bon... :/


THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Ven 12 Avr 2013 - 21:25

d'après ce qui est écrit

Set wbk = wbks.Sheets(1)

voudrait que la variable wbk soit un objet Sheets
donc tu devrais avoir plus haut la ligne

Dim wbk as Sheets

ce qui donne la variable wbk comme étant un objet Sheets

maintenant c'est pas très logique d'avoir une variable qui s'appelle wbk et qui contient les feuille d'un classeur Excel ... mais ça c'est toi qui vois comment tu veux l'appeler ... toto, bidulles, feuilles_excel ... tant que tu t'y retrouves dans ta programmation.


Maintenant dans le code tu as fourni plus haut les variables wbks et wbk ne servent à rient (du moins dans la démarche d'ouverture d'un fichier)


Après les variables sont là aussi pour simplifier les choses.


Tu peux écrire :

Dim mon_objet_de_travail as cell
set mon_objet_de_travail = Excel.Workbooks(1).sheets(1).cell(3,B)


Tu n'aura juste à écrire que
mon_objet_de_travail

au lieu de
Excel.Workbooks(1).sheets(1).cell(3,B)







Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Ven 12 Avr 2013 - 21:32

D'acc, merci pour ce petit cours !
Et merci de ta patience surtout !

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Ven 12 Avr 2013 - 21:39

Sinon pour ce qui est de la programmation il y a des site dédiés

Catia ou pas, le langage est le même.

http://vb.developpez.com/
http://www.vbfrance.com/

C'est deux site sont vraiment très complet et très utiles aussi bien pour les débutant que pour les experts

Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par mike688 le Mer 17 Avr 2013 - 19:22

qui est ce qui gère en vb(a) ici ?
avatar
mike688
actif
actif

Messages : 255
Date d'inscription : 23/12/2009
Age : 35
Localisation : Portieux (88)

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Mer 17 Avr 2013 - 22:37

Moi non, pas trop...
J'ai un problème :
A partir d'une macro Catia, j'aimerai copier une ligne d'un fichier .txt vers un fichier excel.
Le probléme c'est que catia ne veut pas de :

Line Input #FileNumS, TmpStr
Range ("A1").Value = TmpStr

Comment pourrais-je faire ?

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Jeu 18 Avr 2013 - 2:07

mike688 a écrit:qui est ce qui gère en vb(a) ici ?

Moi j'ai quelques années de programmation VB/VBA/delphi
pourquoi ?

A partir d'une macro Catia, j'aimerai copier une ligne d'un fichier .txt vers un fichier excel.
Le probléme c'est que catia ne veut pas de :

Line Input #FileNumS, TmpStr
Range ("A1").Value = TmpStr

Comment pourrais-je faire ?
Donne les messages d'erreur !

Mais déjà à 1ere vu
Line Input

ça me parait étrange comme syntaxe...


Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Jeu 18 Avr 2013 - 19:41

C'est bon, en faite je suis passé par une autre méthode. Wink
Merci quand même de ta part !

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Jeu 18 Avr 2013 - 19:58

En faite, je vais en avoir besoin :/

Le message d'erreur est :
Run time error '13'
Type mismatch

Si tu as une solution ... Smile

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Jeu 18 Avr 2013 - 20:03

.


Dernière édition par THOMAS93 le Jeu 18 Avr 2013 - 20:22, édité 1 fois

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Jeu 18 Avr 2013 - 20:11

Type mismatch ça veut dire "ne correspond pas"

TmpStr et Range ("A1").Value ne sont pas compatible.

à vu de nez je dirais que Range ("A1").Value est une valeur numérique et que TmpStr est une variable en chaine de caractère, il doit falloir la convertir ou alors pet être que tu peux écrire:
Range ("A1").text = TmpStr

Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Jeu 18 Avr 2013 - 20:15

C'est bizarre, il selectionne Line Input #path_txt, TextStr
Il bloque dés cette ligne.

ah ok, donc il doit y avoir le même soucis que j'ai décris à cette ligne

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Jeu 18 Avr 2013 - 20:40

donc c'est à cette ligne qu'il y a une variable d'un type non compatible avec ce qui devrait être utilisé.

soit #path_txt
soit TextStr

Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Jeu 18 Avr 2013 - 20:42

TextStr c'est sur que c'est bon, vu que celle-ci marche un peu plus haut (macro envoyée)..
Le probléme serait donc #path_txt.
As tu une idée ?

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Jeu 18 Avr 2013 - 20:47

oui visiblement c'est #path_txt que tu ne définis pas correctement

regardes là :

http://www.pise.info/vb/partie8.htm


logiquement tu devrais avoir une ligne dans le genre :
Open "C:\TextFile.txt" For Input As #path_txt

Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Jeu 18 Avr 2013 - 21:39

'On ignore les 2 1eres lignes
Open "U:\xx\xxx.txt" For Input As #1

Dim TmpStr As String
Line Input #1, TmpStr
Line Input #1, TmpStr

Line Input #1, TmpStr

Range("a4").Value = TmpStr
Close #1



Il m'écrit maintenant : Run time error '1004'
Method 'Range' of object '_Global' failed


THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Jeu 18 Avr 2013 - 21:43

ActiveWorkbook.Range("a4").Value = TmpStr


c'est peut être mieux

car sinon Range n'est associé à aucun objet.

Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Jeu 18 Avr 2013 - 22:03

Je crois que c'est bon. Oui effectivement, il fallait :
Excel.ActiveWorkbook.ActiveSheet.Range("a4").Value = TmpStr

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Jeu 18 Avr 2013 - 22:26

Le probléme c'est que la ligne étant longue, il ne veut pas la mettre dans la case.
En effet, à chaque ligne longue que je selectionne, il m'écrit : run time error '1004'
Application.defined or object-defined error

Je pense que c'est du à la longueur mais sans aucune certitude.

Comment pourrais-je sélectionner, à partir du caractére 2 sur une longueur de 20 par exemple ? Il me semble que ca ressemble à quelque chose comme ca : Right(tmpstr_line, 2) - Len(tmpstr_line, 20)

A partir de ca :
Line Input #1, TmpStr
Puisque pour choisir la ligne, je multiplie les :
Line Input #1, TmpStr
Line Input #1, TmpStr
Line Input #1, TmpStr
...

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Jeu 18 Avr 2013 - 23:24

Je ne voit pas pourquoi ce serait un problème de longueur de chaine de caractère.
C'est clairement indiqué qu'il y a quelque chose de non/mal défini au niveau de cette ligne

Il faut débuguer et voir ce que contiennent tes variable et tes objet

Ecrit avant la ligne qui pose problème, par exemple
msgbox TmpStr
Excel.ActiveWorkbook.ActiveSheet.Range("a4").Value = "toto"


la 1ere ligne que j'ai écris fait apparaitre une petit boite de dialogue affichange la contenu de la variable TmpStr
la 2 ème doit écrire " toto " dans la case A4 de ta feuille active

Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Jeu 18 Avr 2013 - 23:30

Alors, dans l'ordre :

Il affiche bien la valeur que je souhaite rentrer dans la case.
Il inscrit bien toto et ensuite m'indique le message d'erreur ('1004' le même)

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Ven 19 Avr 2013 - 0:42

c'est bien la ligne
Excel.ActiveWorkbook.ActiveSheet.Range("a4").Value = TmpStr
qui est pointée ?

essayes
Excel.ActiveWorkbook.ActiveSheet.Range("a4").text = TmpStr

Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Guss_ le Ven 19 Avr 2013 - 0:45

ta variable TmpStr contient-elle un nombre ou alors un texte ?

Guss_
Fédérateur
Fédérateur

Messages : 498
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par THOMAS93 le Ven 19 Avr 2013 - 1:00

les deux elle contient cette ligne :
= Récapitulatif sur M999- ...etc

THOMAS93
actif
actif

Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne

Revenir en haut Aller en bas

Re: Besoin d'aide Stagiaire sur CATIA V5

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 3 Précédent  1, 2, 3  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum