Export propriétés CATIA vers Excel et vice-versa
+5
lvalette
Spo
lumpazepfel
d.vincent567
CharlyDuclos
9 participants
Page 2 sur 2
Page 2 sur 2 • 1, 2
Re: Export propriétés CATIA vers Excel et vice-versa
Bonjour Etienne,
Pour vérifier si un paramètre existe, il faut passer par la gestion des erreurs. En effet si le paramètre n'existe pas,a fonction "myparameters.Item(xxxx).value" renvoie une erreur.
Voici le code:
On error resume next
err.clear
test = myparameters.Item("MATIERE").Value
If Err.Number = 0 Then
'action si le paramètre existe
Else
'action si le paramètre n'existe pas
End If
on error goto 0
Pour vérifier si un paramètre existe, il faut passer par la gestion des erreurs. En effet si le paramètre n'existe pas,a fonction "myparameters.Item(xxxx).value" renvoie une erreur.
Voici le code:
On error resume next
err.clear
test = myparameters.Item("MATIERE").Value
If Err.Number = 0 Then
'action si le paramètre existe
Else
'action si le paramètre n'existe pas
End If
on error goto 0
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
davinsyncod aime ce message
Re: Export propriétés CATIA vers Excel et vice-versa
Bonjour Lumpazepfel,
Merci pour ton retour super rapide!
Effectivement en fouillant dans des codes j'ai trouvé et adapté ceci:
Je comprends mieux pourquoi cela ne fonctionnait pas.
Merci encore!
Merci pour ton retour super rapide!
Effectivement en fouillant dans des codes j'ai trouvé et adapté ceci:
- Code:
On Error Resume Next
test = myParameters.Item("MATIERE").Value
If Err.Number = 0 Then
myParameters.Item("MATIERE").Value = mymaterial
Else
Set myparameter = myParameters.CreateString("MATIERE", "")
End If
Je comprends mieux pourquoi cela ne fonctionnait pas.
Merci encore!
Ethny- timide
- Messages : 3
Date d'inscription : 10/01/2022
Localisation : Toulouse
davinsyncod aime ce message
Re: Export propriétés CATIA vers Excel et vice-versa
Bonjour,
je rencontre pour un client une erreur de compatibilité avec la "Microsoft Excel Object Library" et une macro de Catia v5 qui a pour fonction d'extraire des données d'une pièce dans une nomenclature.
Concrètement, lorsque je lance la macro de CatiaV5, elle fonctionne avec la version 14.0, 15.0 et 16.0. Le soucis est que la case de la "Microsoft Excel Object Library" des Références (après un enregistrement et la fermeture du logiciel CatiaV5) se décoche lorsqu'on ré-ouvre le logiciel CatiaV5. Du coup, la macro de CatiaV5 ne trouve pas la "Microsoft Excel Object Library", génère une erreur et plante au début.
Est-il possible si on a des versions d'Office différentes de rendre compatible la "Microsoft Excel Object Library" pour tous ? J'ai entendu parler des liaisons tardives mais je ne comprend pas leurs utilisations.
Merci.
je rencontre pour un client une erreur de compatibilité avec la "Microsoft Excel Object Library" et une macro de Catia v5 qui a pour fonction d'extraire des données d'une pièce dans une nomenclature.
Concrètement, lorsque je lance la macro de CatiaV5, elle fonctionne avec la version 14.0, 15.0 et 16.0. Le soucis est que la case de la "Microsoft Excel Object Library" des Références (après un enregistrement et la fermeture du logiciel CatiaV5) se décoche lorsqu'on ré-ouvre le logiciel CatiaV5. Du coup, la macro de CatiaV5 ne trouve pas la "Microsoft Excel Object Library", génère une erreur et plante au début.
Est-il possible si on a des versions d'Office différentes de rendre compatible la "Microsoft Excel Object Library" pour tous ? J'ai entendu parler des liaisons tardives mais je ne comprend pas leurs utilisations.
Merci.
davinsyncod- timide
- Messages : 5
Date d'inscription : 03/02/2022
Localisation : Lyon
Re: Export propriétés CATIA vers Excel et vice-versa
Bonjour David,
Si tu n'as pas besoins de fonction complexe d'excel, tu peux écrire une macro sans référence Excel.
Tu peux aussi écrire ta macro VBA dans Excel pour extraire des infos de CATIA.
Par exemple pour récupérer quelques propriétés du document CATIA actif:
Si tu peux préciser ton besoins ou poster ton code, on pourra t'aider.
Si tu n'as pas besoins de fonction complexe d'excel, tu peux écrire une macro sans référence Excel.
Tu peux aussi écrire ta macro VBA dans Excel pour extraire des infos de CATIA.
Par exemple pour récupérer quelques propriétés du document CATIA actif:
- Code:
Sub exportCATIA()
Dim CATIA As Object
Set CATIA = GetObject(, "CATIA.Application")
Set iProduct = CATIA.ActiveDocument.Product
Excel.Cells(1, 1).Value = iProduct.Partnumber
Excel.Cells(1, 2).Value = iProduct.Definition
Excel.Cells(1, 3).Value = iProduct.revision
End Sub
Si tu peux préciser ton besoins ou poster ton code, on pourra t'aider.
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
davinsyncod aime ce message
Re: Export propriétés CATIA vers Excel et vice-versa
Mon besoin est de pouvoir prendre en compte toutes les versions de la "Microsoft Excel Object Library" (14.0, 15.0, 16.0, etc...) selon la version d'Office installée sur un poste de travail.
Voici le code de la fonction :
Merci pour votre aide !
Voici le code de la fonction :
- Code:
Public RootPrddoc As ProductDocument
Public RootPrd As Product
Public RootPath As Folder
Public myFile As File
Public XlsFileName As String
'Public XlsBom As Object
Type comp
pos As String
PN As String
Q As Integer
Des As String
Nplan As String
Mat As String
FilePath As String
End Type
Type Poste
name As String
comp() As comp
End Type
Public MyXl As New Excel.Application
Public Mycomp() As comp
Public NbofStd As Integer
Public Ind As Integer
Public myWB As Workbook
Public myWS As Worksheet
Public MyPoste() As Poste
Sub CATMain() 'Fonction principale et point de départ de la macro
Dim BOMUpdate As Boolean
On Error Resume Next
Set RootPrddoc = CATIA.ActiveDocument 'vérification si document actif est un CATProduct
If Err <> 0 Then
MsgBox "Le document actif doit être de type CATProduct !", vbOKOnly + vbExclamation, "Avertissement"
Exit Sub
End If
On Error GoTo 0
BOMUpdate = False
Call load_XML_Init 'initialisation
'RefMgt
Set RootPrd = RootPrddoc.Product
Set RootPath = CATIA.FileSystem.GetFolder(RootPrddoc.Path)
For Each myFile In RootPath.Files
If Right(myFile.name, 5) = ".xlsx" And Left(myFile.name, 2) = "ON" Then
BOMUpdate = True
XlsFileName = myFile.Path
Exit For
End If
Next
Ind = 0
ReDim Mycomp(0)
If BOMUpdate = True Then
'Modification
Call ScanPrd(RootPrd, "Nomenclature_Transfert")
Call Arrange
'Call UpdateXls(XlsFileName)
Call UpdateArrangeXls(XlsFileName)
'Call CheckRemoveLine
Call CheckArrangeRemoveLine
MsgBox "Mise à jour de la nomenclature excel terminé !", vbInformation + vbOKOnly, "Information"
Else
'creation
Call ScanPrd(RootPrd, "Nomenclature_Transfert")
Call Arrange
'Call ExportXls
Call ExportArrangeXls
Cartouche
MsgBox "Export de la nomenclature vers excel terminé !", vbInformation + vbOKOnly, "Information"
End If
End
End Sub 'Fin de la fonction CATMain et de la macro
Merci pour votre aide !
davinsyncod- timide
- Messages : 5
Date d'inscription : 03/02/2022
Localisation : Lyon
Re: Export propriétés CATIA vers Excel et vice-versa
A ma connaissance, il n'est pas possible d'avoir des références compatibles. Il faut celle qui est installée sur le poste sinon elle sera cochée en "MISSING" et la macro ne marche pas.
Comme je l'ai dis plus haut il faut essayer de faire sans, certaine fonction d'Excel risque de ne pas fonctionner et il faut bien déclarer les variables en rappelant l'objet Excel.
A priori dans ton code les fonctions excel doivent être dans les procedures UpdateArrangeXls et CheckArrangeRemoveLine.
Tu peux essayer en décochant les références excel et regarder ou ça plante.
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
Re: Export propriétés CATIA vers Excel et vice-versa
Heylo lumpazepfel,
entendu je vais voir comment procéder. Merci pour ton aide
Cordialement.
David
entendu je vais voir comment procéder. Merci pour ton aide
Cordialement.
David
davinsyncod- timide
- Messages : 5
Date d'inscription : 03/02/2022
Localisation : Lyon
Re: Export propriétés CATIA vers Excel et vice-versa
Heylo tout le monde,
après avoir échoué et coulé, j'ai finalement demander de l'aide en interne. En déclarant en tant qu'objet myXL, myWS et myWB plutôt qu'un "Excel.Application", cela fonctionne et c'est compatible avec plusieurs versions d'Office.
Merci pour votre aide.
A bientôt.
David
après avoir échoué et coulé, j'ai finalement demander de l'aide en interne. En déclarant en tant qu'objet myXL, myWS et myWB plutôt qu'un "Excel.Application", cela fonctionne et c'est compatible avec plusieurs versions d'Office.
Merci pour votre aide.
A bientôt.
David
davinsyncod- timide
- Messages : 5
Date d'inscription : 03/02/2022
Localisation : Lyon
Re: Export propriétés CATIA vers Excel et vice-versa
Salut,
La question date un peu, mais si ça peut aider, voici une fonction qui permet de vérifier si un paramètre existe ou pas.
On ne peut pas le vérifier directement : il faut essayer de lire sa valeur et s'il n'existe pas ça créera une erreur.
La question date un peu, mais si ça peut aider, voici une fonction qui permet de vérifier si un paramètre existe ou pas.
On ne peut pas le vérifier directement : il faut essayer de lire sa valeur et s'il n'existe pas ça créera une erreur.
- Code:
'*****************************************************************
' Fonction de contrôle si le paramètre existe déjà
'*****************************************************************
Function fParamExist(myParamName As String) As Boolean
On Error Resume Next
Dim myParaValue As String
Err.Clear
myParaValue = myParameters.Item(myParamName).Value
If Err.Number <> 0 Then
fParamExist = False
Else
fParamExist = True
End If
On Error GoTo 0
End Function
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
Liocco08 aime ce message
Re: Export propriétés CATIA vers Excel et vice-versa
Salut,
J'ai récupéré la macro de lumpazepfel mais l'import des nouveaux noms ne se fait pas
Config :
Catia V5 R19
Excel 2007 SP3
References : Microsoft Excel 12.0 Object Library
Macro utilisée :
Celle postée par lumpazepfel le 22 Nov 2017 - 13:03 dans les réponses Page 1
Étapes :
Lancement macro : OK
Ouverture Excel : OK
Extraction du product et parts catia vers Excel : OK
Ajout des nouveaux noms dans la colonne "O"
Import des nouveaux noms : Echec
Sauriez vous d’où vient le problème ?
Merci
J'ai récupéré la macro de lumpazepfel mais l'import des nouveaux noms ne se fait pas
Config :
Catia V5 R19
Excel 2007 SP3
References : Microsoft Excel 12.0 Object Library
Macro utilisée :
Celle postée par lumpazepfel le 22 Nov 2017 - 13:03 dans les réponses Page 1
Étapes :
Lancement macro : OK
Ouverture Excel : OK
Extraction du product et parts catia vers Excel : OK
Ajout des nouveaux noms dans la colonne "O"
Import des nouveaux noms : Echec
Sauriez vous d’où vient le problème ?
Merci
Johndoe- timide
- Messages : 5
Date d'inscription : 03/04/2023
Localisation : France
Re: Export propriétés CATIA vers Excel et vice-versa
Il faudrait un peu plus de contexte, tu peux nous fournir un screen de ton erreur ? Déjà on peux voir que tu utilises un CATIA pas tout jeune, n'ayant jamais travailler avec cette version si un problème vient de là je ne saurais pas t'aider.
Mais lors de l'erreur tu peux monter la ligne posant problème ?
Mais lors de l'erreur tu peux monter la ligne posant problème ?
Liocco08- actif
- Messages : 39
Date d'inscription : 07/04/2022
Localisation : Toulouse
Re: Export propriétés CATIA vers Excel et vice-versa
Salut John,
Il faudrait effectivement plus d'info sur l'erreur.
Je refais le test et ça fonctionne.
Il faut laisser le PartNumber initial dans la colonne A.
As tu bien décommenté la ligne:
Il faudrait effectivement plus d'info sur l'erreur.
Je refais le test et ça fonctionne.
Il faut laisser le PartNumber initial dans la colonne A.
As tu bien décommenté la ligne:
- Code:
oInProduct.PartNumber = myWorksheet.Range("O" & line).Value '--> pour modifier le PartNumber
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
Re: Export propriétés CATIA vers Excel et vice-versa
Salut,
Merci pour vos réponses, l'erreur venait d'une incohérence entre le nom dans ma feuille Excel et les éléments traités dans CATIA, c'est ma faute cela venait d'une mauvaise manip.
Après avoir "décommenté" la ligne pour modifier le PartNumber cela fonctionne.
Merci pour vos réponses, l'erreur venait d'une incohérence entre le nom dans ma feuille Excel et les éléments traités dans CATIA, c'est ma faute cela venait d'une mauvaise manip.
Après avoir "décommenté" la ligne pour modifier le PartNumber cela fonctionne.
Johndoe- timide
- Messages : 5
Date d'inscription : 03/04/2023
Localisation : France
Page 2 sur 2 • 1, 2
Sujets similaires
» Export Excel des masses des pièces d'un produit selon son filtre
» Export de la liste des pièces avec longueur, largeur, épaisseur ... (nomenclature) vers Excel
» Macro CATIA vers Excel
» Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs
» Macro export cartouche dans Excel
» Export de la liste des pièces avec longueur, largeur, épaisseur ... (nomenclature) vers Excel
» Macro CATIA vers Excel
» Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs
» Macro export cartouche dans Excel
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum