Aller au contenu

coller ds un drafting un tableau excel en vba


Messages recommandés

Posté(e)

Bonjour à tous,

 

Comme bcp d'entre nous je dois créer une macro pour mon boulot.

 

Le sujet étant de créer les nomenclatures en automatique, j'ai créé une macro sous catia (vba)qui utilise la fonction nomenclature ; je crée un fichier excel que je manipule ensuite avec une macro excel afin d'obtenir la présentation de nos nomenclatures.je lance cette macro excel dans ma macro catia

 

Je veux ensuite copier le fichier excel et le coller dans une vue nomenclature que je crée ds le drawing.

 

1er pb : Tout est ok , jusqu'au fameux copier coller

 

2eme pb : si j'essaie de coller un tableau supérieur à 40 lignes , le tableau est tronqué, c du je crois à une interface API de windows.

est-il possible lors de ma macro excel de copier un morceau de mon tableau de le coller ds catia et de revenir à excel et de recoller ds catia etc ......

 

j'espere avoir été clair !

Posté(e)

Si tu as une variablme qui contient le nombre de ligne de ta nomenclature.

il suffit de sélectionner de la ligne

n=0

 

 
debut de boucle
___n=n+1
___sélectionner lignes n à n+40
___copier
___coller dans catia
boucler tant que nn <> nbre_de_ligne_total

Par contre concernant les commandes, je n'ai pas eu le temps de les vérifier

je ne sais pas si j'ai répondu a ta question ?

 

A mon tour de te poser une question : comment utilises tu la fonction nomenclature sous catia depuis le vba ?

 

Ton cas m'intersses car la nomenclature auto fait parti de mes projets futurs.

 

@+

 

[Edité le 28/9/2006 par mooneck]

Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif

Posté(e)

Petite précision supplémentaire,

 

pourquoi copie tu le fichier excel en tant qu'objet ole dans catia.

J'ai déja fait interagir du catia et du excel ensemble pour des tableaux de coordonnées de points, mais je reconstruis le tableau dans catia.

 

as tu des impératifs ou y at-il des avantages que je ne connais pas ?

 

 

Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif

Posté(e)

merci pour vos réponses, et excusez moi de ne pas répondre plus tot mais j'ai plein de taf autre que cette macro à mon grd désespoir !

 

Mooneck je t'enverrais demain le bout de macros pour les nomenclatures mais j'suis pas un pro en script ! c une des rares choses que catia te donne qd tu enregistres une macro.

 

 

En fait je dois sortir des nomenclatures sous format excel et sous catia.

 

J'utilise les propriétés "definition" , "description" des parts et d'autres que j'ai du créer par exemple "designation anglaise", j'utilise dans une macro la fonction "nom auto" de catia , où j'appelle toutes ces propriétés et j'enregistre tout ça en .XLS puis toujours de la macro catia j'ouvre ce fichier et lance une macro excel où je supprime plein de lignes vides ou inutiles, et je triture le tout pour obtenir la présentation de nos noms :

 

 

repere ! qté ! nom de la piece en fr. et en ang. l'un en dessous de l'autre ! norme !

 

Ayant fait ça je pensais qu'il serait simple de faire un copier coller dans une vue d'un drafting.

donc a la fin de la macro je copie une partie de la nomenclature

 

qd la macro excel est terminée, la macro catia reprend la main et c là que ça coince qd je veux coller ce qu'il y a ds le presse papiers

 

Mais la d'autre pb apparaissent : je ne peux pas faire un copier coller de plus de 70 lignes sinon le tableau est tronqué. (API windows qui alloue un mini de mémoire d'apres Dassault)

et il faut gérer les formats aussi (A4 A3 etc....)

 

sinon, je ne vois pas comment obtenir ça en utilisant la fonction analyse de nomenclatures, le format des nom auto est pas configurable ou trés peu, et il n'est pas enregistrable. j'ai lu ds ce forum qu'on pouvait modifier la largeur des colonnes et leur nom ds des ptits fichiers mais j'ai pas regardé pour l'instant.

 

Je suppose que c faisable par une macro dans catia, mais là faut que je cherche

 

 

Posté(e)

Pour ton probleme de copier coller, tu peux essayer de contourner le probleme en lisant la nomenclature excel depuis catia et de mettre toute la nomenclature dans des variables tableau.

une fois que la lecture est faite, tu n'a plus qu' a analyse quel format tu as en cours (ce qui te donne le nombre de lignes maxi a respecter), puis tu crée ton ou tes tableaux.

 

voici mon mail si tu veux m'envoyer un peu de code d'exemple mooneck

 

