colti Posté(e) le 29 février 2012 Posté(e) le 29 février 2012 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.ActiveDocumentSet osel = odrawing.SelectionDim inpsel(0)inpsel(0) = "DrawingTable" osel.Clearst = 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) NextNext End Sub Merci d'avance pour votre aide
mooneck Posté(e) le 29 février 2012 Posté(e) le 29 février 2012 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
colti Posté(e) le 1 mars 2012 Auteur Posté(e) le 1 mars 2012 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.ActiveDocumentSet osel = odrawing.SelectionDim inpsel(0)inpsel(0) = "DrawingTable"osel.Clearst = osel.SelectElement2(inpsel, "Selectionnez un tableau",False)Set DrwTbl = osel.Item(1).ValueSet myexcel = CreateObject("Excel.application" )Set myexcel = GetObject(, "Excel.Application") If Err.Number <> 0 Then ExcelWasNotRunning = TrueErr.ClearSet myexcel = GetObject("C:\Temp\P3.xls")myexcel.Application.Visible = Truemyexcel.Parent.Windows(1).Visible = TrueFor i = 1 To DrwTbl.NumberOfRowsFor 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) NextNext myexcel.Sheets.AddExcel_Renommer_sheet("Feuil3" & i) NextNext 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_sheetEnd WithSet 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 @+ .
mooneck Posté(e) le 1 mars 2012 Posté(e) le 1 mars 2012 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
colti Posté(e) le 5 mars 2012 Auteur Posté(e) le 5 mars 2012 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é
colti Posté(e) le 27 mars 2012 Auteur Posté(e) le 27 mars 2012 SAlut mooneck je n'y arrive pas pourrais tu me refiler ta macro stp
mooneck Posté(e) le 27 mars 2012 Posté(e) le 27 mars 2012 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
colti Posté(e) le 28 mars 2012 Auteur Posté(e) le 28 mars 2012 salut Mon adresse est colti.larit@laposte.net merci beaucoup
colti Posté(e) le 1 novembre 2013 Auteur Posté(e) le 1 novembre 2013 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
mooneck Posté(e) le 1 novembre 2013 Posté(e) le 1 novembre 2013 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 ColtiJ'ai retrouvé l'courriel que j'avais envoyé en 2012Je 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
Sandraux07 Posté(e) le 4 mai 2021 Posté(e) le 4 mai 2021 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.
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant