OVH Cloud OVH Cloud

Copie de classeur

7 réponses
Avatar
fredbzr
Bonjour à tous
Je voudrai simplement savoir comment faire pour copier un classeur sans les
formules et les macros
Merci
--


Fred

7 réponses

Avatar
Gwendal
Bonjour Fred

Si tu n'as à le faire qu'une seule fois, le plus simple pourrait être de
faire un copier / collage spécial - valeurs et format pour supprimer les
formules
et d'effacer le code dans VB pour les macros

"fredbzr" a écrit dans le message de news:
439167bd$0$29194$
Bonjour à tous
Je voudrai simplement savoir comment faire pour copier un classeur sans
les formules et les macros
Merci
--


Fred



Avatar
fredbzr
Bonjour Gwendal
malheureusement j'ai des mises à jour presque quotidiennes et une vingtaine
de feuilles dans le classeur
as-tu une autre idée
"Gwendal" a écrit dans le message de news:
43917928$0$21139$
Bonjour Fred

Si tu n'as à le faire qu'une seule fois, le plus simple pourrait être de
faire un copier / collage spécial - valeurs et format pour supprimer les
formules
et d'effacer le code dans VB pour les macros

"fredbzr" a écrit dans le message de news:
439167bd$0$29194$
Bonjour à tous
Je voudrai simplement savoir comment faire pour copier un classeur sans
les formules et les macros
Merci
--


Fred







Avatar
Gwendal
et bien, faire la même chose, mais en VB:
si tu ne maîtrises pas bien, tu peux déjà dégrossir avec l'enregistreur:
il ne te restera plus qu'à réaliser une boucle For pour traiter tes feuilles
une à une

"fredbzr" a écrit dans le message de news:
43918740$0$21284$
Bonjour Gwendal
malheureusement j'ai des mises à jour presque quotidiennes et une
vingtaine de feuilles dans le classeur
as-tu une autre idée
"Gwendal" a écrit dans le message de news:
43917928$0$21139$
Bonjour Fred

Si tu n'as à le faire qu'une seule fois, le plus simple pourrait être de
faire un copier / collage spécial - valeurs et format pour supprimer les
formules
et d'effacer le code dans VB pour les macros

"fredbzr" a écrit dans le message de news:
439167bd$0$29194$
Bonjour à tous
Je voudrai simplement savoir comment faire pour copier un classeur sans
les formules et les macros
Merci
--


Fred











Avatar
michdenis
Bonjour fredbzr,


Tu copies ces 2 procédures dans un module standard
du classeur à copier.

P.S. si tu as des cellules de ton classeur qui contiennent plus
de 910 caractères, la méthode Usedrange.value = usedrange.value
risque d'éprouver des difficultés ...!

'--------------------------------------------
Sub CopierClasseurSansFormulesEtCode()

Dim NomNouveauClasseur As String
Dim CheminNouveauClasseur As String

'Chemin du classeur actuel
CheminNouveauClasseur = ThisWorkook.Path & "" 'à définir
'Le nom du nouveau classeur
NomNouveauClasseur = "Denis.xls" 'à définir

'S'assure que le classeur actuel est à jour.
ThisWorkbook.Save

'Enregistre le classeur actuel sous un autre nom
ThisWorkbook.SaveAs CheminNouveauClasseur & NomNouveauClasseur

'enlève les formules des cellules de toutes les feuilles
For Each sh In ThisWorkbook.Worksheets
With sh.UsedRange
.Value = .Value
End With
Next

'efface la trace de tous les modules, formulaires et
'code contenu dans les modules feuilles.
SupprimeToutCodeEtFormulaire ThisWorkbook

End Sub
'--------------------------------------------

Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)

Dim VBComp As Object
Dim VBComps As Object

Set VBComps = Wk.VBProject.VBComponents

For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp

End Sub
'--------------------------------------------



Salutations!




"fredbzr" a écrit dans le message de news: 439167bd$0$29194$
Bonjour à tous
Je voudrai simplement savoir comment faire pour copier un classeur sans les
formules et les macros
Merci
--


Fred
Avatar
fredbzr
Bonjour Michdenis
Merci de t'être penché sur mon problème
j'ai mis la macro dans le module (il y avait déjà quelque chose)
j'ai changé : CheminNouveauClasseur = ThisWorkook.Path & "C:Documents and
SettingsfredMes documentsTravail" 'à définir
puis: NomNouveauClasseur = "Pour P.O" 'par ex
Lorsque je ferme mon classeur il n'y a pas de copie effectuée
Si je passe par enregistrer sous, rien n'a été effacé
Peux-tu me dire ce que je fais mal
merci d'avance
"michdenis" a écrit dans le message de news:
%23FT6n7A%
Bonjour fredbzr,


Tu copies ces 2 procédures dans un module standard
du classeur à copier.

P.S. si tu as des cellules de ton classeur qui contiennent plus
de 910 caractères, la méthode Usedrange.value = usedrange.value
risque d'éprouver des difficultés ...!

