CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

Export propriétés CATIA vers Excel et vice-versa

+5
lvalette
Spo
lumpazepfel
d.vincent567
CharlyDuclos
9 participants

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

Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par lumpazepfel Mar 11 Jan 2022 - 7:56

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
lumpazepfel
lumpazepfel
Fédérateur
Fédérateur

Messages : 316
Date d'inscription : 02/11/2015
Localisation : Ensisheim

davinsyncod aime ce message

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par Ethny Mar 11 Jan 2022 - 11:00

Bonjour Lumpazepfel,
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
et cela fonctionne!
Je comprends mieux pourquoi cela ne fonctionnait pas.
Merci encore!

Ethny
timide
timide

Messages : 3
Date d'inscription : 10/01/2022
Localisation : Toulouse

davinsyncod aime ce message

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par davinsyncod Jeu 3 Fév 2022 - 16:48

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.

davinsyncod
timide
timide

Messages : 5
Date d'inscription : 03/02/2022
Localisation : Lyon

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par lumpazepfel Jeu 3 Fév 2022 - 21:04

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:
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
lumpazepfel
Fédérateur
Fédérateur

Messages : 316
Date d'inscription : 02/11/2015
Localisation : Ensisheim

davinsyncod aime ce message

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par davinsyncod Ven 4 Fév 2022 - 10:26

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 :
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
timide

Messages : 5
Date d'inscription : 03/02/2022
Localisation : Lyon

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par lumpazepfel Ven 4 Fév 2022 - 17:00


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
lumpazepfel
Fédérateur
Fédérateur

Messages : 316
Date d'inscription : 02/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par davinsyncod Lun 14 Fév 2022 - 10:26

Heylo lumpazepfel,

entendu je vais voir comment procéder. Merci pour ton aide Exclamation
Cordialement.

David

davinsyncod
timide
timide

Messages : 5
Date d'inscription : 03/02/2022
Localisation : Lyon

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par davinsyncod Ven 25 Fév 2022 - 15:20

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

davinsyncod
timide
timide

Messages : 5
Date d'inscription : 03/02/2022
Localisation : Lyon

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par lumpazepfel Sam 5 Nov 2022 - 17:40

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.
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
lumpazepfel
Fédérateur
Fédérateur

Messages : 316
Date d'inscription : 02/11/2015
Localisation : Ensisheim

Liocco08 aime ce message

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par Johndoe Lun 3 Avr 2023 - 8:55

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

Johndoe
timide
timide

Messages : 5
Date d'inscription : 03/04/2023
Localisation : France

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par Liocco08 Lun 3 Avr 2023 - 10:53

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 ?

Liocco08
actif
actif

Messages : 39
Date d'inscription : 07/04/2022
Localisation : Toulouse

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par lumpazepfel Ven 14 Avr 2023 - 13:16

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:
Code:

    oInProduct.PartNumber = myWorksheet.Range("O" & line).Value '--> pour modifier le PartNumber
lumpazepfel
lumpazepfel
Fédérateur
Fédérateur

Messages : 316
Date d'inscription : 02/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par Johndoe Lun 17 Avr 2023 - 22:17

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.


Johndoe
timide
timide

Messages : 5
Date d'inscription : 03/04/2023
Localisation : France

Revenir en haut Aller en bas

Export propriétés CATIA vers Excel et vice-versa - Page 2 Empty Re: Export propriétés CATIA vers Excel et vice-versa

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

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

Revenir en haut

- Sujets similaires

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