Enregistre certaine feuille de classeur
Résolu
juer31
Messages postés
120
Statut
Membre
-
Frenchie83 Messages postés 2254 Statut Membre -
Frenchie83 Messages postés 2254 Statut Membre -
Bonjour,
J'aimerais enregistrer certaine feuille seulement de mon classeur en créant une copie de celle ci.
Présentement je sauvegarde la feuille active "Données" mais je sais pas trop comment faire pour sauvegarder les deux autres feuilles. Soit feuille "coûts" et feuille "data"
Voici mon code
Sub ENREGISTRER()
'Macro par JUER
Dim extension As String
Dim chemin As String, nomfichier As String
Dim style As Integer
Application.ScreenUpdating = False
ThisWorkbook.ActiveSheet.Copy
extension = ".xlsx"
chemin = "G:\02 - DATA\" & Range("E9") & "\"
nomfichier = "Calcul - " & ActiveSheet.Range("E9") & " - " & Range("C9") & extension
With ActiveWorkbook
.ActiveSheet.DrawingObjects(1).Delete
.SaveAs Filename:=chemin & nomfichier
.Close
End With
End Sub
Merci
J'aimerais enregistrer certaine feuille seulement de mon classeur en créant une copie de celle ci.
Présentement je sauvegarde la feuille active "Données" mais je sais pas trop comment faire pour sauvegarder les deux autres feuilles. Soit feuille "coûts" et feuille "data"
Voici mon code
Sub ENREGISTRER()
'Macro par JUER
Dim extension As String
Dim chemin As String, nomfichier As String
Dim style As Integer
Application.ScreenUpdating = False
ThisWorkbook.ActiveSheet.Copy
extension = ".xlsx"
chemin = "G:\02 - DATA\" & Range("E9") & "\"
nomfichier = "Calcul - " & ActiveSheet.Range("E9") & " - " & Range("C9") & extension
With ActiveWorkbook
.ActiveSheet.DrawingObjects(1).Delete
.SaveAs Filename:=chemin & nomfichier
.Close
End With
End Sub
Merci
5 réponses
-
Bonjour
essayez ceci, (pas les moyens de tester)Sub ENREGISTRER() 'Macro par JUER Dim extension As String Dim chemin As String, nomfichier As String Dim style As Integer Application.ScreenUpdating = False ThisWorkbook.ActiveSheet.Copy extension = ".xlsx" ReDim chemin(3) As String ReDim nomfichier(3) As String For i = 1 To 3 chemin(i) = "G:\02 - DATA\" & Range("E9") & "\" nomfichier(i) = "Calcul - " & ActiveSheet.Range("E9") & " - " & Range("C9") & extension With ActiveWorkbook .ActiveSheet.DrawingObjects(1).Delete .SaveAs Filename:=chemin(i) & nomfichier(i) .Close End With Next i End Sub
Cdlt -
Bonsoir
Effacez la ligne suivanteDim chemin As String, nomfichier As String
Cdlt -
Bonjour
Essayez ceciSub ENREGISTRER() 'Macro par JUER Dim extension As String Dim style As Integer Application.ScreenUpdating = False ReDim chemin(3) As String ReDim nomfichier(3) As String For i = 1 To 3 ThisWorkbook.ActiveSheet.Copy extension = ".xlsx" chemin(i) = "G:\02 - DATA\" & Range("E9") & "\" nomfichier(i) = "Calcul - " & ActiveSheet.Range("E9") & " - " & Range("C9") & extension With ActiveWorkbook .ActiveSheet.DrawingObjects(1).Delete .SaveAs Filename:=chemin(i) & nomfichier(i) .Close End With Next i End Sub
Cdlt -
Bonjour
Option Compare Text Sub ENREGISTRER() 'Macro par JUER Dim extension As String Dim style As Integer Application.ScreenUpdating = False ReDim chemin(3) As String ReDim nomfichier(3) As String NbFeuil = Sheets.Count For i = 1 To NbFeuil If ThisWorkbook.Sheets(i).Name = "Données" Or ThisWorkbook.Sheets(i).Name = "Coûts" Or ThisWorkbook.Sheets(i).Name = "Data" Then ThisWorkbook.ActiveSheet.Copy extension = ".xlsx" chemin(i) = "G:\02 - DATA\" & Range("E9") & "\" nomfichier(i) = "Calcul - " & ActiveSheet.Range("E9") & " - " & Range("C9") & extension With ActiveWorkbook .ActiveSheet.DrawingObjects(1).Delete .SaveAs Filename:=chemin(i) & nomfichier(i) .Close End With End If Next i End Sub
A tester
Cdlt -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour
Rajouter la ligne suivante
Sheets(i).Select
après la ligneIf ThisWorkbook.Sheets(i).Name = "Données" Or ThisWorkbook.Sheets(i).Name = "Coûts" Or ThisWorkbook.Sheets(i).Name = "Data" Then
Ce qui donneIf ThisWorkbook.Sheets(i).Name = "Données" Or ThisWorkbook.Sheets(i).Name = "Coûts" Or ThisWorkbook.Sheets(i).Name = "Data" Then Sheets(i).Select<code basic>
</code>
Cdlt