71caro
Messages postés17Date d'inscriptionmercredi 20 octobre 2004StatutMembreDernière intervention16 novembre 2007
-
16 nov. 2007 à 10:10
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 2016
-
16 nov. 2007 à 16:51
Bonjour,
J'ai des fichiers excel de type XLS et je souhaiterais en VBA pouvoir selectionner certains d'entre eux et de les enregistrer sous un environnement de travail excel XLW.
Je sais comment le faire manuellement mais impossible de trouver comment automatiser ma procédure en VBA.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 16 nov. 2007 à 10:28
Lance l'enregistrement d'une nouvelle macro avant de faire l'opération manuellement.
Une fois l'opération finie, arrete l'enregistrement de la macro et va voir dans VBA, avec un peu de chance dans le code de la macro, tu auras le code à écrire pour réaliser cette opération depuis VBA
71caro
Messages postés17Date d'inscriptionmercredi 20 octobre 2004StatutMembreDernière intervention16 novembre 2007 16 nov. 2007 à 10:44
Merci pour cette idée mais j'ai déjà essayer et ça ne fonctionne pas !
Malheureusement, j'ai déjà fait beaucoup de recherches sur le net et je ne trouve aucun sujet à ce propos.
Alors si quelqu'un à une solution, ça me soulagerait.
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 16 nov. 2007 à 15:22
pourtant la procédure proposé par Casy fonctionne bien... Voici le code macro obtenu :
=
Sub Macro1()
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\Fordom\Mes documents\Classeur1.xlw", FileFormat:= _
xlExcel4Workbook, Password:="", WriteResPassword:="", ReadOnlyRecommended _
:=False, CreateBackup:=False
End Sub
=
ce qui a d'important à remarquer, c'est le paramètre :
FileFormat:= xlExcel4Workbook
En effet, enregistrer sous XLW, signifie qu'on utilise le format d'Excel 4.... c'est plutôt passé de mode ! m'enfin... et ne pas oublier d'adapter l'extension du fichier en conséquence...
71caro
Messages postés17Date d'inscriptionmercredi 20 octobre 2004StatutMembreDernière intervention16 novembre 2007 16 nov. 2007 à 15:47
En fait, je vais créer une procédure qui me permette d'ouvrir des fichier xls et de les regrouper en un fichier xlw.
Voici un exemple très basique de code qui va ouvrir les fichiers et créer un espace de travail :
----------------------------------------------------------------
'ouverture des fichiers
Workbooks.Open Filename:="c:\temp" & "a" & ".xls"
Workbooks.Open Filename:="c:\temp" & "b" & ".xls"
'save en espace de travail xlw
ActiveWorkbook.SaveAs Filename:= _
"C:\temp\Classeur.xlw", FileFormat:= _
xlExcel4Workbook, Password:="", WriteResPassword:="", ReadOnlyRecommended _
:=False, CreateBackup:=False
---------------------------------------------------------------
Le fichier Classeur.xlw est bien créé mais en fait le système se contente de copier le fichier b.xls et de le renommer en Classeur.xlw
Par conséquent, le fichier Classeur.xlw qui était censé être utilisé pour ouvrir en un clic 2 fichiers ne m'ouvre qu'un fichier correspondant au contenu de b.xls
Vous n’avez pas trouvé la réponse que vous recherchez ?
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 16 nov. 2007 à 16:27
Je vais peut-être dire une bêtise, mais XLW est un format plus ancien que XLS... qui admet qu'une seule feuille... En clair, je ne vois pas le rapport entre l'enregistrement sous le format XLW et le fait de vouloir regrouper plusieurs fichiers XLS... Voudrais-tu plutôt faire un dossier Office ?
71caro
Messages postés17Date d'inscriptionmercredi 20 octobre 2004StatutMembreDernière intervention16 novembre 2007 16 nov. 2007 à 16:33
Qu'entends tu par dossier Office ? Peut-etre que cela pourrait répondre à mon problème ...
Je veux trouver une solution qui me permette de lier plusieurs fichier xls pour les ouvrir en un seul clic.
Lorsque tu as plusieurs fichiers xls ouverts (a.xls + b.xls + c.xls) et que tu fais fichier-> Enregistrer un espace de travail : Excel va t'enregistrer un fichier xlw.
Ensuite, lorsque je vais cliquer sur mon fichier xlw, les 3 fichiers (a.xls + b.xls + c.xls) vont s'ouvrir.
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 16 nov. 2007 à 16:51
Oupsss... d'accord on ne parlait pas de la même chose... J'utilise peu (voir pas) l'espace de travail, donc l'extension n'étais pas venu à l'esprit... et effectivement l'extension d'un espace de travail est aussi XLW (bonjour la confusion...)...
Pour le code, il suffit d'utiliser ceci :
Application.Save Filename:="C:\Documents and Settings\Fordom\Mes documents\resume.xlw"
donc dans ton exemple, cela donne :
=
'ouverture des fichiers
Workbooks.Open Filename:="c:\temp" & "a" & ".xls"
Workbooks.Open Filename:="c:\temp" & "b" & ".xls"'save en espace de travail xlw
Application.Save Filename:="C:\Documents and Settings\Fordom\Mes documents\espace_perso.xlw"