Merci d'avance

 

 

 

[Edité le 3/10/2006 par mooneck]

Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif

  • 3 semaines après...
Posté(e)

Dsl pour le retard!

 

Comme promis

 

'Gestion du format de la feuille

 

'format du calque courant (B2, B3, B4, B5 et A0 à A4)

 

SheetFormat = DrwSheet.PaperSize

 

If SheetFormat < 2 Then

MsgBox "Format de papier inconnue" & Chr(10) & "Vous devez entrer les valeurs des paramètres manuellement!", 48, "Attention"

End If

 

If SheetFormat > 1 And SheetFormat < 7 Then

Format = "A" & CStr(SheetFormat - 2)

End If

 

If SheetFormat = 13 Then 'User defined format

If Height = 841 And Width = 1189 * 2 Then

Format = "B2"

ElseIf Height = 841 And Width = 1189 * 3 Then

Format = "B3"

ElseIf Height = 841 And Width = 1189 * 4 Then

Format = "B4"

ElseIf Height = 841 And Width = 1189 * 5 Then

Format = "B5"

Else

MsgBox "Taille de papier sélectionnée inconnue" & Chr(10) & "Vous devez entrer la valeur du paramètre manuellement.", 48, "Attention!"

End If

End If

 

If Format = "A0" Or Format = "B2" Or Format = "B3" Or Format = "B4" Or Format = "B5" Then

Format_coeff = 1.54

Else

Format_coeff = 1

End If

 

[Edité le 19/10/2006 par chucky]

Chucky

  • 4 semaines après...
Posté(e)

Bonjour à tous,

 

je vois que la génération de nomenclature automatique n'occuppe pas que moi ça me rassure;

 

voila un petit bout de code qui pourra peut être aider certains; il permet de configurer les champs de la nomenclature Catia car un des défauts de Catia est qu'on ne peut pas sauvegarder une configuration de nomenclature. Il faut re configurer à chaque fois qu'on lance Catia don cette macro ca se fait facilement...

 

 

Language="VBSCRIPT"

 

Sub CATMain()

 

Set productDocument1 = CATIA.ActiveDocument

 

Set product1 = productDocument1.Product

 

Set assemblyConvertor1 = product1.GetItem("BillOfMaterial")

 

Dim arrayOfVariantOfBSTR1(5)

arrayOfVariantOfBSTR1(0) = "Codification"

arrayOfVariantOfBSTR1(1) = "Référence"

arrayOfVariantOfBSTR1(2) = "Numéro"

arrayOfVariantOfBSTR1(3) = "Quantité"

arrayOfVariantOfBSTR1(4) = "Référence produit"

arrayOfVariantOfBSTR1(5) = "Fournisseur/Fabricant"

assemblyConvertor1.SetCurrentFormat arrayOfVariantOfBSTR1

 

msgbox ("Le paramétrage est terminé vous pouvez désormais générer des nomenclatures")

End Sub

 

 

 

Il faut exécuter cette macro quand un fichier CatProduct est actif pour que le paramétrage ait lieu.

Les colonnes des nomenclatures générées seront Codification, Référence ...

Certianes de ces colonnes correspondent à des champs de base des proriétés Catia et d'autres sont des champs que je rajoute dans mes pièces et assemblages.

 

Espérant avoir été clair et utile...

 

Olivier

Posté(e)

Salut moucr (et les autres)

 

je suis également intéressé par ton code si tu es prêt à le partager merci de me l'envoyer :

 

olivierblanc_09@voila.fr

 

par avance merci

 

Olivier

  • 2 ans après...
Posté(e)

Bonjour à tous,

 

Ce sujet est arrété depuis un petit moment mais on ne sait jms...

 

Où en est le problème de moucr afin de copier une selection excel vers Catia ??

 

Je rencontre exactement le meme problème, est-ce qu'une solution a été trouvée depuis 3 ans ??!

 

Ma question est comment faire le lien entre la selection effectuée dans la macro Excel lancée à partir de la macro Catia et cette dernière ?

 

Si qq'un connait la réponse, j'en serais très heureux !!

 

A+

 

Xav

  • 1 mois après...
Posté(e)

Bonjour,

 

nouvelle question : comment demander dans mon code l'ouverture du fichier Excel créé lors de la nomenclature Catia ?

à la manière de ce qu'on fait pour un fichier Excel : Excel.Visible = True

 

que faut-il écrire suite à cette ligne ?

 

assemblyConvertor1.[Print] "XLS", "C:\Documents and Settings\...\NOMENCLATURE.xls", product1

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é