• Initiateur de la discussion Initiateur de la discussion GHISLAIN
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

GHISLAIN

XLDnaute Impliqué
bonjour a tous ,

j utilise un code ( merci a sontrealisateur) pour la copie et sauvegarde de document sans les formules automatiquement.

je souhaiterais ajouter a ce code une seconde feuille a copier , mais cette fois ci en gardant les formules de deux plage de cellule
la plage G12 a G20
et la plage U12 a U20 de la feuille code30


le code utilisé est le suivant :



Sub Prodcopie()

'copie du classeur nomé "ModeleSauvegardeProd.xls" et renomé en "copieclasseur.xls"
' la copie et la creation s'effectue sans ouvrir les classeurs

Dim filesys
Set filesys = CreateObject("Scripting.FileSystemObject")

' Vérification de l'existence du fichier modèle
If Not filesys.FileExists("C:\Production\Sauvegarde feuille Prod\NePasSupprimer\ModeleSauvegardeProd30.xls") Then
MsgBox "Fichier non trouvé !"
Exit Sub
End If

' Ouverture du fichier modèle
Workbooks.Open Filename:="C:\Production\Sauvegarde feuille Prod\NePasSupprimer\ModeleSauvegardeProd30.xls"

' Copie de la feuille "copieJour30" du fichier actuel dans le fichier modèle
ThisWorkbook.Sheets(Array("copiejour30")).Copy after:=ActiveWorkbook.Sheets(Sheets.Count)
ActiveSheet.Cells.Copy
ActiveSheet.Cells.PasteSpecial xlValues
Application.CutCopyMode = False

'feuille renomée avant sauvegarde du nouveau classeur
ActiveSheet.Name = ThisWorkbook.Sheets("copiejour30").Range("T2")
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoSelection


____________________________DE LA SECONDE FEUILLE "CODE30"________________________

ThisWorkbook.Sheets(Array("code30")).Copy after:=ActiveWorkbook.Sheets(Sheets.Count)
ActiveSheet.Cells.Copy
ActiveSheet.Cells.PasteSpecial xlValues
Application.CutCopyMode = False

' feuille renomée en "code30"
ActiveSheet.Name = "Code30"
On Error Resume Next

' Sauvegarde du nouveau classeur sous le nom contenu en cellule T2
ActiveWorkbook.SaveAs ("C:\Production\Sauvegarde feuille Prod\" & ThisWorkbook.Sheets("copiejour30").Range("T2") & ".xls")

'fermeture du classeur créé
ActiveWorkbook.Close

Exit Sub



c est cette partie que je ne parviens pas a modifier

____________________________DE LA SECONDE FEUILLE "CODE30"________________________

ThisWorkbook.Sheets(Array("code30")).Copy after:=ActiveWorkbook.Sheets(Sheets.Count)
ActiveSheet.Cells.Copy
ActiveSheet.Cells.PasteSpecial xlValues
Application.CutCopyMode = False

' feuille renomée en "code30"
ActiveSheet.Name = "Code30"
On Error Resume Next

je souhaiterais donc que la copie de cette s effectue comme la premiere(ce qui est fait actuellement ) , mais qu en complement , les formules des cellules G12 a G20 ainsi que les cellules, U12 a U20 soit sauvegardées aussi .


merci a tous de votre aide , en esperant avoir ete le plus clair possible
amicalement


ghislain
 
Re : copie avec formule

Bonjour
La copie
Range("C3😀3,C12😀12").Copy
Sheets("Feuil2").Range("a1").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False


pour faire apparaitre les formules

Sheets("Feuil2").Select
ActiveWindow.DisplayFormulas = True

a+
jp
 
Re : copie avec formule

Bonjour.
Avant la séquence Copy puis PasteSpecial xlValues les formules sont présentes.
Selon la structure de la feuille il pourrait être plus simple de ne figer que le reste.
Remarque: ExpressionRange.Copy: ExpressionRange.PasteSpecial xlValues
Peut s'écrire: With ExpressionRange: .Value = .Value: End With
À+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
2 K
Retour