Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/05/2011, 10h28   #1
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Par défaut Changer un format .xlsx en .xls par le code ?

Bonjour à tous,

Alors tout est dans le nom de la discussion, j'aimerais transformer un fichier xlsx avec une ou plusieurs feuilles en un fichier xls afin d'utiliser ensuite des méthodes d'extraction vers access (méthodes bien distinctes à mes structures de fichiers donc impossibles à changer ^^).

Est-ce que quelqu'un saurait si cela est possible ?

S'il n'y a pas de fonction prédéfinies, quelle serait la méthode?
Prendre l'ensemble des données, les stocker dans une table et les recoller dans un nouveau fichier? Puis supprimer l'ancien? Avec ADO, avec Do.cmd?

Voilà, discussion assez libre et pas urgente.

Merci pour vos réponses,

Cordialement,

Q.D.
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 11h22   #2
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour.

Pour transformer un xlsx en xls, il faut l'enregistrer dans ce dernier format.
  • Donc tu l'ouvres
  • Tu l'enregistres (SaveAs) avec l'argument FIleFormat = xlExcel8.

Ce changement de format entraîne généralement l'ouverture d'une boîte de dialogue qui dit que des infos vont être perdues (généralement mises en forme, du fait que les feilles sont plus petites en xls). A toit de voir si tu masques le alertes ou pas.

COrdialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h29   #3
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Donc ce serait ça ? :

Code :
1
2
3
4
5
Dim Obj as Object
Dim ObjWorkbook
Set Obj = createobject("Excel.Apllication")
Set ObjWorkbook = Obj.Workbooks.Open("C\FileName.xlsx")
ObjWorkbook.Saveas("C\FileName.xls")
Ou dans le mm genre mais qui fonctionnerait ^^
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 16h46   #4
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Bon le code que j'ai posté fonctionne mais a l'ouverture manuelle du fichier xls, j'ai juste un message pour me dire que le format a été changé un truc du genre.

Et avec ce genre de manip, travailler ensuite sur le fichier .xls ne pose pas de problème? Peut être juste pour le format des données ?

Merci.
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 17h31   #5
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Re,

Comme je te le disais dans mon message précédent, il faut préciser le format de fichier.
Code :
ObjWorkbook.Saveas "C\FileName.xls", xlExcel8
Cordialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 09h12   #6
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Ok, merci bcp, et bonne continuation ^^ !
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h59.


 
 
 
 
Partenaires

Hébergement Web