Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Export feuille en .csv

3 réponses
Avatar
larnoum
Bonjour,
J'ai un classeur (Excel97) avec deux feuilles : une qui est la base de
données (BdD_Observations) et une autre qui est le tableau croisé dynamique
(TCD_Observations), je souhaiterai exporter ma feuille "BdD_Observations" en
fichier .csv.
J'ai écris le code suivant :
Sub export()
Sheets("BdD_Observations").Select
Range("A2").Select
Selection.CurrentRegion.Select
ActiveWorkbook.SaveAs FileName:= _
"D:\donnees\Marculus\Requetes\Observations.csv", FileFormat:=xlCSV, _
CreateBackup:=False
End Sub
Ce qui fonctionne mais mon problème est que le nom de la feuille se trouve
être changé en "Observations", ce qui est normal puisque mon classeur n'est
plus un classeur Excel mais a pris le format csv.
Comment faire pour que je conserve le format xls.
Personnellement cela ne me pose pas de pb puisque à la fermeture il ne faut
pas enregistrer les modifications, mais cette application doit être donné à
d'autres utilisateurs (peu expérimenté) et là c'est une autre "paire de
manche".
Merci par avance pour votre aide.
--
Pierre

3 réponses

Avatar
titeuf24
Le plus simple ne serati-il pas de copier ta feuille en dehors du fichier xl
avant de la sauver en csv? Comme ca tu as les deux, le fichier en Xl et en csv


Bonjour,
J'ai un classeur (Excel97) avec deux feuilles : une qui est la base de
données (BdD_Observations) et une autre qui est le tableau croisé dynamique
(TCD_Observations), je souhaiterai exporter ma feuille "BdD_Observations" en
fichier .csv.
J'ai écris le code suivant :
Sub export()
Sheets("BdD_Observations").Select
Range("A2").Select
Selection.CurrentRegion.Select
ActiveWorkbook.SaveAs FileName:= _
"D:donneesMarculusRequetesObservations.csv", FileFormat:=xlCSV, _
CreateBackup:úlse
End Sub
Ce qui fonctionne mais mon problème est que le nom de la feuille se trouve
être changé en "Observations", ce qui est normal puisque mon classeur n'est
plus un classeur Excel mais a pris le format csv.
Comment faire pour que je conserve le format xls.
Personnellement cela ne me pose pas de pb puisque à la fermeture il ne faut
pas enregistrer les modifications, mais cette application doit être donné à
d'autres utilisateurs (peu expérimenté) et là c'est une autre "paire de
manche".
Merci par avance pour votre aide.
--
Pierre


Avatar
Garette
Bonjour,

Effectivement, dupliquer l'onglet semble etre ce qu'il y a de plus simple :

Sub export()
Application.ScreenUpdating = False
Sheets("BdD_Observations").Select
Sheets("BdD_Observations").Copy
ActiveWorkbook.SaveAs
Filename:="D:donneesMarculusRequetesObservations.csv", _
FileFormat:=xlCSV, CreateBackup:úlse, local:=True
ActiveWorkbook.Close SaveChanges:úlse
Application.ScreenUpdating = True
End Sub

Il n'est pas necessaire de mettre cette partie de code :
Range("A2").Select
Selection.CurrentRegion.Select

C'et tout l'onglet qui est enregistré en CSV


Application.ScreenUpdating = False => pour ne pas voir l'ecran clignoter.
Avatar
Garette
Re,

Le code de Garette fonctionne sauf qu'il a fallut que je supprime :
local:=true
Je crois que c'est lié à ta version d'Excel ;-)


Dans les versions qui supportent cette option, ça rend des services ;-)