Recuperer les donnees d un .exe sur un fichier Excel .xls
Bonjour tout le monde,
Voici mon probleme, je recois par mail un executable .exe contenant des donnees que je veux recuperer sur excel.
Comment puis je transformer ce .exe en une feuille excel contenant toutes mes donnees.
La solution que j utilise en ce moment est assez complique
J utilise des .bat pour transformer mon .exe en zip puis je sais pas trop ce qui se passe j ai l impression que le .bat suivant le transforme en txt et derriere j ai une requete sql sur access qui m affiche toutes mes donnees. j ai plus qu a convertir en excel et j ai mon fichier sur excel mais j aimerai evite d avoir a faire tout ca et juste passer de mon point exe au .xls
voila voili, desole pour l ecriture, surtout les accents, mais suis sur un clavier francais en langage qwerty et c est bien chiant.
Merci par avance
Bonjour MojitoDu75,
Je ne t'apprends rien en te rappelant qu'un exe n'est pas un fichier excel. Il est parfois difficile d'ouvrir un vieux fichier excel avec Excel, alors ouvrir un exe...
Tes fichiers bat, ils viennent d'où? Il y a quoi dedans?
Tes fichiers exe, ils sont écrits en quel langage? Ils se connectent à une BDD?
Peux-tu copier coller le code des bat ici, en le mettant bien entre les balises prévues à cet effet.
Bonjour d3d9x,
En gros, tous les jours je recois ce point exe, je sais pas trop en quel langage il est ecrit car quand je l ouvre la fenetre reste une micro seconde puis se referme, il contient quelques milliers de lignes d information.
Pour les .bat j en ai 6 .
@echo OFF
call D:\XXX\import\jobs\setXXXImportEnvironmentVariables.bat
@echo -------------------------------------------------------------------------------
@echo Unzipping XXX files
@echo -------------------------------------------------------------------------------
FOR %%A IN (%XXXInbox%\*.exe) DO call %XXXUnzipScript% %%~nA
@echo -------------------------------------------------------------------------------
@echo XXX Files are unzipped
@echo -------------------------------------------------------------------------------
@echo ONCe premier dezippe le fichier
@echo OFF
call D:\XXX\import\jobs\setXXXImportEnvironmentVariables.bat
@echo -------------------------------------------------------------------------------
@echo Sending Unzipped XXX files
@echo -------------------------------------------------------------------------------
FOR %%A IN (%XXXOutbox%\*.txt) DO %XXXSendScript% %%~nA
@echo -------------------------------------------------------------------------------
@echo XXX Files sent
@echo -------------------------------------------------------------------------------
@echo ONle deuxieme envoie ce zip mais je comprends pas ou
@echo -------------------------------------------------------------------------------
@echo Setting variables
@echo -------------------------------------------------------------------------------
K:
SET XXXInbox=D:\XXX\import\transformation\inbox
SET XXXOutbox=D:\XXX\import\transformation\outbox
SET XXXSent=D:\XXX\import\transformation\sent
SET XXXTemp=D:\XXX\import\transformation\temp
SET XXXTrash=D:\XXX\import\transformation\trash
SET XXXTextFileAlternateDestination=W:\CCC
SET XXXFtp=D:\XXX\import\transformation\ftp
SET XXXFtpNetworkDirectory=\\euftp1.blabla.com\ftpserver\XXX
SET XXXFtpSite=ftp3.blabla.com
SET XXXFtpUserName=XXX
SET XXXFtpPassword=secret
SET XXXUnzipScript=D:\XXX\import\jobs\UnzipSingleInstance.bat
SET XXXSendScript=D:\XXX\import\jobs\SendSingleInstance.bat
SET XXXSendApp=D:\XXX\import\bin\SendMail.exe
SET XXXZipApp="%PROGRAMFILES%\7-Zip\7z.exe"
SET XXXMailMessageFrom= unmail
SET XXXMailMessageTo=un autre mail
SET XXXMailMessageSubject=Fichier XXX
SET XXXMailSmtpServer=smtp.mail.site.fr
SET XXXMailSmtpServerLogin= secret
SET XXXMailSmtpServerPassword=secret
SET XXXMailSmtpServerSSL=false
IF NOT EXIST %XXXInbox% mkdir %XXXInbox%
IF NOT EXIST %XXXOutbox% mkdir %XXXOutbox%
IF NOT EXIST %XXXSent% mkdir %XXXSent%
IF NOT EXIST %XXXTemp% mkdir %XXXTemp%
IF NOT EXIST %XXXTrash% mkdir %XXXTrash%
IF NOT EXIST %XXXFtp% mkdir %XXXFtp%
@echo Variables are setle 3 je comprends pas grand chose j ai l impression qu il envoie automatiquement le mail ou quoi ? j en ai un autre qui a le meme code , mot pour mot excepte le K: qui devient W: CD\CCC
Les deux derniers .bat sont UnzipSingleInstance.bat et SendSingleInstance.bat
rem parameter %1 should look like CCC11111111111
SET InitialDirectory=%CD%
SET XXXExecutable=%XXXInbox%\%1.exe
SET XXXTrashedExecutable=%XXXTrash%\%1.exe
SET XXXExecutableWithParameters=%XXXExecutable% -pass=microccc -overwrite
SET XXXTempTextFile=%XXXTemp%\%1.txt
SET XXXTextFile=%XXXOutbox%\%1.txt
SET XXXTrashedTempTextFile=%XXXTrash%\%1.txt
SET XXXTempZippedFile=%XXXTemp%\%1.zip
SET XXXFile=%XXXOutbox%\%1.zip
SET XXXFtpScript=%XXXFtp%\%1.ftp
@echo -------------------------------------------------------------------------------
@echo Moving to %XXXTemp%
@echo -------------------------------------------------------------------------------
cd %XXXTemp%
@echo done
@echo -------------------------------------------------------------------------------
@echo Unzipping %XXXExecutable% to %XXXTemp%
@echo -------------------------------------------------------------------------------
%XXXExecutableWithParameters%
@echo -------------------------------------------------------------------------------
@echo Checking file name
@echo -------------------------------------------------------------------------------
IF NOT EXIST %XXXTempTextFile% FOR %%A IN (%AXXXTemp%\URL*.txt) DO SET XXXTempTextFile=%%~fA
rem alernate would be: move /Y %%~fA %XXXTempTextFile%
@echo -------------------------------------------------------------------------------
@echo Normalizing Line endings on %XXXTempTextFile%
@echo -------------------------------------------------------------------------------
D:\XXX\import\bin\SearchAndReplaceTextFileContents.exe -encoding:windows-1252 -line-endings:dos %XXXTempTextFile%
rem @echo.
rem @echo -------------------------------------------------------------------------------
rem @echo Zipping %XXXTempTextFile% to %XXXTempZippedFile%
rem @echo -------------------------------------------------------------------------------
rem FOR %%A IN (%XXXTempTextFile%) DO %XXXZipApp% a -tzip -mx=9 %1.zip %%~nA%%~xA
rem @echo.
rem @echo -------------------------------------------------------------------------------
rem @echo Moving %XXXTempZippedFile% to %XXXFile%
rem @echo -------------------------------------------------------------------------------
rem move /Y %XXXTempZippedFile% %XXXFile%
@echo.
@echo -------------------------------------------------------------------------------
@echo Moving %XXXTempTextFile% to %XXXTextFile%
@echo -------------------------------------------------------------------------------
move /Y %XXXTempTextFile% %XXXTextFile%
@echo.
rem @echo -------------------------------------------------------------------------------
rem @echo Creating ftp script for temp text file
rem @echo -------------------------------------------------------------------------------
rem @echo OPEN %XXXFtpSite%> %XXXFtpScript%
rem @echo %XXXFtpUserName%>> %XXXFtpScript%
rem @echo %XXXFtpPassword%>> %XXXFtpScript%
rem @echo LCD %XXXOutbox%>> %XXXFtpScript%
rem @echo QUOTE PASV>> %XXXFtpScript%
rem @echo QUOTE REST 0>> %XXXFtpScript%
rem @echo QUOTE TYPE I>> %XXXFtpScript%
rem @echo QUOTE STOR %1.txt>> %XXXFtpScript%
rem @echo QUIT>> %XXXFtpScript%
@echo.
@echo -------------------------------------------------------------------------------
@echo Copying %XXXTextFile% to %XXXTextFileAlternateDestination%
@echo -------------------------------------------------------------------------------
IF EXIST %XXXTextFile% FOR %%A IN (%XXXTextFile%) DO xcopy /D /F /S /V /Y /Z %%~fA %XXXTextFileAlternateDestination%\*.*
@echo.
@echo -------------------------------------------------------------------------------
@echo Moving %XXXExecutable% to %XXXTrashedExecutable% if %XXXTextFile% exists
@echo -------------------------------------------------------------------------------
IF EXIST %XXXTextFile% move /Y %XXXExecutable% %XXXTrashedExecutable%
@echo done
@echo -------------------------------------------------------------------------------
@echo Moving back to %InitialDirectory%
@echo -------------------------------------------------------------------------------
cd %InitialDirectory%
@echo donerem parameter %1 should look like CCC11111111111
SET XXXFileInQueue=%XXXOutbox%\%1.zip
SET XXXTextFile=%XXXOutbox%\%1.txt
SET XXXFileSent=%XXXSent%\%1.zip
SET XXXTextFileSent=%XXXSent%\%1.txt
SET XXXFtpScript=%XXXFtp%\%1.ftp
SET XXXFtpLog=%XXXFtp%\%1.log.txt
SET XXXTrashedFtpScript=%XXXTrash%\%1.ftp
@echo -------------------------------------------------------------------------------
@echo Copying %XXXTextFile% to %XXXFtpNetworkDirectory%
@echo -------------------------------------------------------------------------------
rem deactivated on 2007-01-01 on Name's request at 17:30
rem xcopy /D /F /S /V /Y /Z %XXXTextFile% %XXXFtpNetworkDirectory%\*.*
rem @echo -------------------------------------------------------------------------------
rem @echo Executing ftp script %XXXFtpScript%
rem @echo -------------------------------------------------------------------------------
rem IF EXIST %XXXFtpScript% ftp -s:%XXXFtpScript% > %XXXFtpLog%
@echo -------------------------------------------------------------------------------
@echo Sending %XXXFileInQueue% from %XXXMailMessageFrom% to %XXXMailMessageTo% using server %XXXMailSmtpServer%
@echo -------------------------------------------------------------------------------
IF EXIST %XXXFileInQueue% %XXXSendApp% -from %XXXMailMessageFrom% -to %XXXMailMessageTo% -subject "%XXXMailMessageSubject% %1.zip" -smtp-server %XXXMailSmtpServer% -smtp-login %XXXMailSmtpServerLogin% -smtp-password %XXXMailSmtpServerPassword% -smtp-ssl %XXXMailSmtpServerSSL% -attach %outbox% %XXXFileInQueue%
@echo -------------------------------------------------------------------------------
@echo moving %XXXFileInQueue% to %XXXFileSent%
@echo -------------------------------------------------------------------------------
move /Y %XXXFileInQueue% %XXXFileSent%
@echo -------------------------------------------------------------------------------
@echo moving %XXXTextFile% to %XXXTextFileSent%
@echo -------------------------------------------------------------------------------
IF EXIST %XXXTextFile% move /Y %XXXTextFile% %XXXTextFileSent%
@echo -------------------------------------------------------------------------------
@echo moving %XXXFtpScript% to %XXXTrashedFtpScript%
@echo -------------------------------------------------------------------------------
IF EXIST %XXXFtpScript% move /Y %XXXFtpScript% %XXXTrashedFtpScript%la c est vraiment complique, je comprends plus grand chose. Il cree un txt ?
Du coup faut run 3 choses dans C/WINDOWS/Tasks DANS UN ORDRE PRECIS
Tout d abord je lance le premier qui utilise le 1er .bat ensuite le deuxieme utilise ce code en dessous
ECHO
w:
cd \ccc
del Vl.exp
del CCCTOT.TXT
ren CCCTOT*.txt XXXTOT.TXT
ren CCC*.txt Vl.exp
todos32 -u Vl.exp
del CCC*.* /q /f
ren XXXTOT.TXT CCCTOT.TXT
exittransformation txt ?
le 3eme run un exe mettant les valeurs contenus dans le .exe initial a jour.
les autres .bat je vois pas quand ils se lancent ? Peut etre via des appels entre eux ?
apres avoir run tout ca j ouvre access via une requete qui me permet d avoir toutes mes lignes sur de donnes sur access et ensuite je convertis en excel
SELECT DISTINCT tblTempImportCCC.CodeLALALA AS AAA, CCCTOT.Nom_Part AS BBB, tblTempImportCCC.Date AS [DATE], [DD]/100 AS DDD, [EE]*1000 AS EEE, tblTempImportCCC.Np AS FFF, "GG" AS GGG
FROM CCCTOT INNER JOIN tblTempImportCCC ON CCCTOT.AAA = tblTempImportCCC.CodeLALALA
WHERE (((tblTempImportCCC.Date)>Now()-10) AND ((CCCTOT.Code)=50))
ORDER BY tblTempImportCCC.CodeLALALA, tblTempImportCCC.Date;Tes fichiers .bat font de très nombreuses opérations et sont assez balaises. Je n'ai pas les connaissances pour les décrypter, mais vu ton besoin il n'est PAS nécessaire de les décrypter. En effet tu veux récupérer les données, et non reproduire le processus!
Je te propose donc la chose suivante:
- à la main et grâce au logiciel 7Zip que tu dois avoir installé sur ton ordinateur, dézippe le fichier exécutable dans un dossier.
(clique droit -> 7 zip -> extraire vers "nom-de-ton-exe\"
- regarde à l'intérieur de ce dossier s'il contient des fichiers texte.
- ouvre ces fichiers texte et regarde si les données que tu souhaites afficher dans Excel y sont stockées.
Si elles y sont stockées, tente d'ouvrir le fichier texte avec Excel.
Coucou,
J ai regarde ca de plus pret ce matin et donc en gros j ai un fichier texte qui apparait dans un dossier. par contre a l interieur c est le bordel
Le texte commence par le mot *debut* et les donnees ne sont pas dans le bon ordre
Du coup quand je l exporte dans excel j ai deja pas mes titres de colonnes (lie a ma requete sur access) et les donnees ne sont pas dans l ordre, par exemple les noms des donnees sur les lignes du haut et tout les chiffres sur celles du bas
comment je fais passer ma requete access directement sur excel pour essayer avec elle ? avec la requete tu penses que ca peut s ouvrir correctement ?
Tu peux tout à fait faire ta requête Access dans Excel directement.
Et ainsi afin d'éviter de faire batch -> access -> exportation excel tu peux faire uniquement batch -> requête access dans Excel
Par contre on s'éloigne de ta question initiale qui était de faire exe -> excel.
Si après l'extraction manuelle, les données ne sont pas triées il suffit de les trier et le problème est réglé non?
Le problème des titres de colonne n'en est pas vraiment un si tu connais par avance le titre de chaque colonne!
Bonjour à tous,
Ne serait-ce point un fichier zippé autodécompactable ?
Qu'est-ce qui se passe si on lance l'exécution ?
Cordialement.
Je suis d accord avec toi d3d9xm on s eloigne de la question initiale mais je vois pas comment faire
J arrive pas a balancer ma requete sur excel, j aimerai bien soit la mettre automatiquement sur excel (si vous avez des pistes je prends) soit la transformer en code vba ?
je connais le titre de chaque colonne, je le code via vba ? comment trier mes donnees ?
A Ferrand, quand j ouvre le .exe la fenetre reste une micro seconde puis se referme,m je sais pas ou ce stock le zip mais il est transforme en txt via batch
Etant donné ce que tu m'as dit, il est possible que tes données soient placées de la manière suivante dans ton fichier texte:
donnée colonne 1 ligne 1
donnée colonne 1 ligne 2
donnée colonne 1 ligne 3
....... jusqu'à la ligne N
donnée colonne 2 ligne 1
donnée colonne 2 ligne 2
donnée colonne 2 ligne 3
....... jusqu'à la ligne N
donnée colonne 3 ligne 1
etc.....
Donc si tu sais le nombre de lignes, tu peux recréer ton tableau facilement.
Je suppose que tu vas me dire non, mais si possible peut-tu joindre le fichier texte?
PS: Pour vérifier mon hypothèse, il te suffit de faire une recherche de correspondance:
Où dans le fichier texte est stockée l'information:
ligne 2 colonne 1 -> ligne X
ligne 2 colonne 2 -> ligne Y
ligne 2 colonne 3 -> ligne Z
ligne 3 colonne 1 -> ligne X'
ligne 3 colonne 2 -> ligne Y'
ligne 3 colonne 3 -> ligne Z'
Bon j'ai compris pourquoi je pouvais rien faire, j'ai access et excel 2000 sur la machine virtuel sur laquelle je travaille donc c'etait pas possible de copier toutes les lignes dans l'excel en passant par la requete
j'ai reussi a transferer la requete sur excel mais elle prend le fichier en meme temps et va seulement a 30 000 lignes et des brouettes du coup je peux pas avoir toutes les données
je change lundi de version je reessayerai mais je peux pas t'envoyer le fichier, il est confidentiel :/
En gros j'ai genre
DEBUT00000000
00000FR0000000000UXXXXXXX SCVUXXXXXXX C LILILI BANK FRANCE LALALALA ASSET MANAGEMENT LOLOLOLO
ca c'est sur seulement 2 lignes du fichier txt, c'est sur la longueur et apres je pense que tu as raison car j'ai un endroit ou ca dit fin puis ca redit debut et la j'ai tout les chiffres
du coup je pense que la composition du fichier txt ne soit plus un probleme, faut que je vois si ma requete se fera lundi mais bon j'y crois pas trop
j'ai rename les données mais chaque variable represente une societe dans les lalala, lilili, lololo