Aller au contenu

Exporter tableau de CATIA vers EXCEL d'un fichier draw


Messages recommandés

Posté(e)

Bonjour a tous,

 

Je souhaiterai pourvoir exporter un tableau depuis une draw sur un fichier excel nommer P3 et ranger dans "C/temp/p3":

le code que j'utilise est le suivant :

Mon soucis est lorsqu'il ouvre le fichier excel il les ranges automatiquement dans la 1erfeuill du claseur ouvert

Ce que je souhaiterai c'est pouvoir le ranger sur une autre feuille exemple feuil2 ou feuil3 du claseur excel

la ligne qui me pose peut etre soucis est celle ci

(myexcel.ActiveSheet.Cells(i, j) = DrwTbl.GetCellString(i, j))

 

j'ai essayer plusieurs facon de tourner le Sheet mais sans succèes

 

le deuxieme soucis c'est qu'avce ce code je ne peut que seletionner une tableau

y at-il une facon de selectioner plusieurs tableau a la fois et de les exporter sur le fichier excel dit

 

 

Sub catmain()

 

Set odrawing = CATIA.ActiveDocument

Set osel = odrawing.Selection

Dim inpsel(0)

inpsel(0) = "DrawingTable"

 

osel.Clear

st = osel.SelectElement2(inpsel, "Selectionnez un tableau",False)

Set DrwTbl = osel.Item(1).Value

 

 

Set myexcel = CreateObject("Excel.application" )

Set myexcel = GetObject(, "Excel.Application")

 

 

 

If Err.Number <> 0 Then ExcelWasNotRunning = True

 

Err.Clear

 

Set myexcel = GetObject("C:\Temp\P3.xls")

 

myexcel.Application.Visible = True

 

myexcel.Parent.Windows(1).Visible = True

 

 

 

For i = 1 To DrwTbl.NumberOfRows

For j = 1 To DrwTbl.NumberOfColumns

myexcel.ActiveSheet.Cells(i, j) = DrwTbl.GetCellString(i, j)

Next

Next

 

End Sub

 

Merci d'avance pour votre aide

Posté(e)

 

 

 

Bonjour

 

 

Tu devrais essayer ceci, j'ai un peu la même macro et ca marche

 

' Tu ajoutes une sheet
myexcel.Sheets.Add


'Ensuite tu peux la renommer
Excel_Renommer_sheet("Tableau" & i)

 

 

Avec le sub ci dessous

 

 




Public Sub Excel_Renommer_sheet(Nom_sheet As String)




With Excel_Application
.ActiveWorkbook.ActiveSheet.Name = Nom_sheet
End 
With
Set MaFeuille = Excel_Application.ActiveWorkbook.Sheets(Nom_sheet)




End Sub


 

 

Voila, dis moi si ca répond a ton probleme.

 

 

Pour ton deuxieme point, il faut en fait que tu passe en revue toutes les vues de ton draw, puis pour chaque vue tu regardes si des tableaux son présent et pour chaque tableau présent tu ajoutes une sheet excel et tu exporte le tableau.

 

 

 

@+

 

 

 

 

 

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

Posté(e)

Bonjour mooneck,

 

j'ai essayer ce que tu ma dit en disposant les elements de cette facon dans la macro :

 

Sub catmain()

 

Set odrawing = CATIA.ActiveDocument

Set osel = odrawing.Selection

Dim inpsel(0)

inpsel(0) = "DrawingTable"

osel.Clear

st = osel.SelectElement2(inpsel, "Selectionnez un tableau",False)

Set DrwTbl = osel.Item(1).Value

Set myexcel = CreateObject("Excel.application" )

Set myexcel = GetObject(, "Excel.Application")

 

If Err.Number <> 0 Then ExcelWasNotRunning = True

Err.Clear

Set myexcel = GetObject("C:\Temp\P3.xls")

myexcel.Application.Visible = True

myexcel.Parent.Windows(1).Visible = True

For i = 1 To DrwTbl.NumberOfRows

For j = 1 To DrwTbl.NumberOfColumns

 

For i = 1 To DrwTbl.NumberOfRows

For j = 1 To DrwTbl.NumberOfColumns

myexcel.ActiveSheet.Cells(i, j) = DrwTbl.GetCellString(i, j)

Next

Next

 

myexcel.Sheets.Add

Excel_Renommer_sheet("Feuil3" & i)

 

Next

Next

 

End Sub

 

 

