#1 Thu 13 August 2009 15:27
- slhomme
- Participant actif
- Date d'inscription: 5 May 2006
- Messages: 88
Ecrire dans feuilles excell
Bonjour,
Je cherche à transférer des données mapinfo sur différentes feuilles d'un même fichier excel qu eje pourrai ensuite ouvrir depuis Mapinfo.
Pour le moment j'exporte une table mapinfo en txt et je l'ouvre depuis Mapinfo avec ce code
Code:
' pour exporter la table [u]Export "ma_table1" Into chemin_export + "ma-table1.txt" Type "ASCII" Titles CharSet "WindowsLatin1" Overwrite ' pour ouvrir le fichier excel Run Program "C:\Program Files\Microsoft Office\Office12\EXCEL.exe C:\mon_chemi\ma-table1.txt"[/u]
ca fonctionne mais ca m'oblige à créer trois fichiers excel différents. Quelqu'un as t'il une idée pour exporter chacune des tables dans une feuille du même fichier excel ?
Merci d'avance de votre aide
Stéphane
ps : je travaille avec Mapinfo 9.5 et mapbasic 8.0
Hors ligne
#2 Thu 13 August 2009 15:56
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Ecrire dans feuilles excell
Bonjour
Je ne comprend pas l'interet de passer de mapinfo à excel pour stocker de l'information .
De plus la définition de la table de sera pas très simple, à chaque feuille, sa définition pour une seul nom de fichier
Hors ligne
#3 Thu 13 August 2009 16:09
- slhomme
- Participant actif
- Date d'inscription: 5 May 2006
- Messages: 88
Re: Ecrire dans feuilles excell
Bonjour
merci de votre réponse
L'intèrêt c'est de faire des calculs. excel est plus performants que mapinfo pour cela, surtout si ces tables sont destinées à des utilisateurs sachant manipuler excel et pas mapinfo....
X
De plus la définition de la table de sera pas très simple, à chaque feuille, sa définition pour une seul nom de fichier
Savez vous comment faire ?
Hors ligne
#4 Thu 13 August 2009 16:43
- Marc-André
- Participant assidu
- Lieu: Montréal
- Date d'inscription: 30 Sep 2005
- Messages: 688
Re: Ecrire dans feuilles excell
Bonjour,
Vous pouvez sélectionner ce que vous désirez dans MapInfo, puis faire un copier-coller de MapInfo vers Excel. Puisque vous pouvez coller où vous voulez, vous pouvez le faire sur des feuilles différentes.
Hors ligne
#5 Thu 13 August 2009 16:45
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Ecrire dans feuilles excell
Bonjour,
En fait il y a 2 solutions, la première réécrire complètement la partie d'export pour tout intégrer dans un seul fichier texte le tout dans une seule feuille du même classeur...
la deuxième nécessite de connaitre le vba Excel de créer un fichier Excel qui va contenir la macro qui va concatener les 3 fichiers exportés (dans la macro qui s'exécute à l'ouverture du classeur) ...
C'est la méthode en gros...
Hors ligne
#6 Thu 13 August 2009 17:29
- slhomme
- Participant actif
- Date d'inscription: 5 May 2006
- Messages: 88
Re: Ecrire dans feuilles excell
Merci A tous,
Marc André : si je programme en mabbasic c'est que les opérations peuvent être trés nombreuses donc le CC ne marche pas dans ce cas.
DAMIEN
En fait il y a 2 solutions, la première réécrire complètement la partie d'export pour tout intégrer dans un seul fichier texte le tout dans une seule feuille du même classeur...
Cela signifie t'il qu'il est impossible d'exporter différentes tables mapinfo dans différentes feuilles du même fichier excel ?
Sinon la seconde solution me paraît réalisable mais il faut que je me colle au vba...des idées du code de concaténation ?
Merci en tous cas de vos réponses
Stéphane
Hors ligne
#7 Thu 13 August 2009 21:40
- Marc-André
- Participant assidu
- Lieu: Montréal
- Date d'inscription: 30 Sep 2005
- Messages: 688
Re: Ecrire dans feuilles excell
Bonjour,
En effet, je ne prévoyais pas l'emploi du MapBasic pour la solution du copier-coller.
Hors ligne
#8 Thu 13 August 2009 22:37
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Ecrire dans feuilles excell
effectivement, vu la problématique la solution d'un seul fichier ne marche pas, à moins d'utiliser du VBA après pour répartir de nouveau les informations sur d'autres feuilles... (j'ai lu un peu rapidement la première foi il est vrai ...)
Puisque le choix du VBA est inévitable il vaut mieux tout exporter et ensuite tout importer dans une macro autoexecutable, à l'ouverture d'un classeur vide mais contenant juste la macro de démarrage, pour écrire cette macro, il faut enregistrer la macro en le faisant manuellement et ensuite de nettoyer le code..., car il peu être un peu lourd...
Enfin c'est comme ça que je procède c'est plus rapide... avec éventuellement une adaptation manuelle dans le cas de création de mise en page par exemple avec un nombre de ligne variable...
pour le reste écrire ce genre de code peu prendre un peu de temps quand même ...
Hors ligne
#9 Fri 14 August 2009 11:24
- slhomme
- Participant actif
- Date d'inscription: 5 May 2006
- Messages: 88
Re: Ecrire dans feuilles excell
Merci Damien,
Je vais donc opérer ce cette facon, pour le code vba je dervais me débrouiller avec un peu de temps. Il me reste cependant une question. Une fois les trois fichiers créés par mapbasic je voudaris que ma macro excel se lance aussi depuis mapbasic. Un code particulier pour cela ou je lance "normlement " (cf le code de mon premier message) le fichier excel qui contient la macro ?
Stéphane
Hors ligne
#10 Fri 14 August 2009 12:05
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Ecrire dans feuilles excell
Il existe des macros spéciales qui s'exécute dès l'ouverture du classeur, c'est la même méthode que celle permettant l'ouverture d'un fichier Excel nom de la macro auto_open sur le classeur que tu va ouvrir et qui va te servir à créer le classeur contenant tes 3 tables...
Si il faut passer par lien DDE, mais je trouve ça assez long...
Hors ligne
#11 Fri 14 August 2009 13:35
- slhomme
- Participant actif
- Date d'inscription: 5 May 2006
- Messages: 88
Re: Ecrire dans feuilles excell
Ok je vais voire ce que ca donne
merci à tous de votre aide.
Stéphane
Hors ligne
#12 Tue 18 August 2009 13:36
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Ecrire dans feuilles excell
Bonjour
Il y a moyen de lancer depuis MI une macro Excel.
Pour cela, il faut rendre la macro Excel autoexcécutable à l'ouverture du fichier, Workbook autoopen
puis dans le wor de MI lancer l'ouverture du fichier Excel avec une insturuction, call sheel appli excel mon fichier
En gros c'est comme cela que l'on doit faire, pour plus de détail , prévoir un p'tit délai !!
bonne journée et bon courage à tous !!!
Dernière modification par Olivier T (Tue 18 August 2009 13:37)
Hors ligne
#13 Wed 19 August 2009 11:12
- philmap
- Participant actif
- Date d'inscription: 27 Nov 2006
- Messages: 59
Re: Ecrire dans feuilles excell
Bonjour,
Je fais ce genre de choses en Visual basic en declarant un objet MapInfo et un objet Excel, je commande les 2 applications.
Hors ligne