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
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