mais sa ne marche pas il me creer une autre feuille excel vide

Pour le sub il m'indique en rouge le with surligne:

je l'ai placer dans le ThisWorkbook fichier excel

 

Public Sub Excel_Renommer_sheet(Nom_sheet As String)

 

With Excel_Application

.ActiveWorkbook.ActiveSheet.Name = Nom_sheet

End

With

Set MaFeuille = Excel_Application.ActiveWorkbook.Sheets(Nom_sheet)

 

 

End Sub

 

 

le Sub je le met ou dans le ThisWorkbook du fichier excel P3 ou de la feuille 3 ?

 

 

Merci @+

.

Posté(e)

Bonjour,

 

 

En fait, il te manque quelques déclaration

 

Voici celle que j'ai concernant excel :

Option Explicit
Public Excel_Application As Excel.Application
Public MonClasseur As 
Excel.Workbook
Public MaFeuille As Excel.Worksheet
'

 

Il faut que tu adapte ces déclaratifs avec les noms de variables que tu as utilisé.

Ou que tu remplaces dans la sub : With Excel_Application par With myexcel

 

Ensuite, j'ai créé un module Pilotage_Excel dans lequel j'ai placé toutes les sub et function liées au manipulation d'excel et que tu peux appeler depuis les autres module et en l'occurence depuis la sub Catmain. Il ne faut pas oublié de déclarer les sub et function en public pour cela !

 

Bon courage

 

 

 

 

 

 

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

Posté(e)

Bonjour,

 

 

En fait, il te manque quelques déclaration

 

Voici celle que j'ai concernant excel :

Option Explicit
Public Excel_Application As Excel.Application
Public MonClasseur As 
Excel.Workbook
Public MaFeuille As Excel.Worksheet
'

 

Il faut que tu adapte ces déclaratifs avec les noms de variables que tu as utilisé.

Ou que tu remplaces dans la sub : With Excel_Application par With myexcel

 

Ensuite, j'ai créé un module Pilotage_Excel dans lequel j'ai placé toutes les sub et function liées au manipulation d'excel et que tu peux appeler depuis les autres module et en l'occurence depuis la sub Catmain. Il ne faut pas oublié de déclarer les sub et function en public pour cela !

 

Bon courage

 

Merci pour ton aide quand meme

j'y suis pas arriver

mais bon jvais perceveré

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

Bonjour Colti,

 

 

 

Donne moi ton adresse courriel, je te l'envoi.

 

@+

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

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

SAlut mooneck

 

sa va tu m'avais refiler une macro catvba ya quelque mois de sa

mais elle a un mot de passe que je ne retrouve plus

 

est ce qu'il serait possible de me renvoyer le mot de passe pour voir le code vba que tu as utiliser

 

merci d'avance

mon adresse mail a changer

c'est scud745@gmail.com

Posté(e)

SAlut mooneck

 

sa va tu m'avais refiler une macro catvba ya quelque mois de sa

mais elle a un mot de passe que je ne retrouve plus

 

est ce qu'il serait possible de me renvoyer le mot de passe pour voir le code vba que tu as utiliser

 

merci d'avance

mon adresse mail a changer

c'est scud745@gmail.com

 

Bonjour Colti

J'ai retrouvé l'courriel que j'avais envoyé en 2012

Je te le re transfere

 

bon courage

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

  • 7 ans après...
Posté(e)
On 01/03/2012 at 23:02, mooneck said:

Bonjour,

 

 

En fait, il te manque quelques déclaration

 

Voici celle que j'ai concernant excel :

 


Option Explicit
Public Excel_Application As Excel.Application
Public MonClasseur As 
Excel.Workbook
Public MaFeuille As Excel.Worksheet
'
 

 

 

Il faut que tu adapte ces déclaratifs avec les noms de variables que tu as utilisé.

Ou que tu remplaces dans la sub : With Excel_Application par With myexcel

 

Ensuite, j'ai créé un module Pilotage_Excel dans lequel j'ai placé toutes les sub et function liées au manipulation d'excel [url=https://www.picard-demenagement.fr/]déménagement Marseille[/url] et que tu peux appeler depuis les autres module et en l'occurence depuis la sub Catmain. Il ne faut pas oublié de déclarer les sub et function en public pour cela !

 

Bon courage

 

 

 

 

 

 

C'est vraiment sympa de nous avoir apporté toutes ces informations, mais j'ai peur d'oublier certains codes.

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é