Copie feuille sans formule

D

dominique

Guest
Salut à tous !

J'ai un petit souci, je cherche à copier des feuilles vers un autre classeur en enlevant les formules mais en gardant les valeurs et les formats.

Le problème est le suivant :

J'arrive à copier des feuilles vers un classeur mais les formules sont gardées
j'arrive a copier des cellules que avec valeurs vers une autre feuille mais pas une feuille entière

Donc si quelqu'un aurait une macro pour me copier les valeurs et formats de feuilles vers un classeur ca serait super sympa parceque je suis a court d'idées... :(

Merci a tous

a++
dom.
 
M

manuel

Guest
Bonjour Dominique,
Ca devrait marcher avec çà.
by
Manuel

Sub copie_valeurs_et_formats()
'
' Macro3 Macro
' Macro enregistrée le 28/07/2003 par Manuel GARRIDO
'

'
Sheets("Feuil1").Select
Cells.Copy
worksbooks("classeur2").Sheets("Feuil1").Select
Cells.PasteSpecial Paste:=xlPasteValues
Cells.PasteSpecial Paste:=xlPasteFormats
End Sub
 
D

dominique

Guest
hum, je ne comprends pas chez moi avec un workbooks("Classeur").Sheets("Feuill1").Select il me sort que un select de la classe range a échoué alors que j'ai bien mon bon classeur avec les bonnes feuilles et que mes deux classeurs sont ouverts ... ??

De plus si je mets un Sheets("Feuill1").Select au lieu de worksbooks("classeur2").Sheets("Feuil1").Select, et bien il me fait tout bien sauf qu'il ne colle pas les valeurs et les formats sur ma feuill1 ....

Il doit y avoir un problème mais je ne sais pas lequel ... grrr;-)

a++
dom.
 
D

dominique

Guest
Alors j'ai adapté le code :

Sheets("Paris Isolé").Activate
Sheets("Paris Isolé").Range("A1:J25").Cells.Copy
'Workbooks("classeur").Sheets("Test").Select
Worksheets("Test").Activate

Sheets("Test").Range("A1:J25").Cells.PasteSpecial Paste:=xlPasteFormats
Sheets("Test").Range("A1:J25").Cells.PasteSpecial Paste:=xlPasteValues


Mais il me dit que "Cette opération requiert que les cellules fusionnés soient identiques" alors que la feuille de destination ou je copie est vierge et en plus je formate au préalable les cellules pr avoir une structure identique dans les deux feuilles avant de coller ... SVP, quelqu'un pour me dire ou j'ai faux ??

a++
dom.
 
J

Jean-Marie

Guest
Bonjour, Dominique et Manuel

Le jour de ton post, je pensais déjà à une chose, mais comme Manuel avait répondu, je ne suis pas intervenu.

Mais je vois que tu as un problème lié aux cellules fusionnées, en utilisant l'option masquée de l'onglet protection, de la boite de dialogue "format de celllule", et en protégeant la feuille. lors d'une copie et d'un collage total, les formules ne sont pas recopier, Excel ne met que les valeurs.
En copiant la totalité de la feuille sur une autre, les cellules fusionnées ne posent pas de problème (du moins quand ton le fait en manu).

Je viens de faire un enregistrer macro, (Moi le VBA j'y connais rien).

Sheets("Feuil1").Select
Cells.Select
Selection.Copy
worksbooks("classeur2").Sheets("Feuil1").Select
Cells.Select
ActiveSheet.Paste

J'espère avoir été assez explicite. Je vous souhaite une bonne journée

@+Jean-Marie
 
J

Jean-Marie

Guest
Re...

Dominique pourquoi veux tu "alors que la feuille de destination ou je copie est vierge et en plus je formate au préalable les cellules pr avoir une structure identique dans les deux feuilles avant de coller.", ne fait pas le formatage des cellules ni les des largeurs de colonnes, ni les hauteurs de lignes, laisse faire le copier/coller.

Le code d'origine était celui-là
Cells.Select
Selection.Copy
Workbooks.Add
Cells.Select
ActiveSheet.Paste


@+Jean-Marie
 
D

dominique

Guest
yep, je suis d'accord avec toi Jean-Marie j'ai deja testé ca marche bien mais le problème c'est qu'il me garde les formules et moi le fichier je dois l'envoyer a une autre personne donc, le lien va mourrir puisque cette personne n'aura pas le fichier correspondant.

J'ai trouvé une astuce relevant du système D mais ce n'est vraiment pas tre propre je trouve !
J'utilise a peu pres le bout de code que tu m'as proposé et je refais juste apres :

For i = 1 To xx Step 1
For j = 1 To xx Step 1
ActiveSheet.Cells(i, j).Formula = ActiveSheet.Cells(i, j).Value
Next j
Next i

ce qui me formatte toutes les formules et ne me laisse que les valeurs :)

ca ca marche mais c'est du bidouillage qui ralentit pas mal l'ordi donc a eviter le plus possible ...

a++
dom.
 
M

manuel

Guest
Bonjour à Dominique et Jean-Marie,


Dans ma 1ere macro je dois avoir fait une erreur de syntaxe avec workbooks (je l'ai rajouté au dernier moment)

Essaie donc avec workbooks("classeur2.xls") (j'av oublié le .xls)

Sub copie_valeurs_et_formats()
'
' Macro3 Macro
'
Sheets("Feuil1").Select
Cells.Copy
worksbooks("classeur2.xls").Sheets("Feuil1").Select
Cells.PasteSpecial Paste:=xlPasteValues
Cells.PasteSpecial Paste:=xlPasteFormats

End Sub

salut
 
J

Jean-Marie

Guest
Re...

Pour ne pas avoir les formules, je l'ai indiqué dans mon premier.

1) Sélectionne tes cellules avec les formules
2) Clique sur le menu Fomat/Cellule
3) dans la boîte de dialogue clique sur l'onglet Protection
4) coche l'option masquée
5) valide
6) clique sur le menu Outils/Protection/Protéger la feuille...
7) ne met pas de mot de passe, laisse les trois coches active
8) valide
9 lance ta macro

et tu verras que tu n'as pas besoin de recopier les formules par les valeurs

@+Jean-Marie
 

Discussions similaires

Réponses
6
Affichages
424

Statistiques des forums

Discussions
312 304
Messages
2 087 069
Membres
103 453
dernier inscrit
Choupi