'--------------------------------------------
Sub CopierClasseurSansFormulesEtCode()

Dim NomNouveauClasseur As String
Dim CheminNouveauClasseur As String

'Chemin du classeur actuel
CheminNouveauClasseur = ThisWorkook.Path & "" 'à définir
'Le nom du nouveau classeur
NomNouveauClasseur = "Denis.xls" 'à définir

'S'assure que le classeur actuel est à jour.
ThisWorkbook.Save

'Enregistre le classeur actuel sous un autre nom
ThisWorkbook.SaveAs CheminNouveauClasseur & NomNouveauClasseur

'enlève les formules des cellules de toutes les feuilles
For Each sh In ThisWorkbook.Worksheets
With sh.UsedRange
.Value = .Value
End With
Next

'efface la trace de tous les modules, formulaires et
'code contenu dans les modules feuilles.
SupprimeToutCodeEtFormulaire ThisWorkbook

End Sub
'--------------------------------------------

Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)

Dim VBComp As Object
Dim VBComps As Object

Set VBComps = Wk.VBProject.VBComponents

For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp

End Sub
'--------------------------------------------



Salutations!




"fredbzr" a écrit dans le message de news:
439167bd$0$29194$
Bonjour à tous
Je voudrai simplement savoir comment faire pour copier un classeur sans
les
formules et les macros
Merci
--


Fred





Avatar
JLuc
*Bonjour fredbzr*,
As tu execute ces macros ? :')
Bonjour Michdenis
Merci de t'être penché sur mon problème
j'ai mis la macro dans le module (il y avait déjà quelque chose)
j'ai changé : CheminNouveauClasseur = ThisWorkook.Path & "C:Documents and
SettingsfredMes documentsTravail" 'à définir
puis: NomNouveauClasseur = "Pour P.O" 'par ex
Lorsque je ferme mon classeur il n'y a pas de copie effectuée
Si je passe par enregistrer sous, rien n'a été effacé
Peux-tu me dire ce que je fais mal
merci d'avance
"michdenis" a écrit dans le message de news:
%23FT6n7A%
Bonjour fredbzr,


Tu copies ces 2 procédures dans un module standard
du classeur à copier.

P.S. si tu as des cellules de ton classeur qui contiennent plus
de 910 caractères, la méthode Usedrange.value = usedrange.value
risque d'éprouver des difficultés ...!

'--------------------------------------------
Sub CopierClasseurSansFormulesEtCode()

Dim NomNouveauClasseur As String
Dim CheminNouveauClasseur As String

'Chemin du classeur actuel
CheminNouveauClasseur = ThisWorkook.Path & "" 'à définir
'Le nom du nouveau classeur
NomNouveauClasseur = "Denis.xls" 'à définir

'S'assure que le classeur actuel est à jour.
ThisWorkbook.Save

'Enregistre le classeur actuel sous un autre nom
ThisWorkbook.SaveAs CheminNouveauClasseur & NomNouveauClasseur

'enlève les formules des cellules de toutes les feuilles
For Each sh In ThisWorkbook.Worksheets
With sh.UsedRange
.Value = .Value
End With
Next

'efface la trace de tous les modules, formulaires et
'code contenu dans les modules feuilles.
SupprimeToutCodeEtFormulaire ThisWorkbook

End Sub
'--------------------------------------------

Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)

Dim VBComp As Object
Dim VBComps As Object

Set VBComps = Wk.VBProject.VBComponents

For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp

End Sub
'--------------------------------------------



Salutations!




"fredbzr" a écrit dans le message de news:
439167bd$0$29194$
Bonjour à tous
Je voudrai simplement savoir comment faire pour copier un classeur sans les
formules et les macros
Merci
--


Fred







--
JLuc

Pensez a regarder ces sites très bien fait, ce sont des mines de trucs
et astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS


Avatar
Pierre Archambault
Salut Fred

Essaie ceci:

Sélectionne toutes les feuilles de ton classeur (Bouton de droite sur un
onglet puis "Sélectionner toutes les feuilles").
En utilisant encore le bouton de droite sur les onglets des feuilles ainsi
sélectionnées, choisis "Déplacer ou copier".
Dans la boîte de dialogue, coche "Créer une copie" et choisis de déplacer
les feuilles sélectionnées vers "un nouveau classeur".

Voilà, les macros ne seront pas copiées. Ensuite tu ouvre ce nouveau
classeur, tu sélectionne toutes les feuilles et toutes les cellules (dans le
coin supérieur gauche de la feuille; entre le "A" et le "1") tu fais
"Édition | Copier" puis "Édition | Collage spécial | Valeurs". et tu cliques
sur OK.

Voilà les formules sont parties.

Bonne chance
Pierre


"fredbzr" a écrit dans le message de
news:439167bd$0$29194$
Bonjour à tous
Je voudrai simplement savoir comment faire pour copier un classeur sans
les

formules et les macros
Merci
--


Fred