Besoin d'aide Stagiaire sur CATIA V5
3 participants
Page 2 sur 3
Page 2 sur 3 • 1, 2, 3
Re: Besoin d'aide Stagiaire sur CATIA V5
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_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
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... :/
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
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
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)
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_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
D'acc, merci pour ce petit cours !
Et merci de ta patience surtout !
Et merci de ta patience surtout !
THOMAS93- actif
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
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
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_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
qui est ce qui gère en vb(a) ici ?
mike688- actif
- Messages : 257
Date d'inscription : 23/12/2009
Age : 43
Localisation : Portieux (88)
Re: Besoin d'aide Stagiaire sur CATIA V5
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 ?
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
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
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 ?
Donne les messages d'erreur !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 ?
Mais déjà à 1ere vu
Line Input
ça me parait étrange comme syntaxe...
Guss_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
C'est bon, en faite je suis passé par une autre méthode.
Merci quand même de ta part !
Merci quand même de ta part !
THOMAS93- actif
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
En faite, je vais en avoir besoin :/
Le message d'erreur est :
Run time error '13'
Type mismatch
Si tu as une solution ...
Le message d'erreur est :
Run time error '13'
Type mismatch
Si tu as une solution ...
THOMAS93- actif
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
.
Dernière édition par THOMAS93 le Jeu 18 Avr 2013 - 10:22, édité 1 fois
THOMAS93- actif
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
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
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_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
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
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
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
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
soit #path_txt
soit TextStr
Guss_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
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 ?
Le probléme serait donc #path_txt.
As tu une idée ?
THOMAS93- actif
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
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
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_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
'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
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
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
ActiveWorkbook.Range("a4").Value = TmpStr
c'est peut être mieux
car sinon Range n'est associé à aucun objet.
c'est peut être mieux
car sinon Range n'est associé à aucun objet.
Guss_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
Je crois que c'est bon. Oui effectivement, il fallait :
Excel.ActiveWorkbook.ActiveSheet.Range("a4").Value = TmpStr
Excel.ActiveWorkbook.ActiveSheet.Range("a4").Value = TmpStr
THOMAS93- actif
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
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
...
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
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
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
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_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
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)
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
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Re: Besoin d'aide Stagiaire sur CATIA V5
c'est bien la ligne
Excel.ActiveWorkbook.ActiveSheet.Range("a4").Value = TmpStr
qui est pointée ?
essayes
Excel.ActiveWorkbook.ActiveSheet.Range("a4").text = TmpStr
Excel.ActiveWorkbook.ActiveSheet.Range("a4").Value = TmpStr
qui est pointée ?
essayes
Excel.ActiveWorkbook.ActiveSheet.Range("a4").text = TmpStr
Guss_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
ta variable TmpStr contient-elle un nombre ou alors un texte ?
Guss_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Besoin d'aide Stagiaire sur CATIA V5
les deux elle contient cette ligne :
= Récapitulatif sur M999- ...etc
= Récapitulatif sur M999- ...etc
THOMAS93- actif
- Messages : 36
Date d'inscription : 08/04/2013
Localisation : Compiegne
Page 2 sur 3 • 1, 2, 3
Sujets similaires
» Besoin d'aide Stagiaire sur CATIA V5
» Catia V5 et Bug (besoin d'aide)
» Une stagiaire en galère
» besoin d'aide
» Nouveau membre a besoin d'aide
» Catia V5 et Bug (besoin d'aide)
» Une stagiaire en galère
» besoin d'aide
» Nouveau membre a besoin d'aide
Page 2 sur 3
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum