Créer fichier .XLW en VBA

71caro Messages postés 17 Date d'inscription mercredi 20 octobre 2004 Statut Membre Dernière intervention 16 novembre 2007 - 16 nov. 2007 à 10:10
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 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.

Merci de l'aide que vous pourrez m'apportez.

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
71caro Messages postés 17 Date d'inscription mercredi 20 octobre 2004 Statut Membre Dernière intervention 16 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.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
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...

Amicalement,
Us.
0
71caro Messages postés 17 Date d'inscription mercredi 20 octobre 2004 Statut Membre Dernière intervention 16 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       
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
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 ?

Amicalement,
Us.
0
71caro Messages postés 17 Date d'inscription mercredi 20 octobre 2004 Statut Membre Dernière intervention 16 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.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
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"

=

Voilà...

Amicalement,
Us.
0
Rejoignez-nous