OVH Cloud OVH Cloud

Sauvegarde d'un classeur sans formules

6 réponses
Avatar
Laurent S.
Bonjour,

Savez-vous s'il est possible de sauvegarder certains onglets d'un
classeur dans un autre classeur, en conservant la mise en forme mais en
remplaçant toutes les formules par les valeurs.

L'idée est de communiquer un classeur ne contenant que les résultats
mis en forme et non les formules ainsi que les données ayant été
utilisées pour y parvenir.

Merci de votre aide.

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

6 réponses

Avatar
isabelle
bonjour Laurent,

voici un exemple,

Sheets(Array("Feuil1", "Feuil3", "Feuil5")).Copy
For Each f In Sheets
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Next
ActiveWorkbook.SaveAs Filename:="Czaza.xls"

isabelle

"Laurent S." a
Avatar
anomymousA
bonjour,

en supposant que tu aies 2 feuilles à copier qui s'appellent titi et tata

tbl = Array("titi", "tata")

Set wbksource = ActiveWorkbook

Workbooks.Add

Set wbksauv = ActiveWorkbook

For I = LBound(tbl) To UBound(tbl)
wbksource.Sheets(tbl(I)).Cells.Copy
With wbksauv
.Sheets.Add after:=.Sheets(Sheets.Count)
With .ActiveSheet
.Name = wbksource.Sheets(tbl(I)).Name
.Cells.PasteSpecial xlValues
End With
End With
Application.CutCopyMode = False
Next

ActiveWorkbook.SaveAs "le nom du fichier de sauvegarde"

A+



Bonjour,

Savez-vous s'il est possible de sauvegarder certains onglets d'un
classeur dans un autre classeur, en conservant la mise en forme mais en
remplaçant toutes les formules par les valeurs.

L'idée est de communiquer un classeur ne contenant que les résultats
mis en forme et non les formules ainsi que les données ayant été
utilisées pour y parvenir.

Merci de votre aide.

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net




Avatar
anomymousA
bonjour,

il me semble, du moins sur mon micro (Xcel 2000) qu'il te manque une
instruction pour ne copier que les formules pour toutes les feuilles. En
effet sans le f.activate seule la feuille "Feuil1" fait une copie des
valeurs sur elle-même.en rajoutant f.activate comme suit dans ton code, ca
fonctionne par contre sans problèmes.

Sheets(Array("Feuil1", "Feuil3", "Feuil5")).Copy
MsgBox ActiveWorkbook.Name
For Each f In Sheets
f.Activate
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Next

A+


bonjour Laurent,

voici un exemple,

Sheets(Array("Feuil1", "Feuil3", "Feuil5")).Copy
For Each f In Sheets
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Next
ActiveWorkbook.SaveAs Filename:="Czaza.xls"

isabelle


Bonjour,

Savez-vous s'il est possible de sauvegarder certains onglets d'un
classeur dans un autre classeur, en conservant la mise en forme mais en
remplaant toutes les formules par les valeurs.

L'ide est de communiquer un classeur ne contenant que les rsultats
mis en forme et non les formules ainsi que les donnes ayant t
utilises pour y parvenir.

Merci de votre aide.

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net





Avatar
anomymousA
Oups, enlever le Msgbox Activeworkbook.name qui ne sert à rien

A+


bonjour,

il me semble, du moins sur mon micro (Xcel 2000) qu'il te manque une
instruction pour ne copier que les formules pour toutes les feuilles. En
effet sans le f.activate seule la feuille "Feuil1" fait une copie des
valeurs sur elle-même.en rajoutant f.activate comme suit dans ton code, ca
fonctionne par contre sans problèmes.

Sheets(Array("Feuil1", "Feuil3", "Feuil5")).Copy
MsgBox ActiveWorkbook.Name
For Each f In Sheets
f.Activate
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Next

A+


bonjour Laurent,

voici un exemple,

Sheets(Array("Feuil1", "Feuil3", "Feuil5")).Copy
For Each f In Sheets
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Next
ActiveWorkbook.SaveAs Filename:="Czaza.xls"

isabelle


Bonjour,

Savez-vous s'il est possible de sauvegarder certains onglets d'un
classeur dans un autre classeur, en conservant la mise en forme mais en
remplaant toutes les formules par les valeurs.

L'ide est de communiquer un classeur ne contenant que les rsultats
mis en forme et non les formules ainsi que les donnes ayant t
utilises pour y parvenir.

Merci de votre aide.

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net







Avatar
isabelle
tu as tout a fait raison, il manquait bien la commande f.Activate, merci pour le suivi.

isabelle

anomymousA a
Avatar
Laurent S.
Merci à tous les deux pour votre aide.

J'ai conservé l'exemple ci-dessous qui marche à merveille.


Encore merci pour votre temps consacré à mon problème.



anomymousA a formulé la demande :
bonjour,

en supposant que tu aies 2 feuilles à copier qui s'appellent titi et tata

tbl = Array("titi", "tata")

Set wbksource = ActiveWorkbook

Workbooks.Add

Set wbksauv = ActiveWorkbook

For I = LBound(tbl) To UBound(tbl)
wbksource.Sheets(tbl(I)).Cells.Copy
With wbksauv
.Sheets.Add after:=.Sheets(Sheets.Count)
With .ActiveSheet
.Name = wbksource.Sheets(tbl(I)).Name
.Cells.PasteSpecial xlValues
End With
End With
Application.CutCopyMode = False
Next

ActiveWorkbook.SaveAs "le nom du fichier de sauvegarde"

A+



Bonjour,

Savez-vous s'il est possible de sauvegarder certains onglets d'un
classeur dans un autre classeur, en conservant la mise en forme mais en
remplaçant toutes les formules par les valeurs.

L'idée est de communiquer un classeur ne contenant que les résultats
mis en forme et non les formules ainsi que les données ayant été
utilisées pour y parvenir.

Merci de votre aide.

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net