OVH Cloud OVH Cloud

Exporter feuille vers un autre classeur

5 réponses
Avatar
Grégory
Bonjour,

J'ai mis en place une base de données sous Excel qui comporte plusieurs
feuilles et macros.
Je souhaite pouvoir exporter une de ces feuilles afin de divulguer /
archiver ma base à un instant donné.

Je me suis dans un premier temps servi de l'enregistreur de macros en
copiant la feuille désirée vers un "nouveau classeur" mais Excel génère alors
un message d'alerte ("certaines cellules contiennent plus de 255
caractères...") que j'ignore purement et simplement qd je manipule en direct,
mais qui fait planter ma macro lorsque j'automatise la manip.
J'ai donc tenté un vulgaire copier/coller mais Excel a fini par planter
après 5min de labeur...

Voici donc mes 2 questions:
- Existe-il un paramètre à indiquer pour éviter d'avoir le message d'erreur
décrit plus haut ou une méthode le contournant?
- Pour gagner du tps (et ne pas divulguer mon code!) je ne souhaite pas
copier mes macros lors de l'export: comment l'indiquer?

Encore une fois, merci d'avance pour votre réponse!

Grégory

5 réponses

Avatar
JB
Bonjour,

Peut être: Application.DisplayAlerts = False

Sheets("résultats").Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs répertoireAppli & "Resultats.xls"
ActiveWindow.Close

Cordialement JB
Avatar
Grégory
Merci pour votre réponse.

Malheureusement, cette solution ne fonctionne pas:
"Application.DisplayAlerts" repasse à "True" une fois le message d'erreur
affiché.

Malgré tout, la feuille est qd même copié vers un nouveau fichier. Il est
néanmoins impossible (avec mon code actuel du fait du message d'erreur!) de
sauver le fichier.

Grégory


Bonjour,

Peut être: Application.DisplayAlerts = False

Sheets("résultats").Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs répertoireAppli & "Resultats.xls"
ActiveWindow.Close

Cordialement JB




Avatar
Clément Marcotte
Bonjour,

Juste à ne pas utiliser les conneries intégrées d'Excel:

http://www.excelabo.net/xl/sortir.php#csv;,


"Grégory" a écrit dans le message de
news:
Bonjour,

J'ai mis en place une base de données sous Excel qui comporte plusieurs
feuilles et macros.
Je souhaite pouvoir exporter une de ces feuilles afin de divulguer /
archiver ma base à un instant donné.

Je me suis dans un premier temps servi de l'enregistreur de macros en
copiant la feuille désirée vers un "nouveau classeur" mais Excel génère
alors
un message d'alerte ("certaines cellules contiennent plus de 255
caractères...") que j'ignore purement et simplement qd je manipule en
direct,
mais qui fait planter ma macro lorsque j'automatise la manip.
J'ai donc tenté un vulgaire copier/coller mais Excel a fini par planter
après 5min de labeur...

Voici donc mes 2 questions:
- Existe-il un paramètre à indiquer pour éviter d'avoir le message
d'erreur
décrit plus haut ou une méthode le contournant?
- Pour gagner du tps (et ne pas divulguer mon code!) je ne souhaite pas
copier mes macros lors de l'export: comment l'indiquer?

Encore une fois, merci d'avance pour votre réponse!

Grégory


Avatar
JB
J'ai simulé l'export d'une feuille avec des cellules contenant plus de
255 car.
Dans le classeur crée, les cellules sont réduites à 255 car mais le
transfert de la feuille se passe bien.

http://cjoint.com/?dCvj4E5xB3

Sub export()
repertoire = ActiveWorkbook.Path
Sheets("export").Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs repertoire & "essai.xls"
ActiveWindow.Close
End Sub

JB
Avatar
Grégory
Bonjour,

Merci à tous pour votre aide.
Tout est rentré dans l'odre désormais, peut-être parce je ne fermais pas le
classeur après l'avoir sauvé (ca m'étonnerai qd même...).
C'est curieux, j'avais exactement le même code que toi JB!

Grégory


Bonjour,

Juste à ne pas utiliser les conneries intégrées d'Excel:

http://www.excelabo.net/xl/sortir.php#csv;,


"Grégory" a écrit dans le message de
news:
Bonjour,

J'ai mis en place une base de données sous Excel qui comporte plusieurs
feuilles et macros.
Je souhaite pouvoir exporter une de ces feuilles afin de divulguer /
archiver ma base à un instant donné.

Je me suis dans un premier temps servi de l'enregistreur de macros en
copiant la feuille désirée vers un "nouveau classeur" mais Excel génère
alors
un message d'alerte ("certaines cellules contiennent plus de 255
caractères...") que j'ignore purement et simplement qd je manipule en
direct,
mais qui fait planter ma macro lorsque j'automatise la manip.
J'ai donc tenté un vulgaire copier/coller mais Excel a fini par planter
après 5min de labeur...

Voici donc mes 2 questions:
- Existe-il un paramètre à indiquer pour éviter d'avoir le message
d'erreur
décrit plus haut ou une méthode le contournant?
- Pour gagner du tps (et ne pas divulguer mon code!) je ne souhaite pas
copier mes macros lors de l'export: comment l'indiquer?

Encore une fois, merci d'avance pour votre réponse!

Grégory