Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sauvegarde d 'un onglet dans un nouveau classeur

7 réponses
Avatar
Cyr13
bonjour!!
voici un nouveau probleme pour moi ,mais surement pas pour les cracks de se
forum !!
je voudrais sauvegarder journalierement (bien entendu on ouvre ce classeur
tout les jours) l' onglet " Recap " de mon classeur " Facturation en cours
"dans un classeur que la macro devra crée dans un dossier ranger sous
Programfile\Facturation, qu elle le nomme "sauvegarde Facturation février
2007" (a titre d' exemple bien sur la macro devra déterminer le mois et l'
année en cour),crée l onglet dans le nouveau classeur et le nommée a la date
de la cellule B3 ,puis ne coller que la valeur des cellules (car l onglet
comporte beaucoup de formules)

je prépare le champagne pour celui qui pourra me resoudre se probleme !!

--
un grand merci a ceux qui pourrons m aider et a ceux qui auront pris la
peine de lire mon probleme..

7 réponses

Avatar
JB
Bonsoir,

Sheets("recap").Copy
Range([A1], ActiveSheet.UsedRange).Copy
ActiveSheet.[A1].PasteSpecial Paste:=xlPasteValues
Répertoire = "c:cegos"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ActiveWorkbook.SaveAs Répertoire & "" & "Recap" & Format(Now,
"mmmm-yyyy") & ".xls"
ActiveWorkbook.Close


JB

On 22 mar, 20:44, Cyr13 wrote:
bonjour!!
voici un nouveau probleme pour moi ,mais surement pas pour les cracks de se
forum !!
je voudrais sauvegarder journalierement (bien entendu on ouvre ce classeur
tout les jours) l' onglet " Recap " de mon classeur " Facturation en cours
"dans un classeur que la macro devra crée dans un dossier ranger sous
ProgramfileFacturation, qu elle le nomme "sauvegarde Facturation févri er
2007" (a titre d' exemple bien sur la macro devra déterminer le mois et l'
année en cour),crée l onglet dans le nouveau classeur et le nommée a la date
de la cellule B3 ,puis ne coller que la valeur des cellules (car l onglet
comporte beaucoup de formules)

je prépare le champagne pour celui qui pourra me resoudre se probleme !!

--
un grand merci a ceux qui pourrons m aider et a ceux qui auront pris la
peine de lire mon probleme..


Avatar
Cyr13
--
merci JB je vais essayé immediatement !!
Avatar
Cyr13
aie je crois que j ai manqué quelque choses car vba me dit qu il attend fin
instruction!!
je joint le code cela peut etre utile.

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("Recap Production").Copy
Range([B3], ActiveSheet.UsedRange).Copy
ActiveSheet.[B3].PasteSpecial Paste:= xlPasteValues
Répertoire = "c:program filesfacturation"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ActiveWorkbook.SaveAs Répertoire & "" & "Sauvegarde Facturation" &
Format(Now,"mmmm-yyyy") & ".xls"
ActiveWorkbook.Close

End Sub

désolé de n avoir pas compris,mais vba ne parle pas le meme languageque moi
lol
Avatar
JB
Bonsoir,


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Recap Production").Copy
derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
dercol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
Range("B3", Cells(derlig, dercol)).Copy
ActiveWorkbook.Sheets(1).[B3].PasteSpecial Paste:=xlPasteValues
Répertoire = "c:program filesfacturation"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ActiveWorkbook.SaveAs Répertoire & "" & "Sauvegarde Facturation"
& Format(Now, "mmmm-yyyy") & ".xls"
ActiveWorkbook.Close True
End Sub

http://cjoint.com/?dxvlWSU6Yc

JB

On 23 mar, 17:13, Cyr13 wrote:
aie je crois que j ai manqué quelque choses car vba me dit qu il attend fin
instruction!!
je joint le code cela peut etre utile.

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("Recap Production").Copy
Range([B3], ActiveSheet.UsedRange).Copy
ActiveSheet.[B3].PasteSpecial Paste:= xlPasteValues
Répertoire = "c:program filesfacturation"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ActiveWorkbook.SaveAs Répertoire & "" & "Sauvegarde Facturation" &
Format(Now,"mmmm-yyyy") & ".xls"
ActiveWorkbook.Close

End Sub

désolé de n avoir pas compris,mais vba ne parle pas le meme languageq ue moi
lol


Avatar
Cyr13
bonjour JB et merci.

le code marche tres bien excepter que la sauvegarde initiale marche tres
bien mais a la deuxieme il me dit que le fichier existe deja et me propose de
l ecraser,
se que j aurais aimé c' est qu il copie la nouvelle journée sur un autre
onglet du classeur de sauvegarde et qu il nomme les onglet par la date se
trouvant en cellule
B3.
je suis conscient du temps passer et je t en remerci infiniment !!
d' avance merci !!
--
un grand merci a ceux qui pourrons m aider et a ceux qui auront pris la
peine de lire mon probleme..
Avatar
JB
Bonjour,

Sauvegarde l'onglet Recap Production dans un classeur de sauvegarde du
mois dans un onglet journalier.

http://cjoint.com/?dzmduz3Maq

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
nomClasseurMaitre = ThisWorkbook.Name
répertoire = "c:program filesfacturation"
If Dir(répertoire, vbDirectory) = "" Then MkDir répertoire
nomClasseurSauv = "Sauvegarde Facturation" & Format(Now, "mmmm-
yyyy") & ".xls"
If Dir(répertoire & "" & nomClasseurSauv) = "" Then
Workbooks.Add
ActiveWorkbook.SaveAs répertoire & "" & _
"Sauvegarde Facturation" & Format(Now, "mmmm-yyyy") & ".xls"
Else
Workbooks.Open (répertoire & "" & nomClasseurSauv)
End If
Workbooks(nomClasseurMaitre).Sheets("recap production").Copy _
Before:=Workbooks(nomClasseurSauv).Sheets(1)
nomOnglet = Format(Now, "dd-mmmm-yyyy")
If ExisteOnglet(nomOnglet) Then
ActiveWorkbook.Sheets(nomOnglet).Delete
ActiveWorkbook.ActiveSheet.Name = nomOnglet
derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
dercol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
Range("B3", Cells(derlig, dercol)).Copy
ActiveWorkbook.Sheets(1).[B3].PasteSpecial Paste:=xlPasteValues

ActiveWorkbook.SaveAs répertoire & "" & nomClasseurSauv
ActiveWorkbook.Close False
End Sub

Function ExisteOnglet(f) As Boolean
i = 1
For i = 1 To ActiveWorkbook.Sheets.Count
If UCase(f) = UCase(ActiveWorkbook.Sheets(i).Name) Then
ExisteOnglet = True
End If
Next i
End Function

JB
On 24 mar, 18:39, Cyr13 wrote:
bonjourJBet merci.

le code marche tres bien excepter que la sauvegarde initiale marche tres
bien mais a la deuxieme il me dit que le fichier existe deja et me propos e de
l ecraser,
se que j aurais aimé c' est qu il copie la nouvelle journée sur un au tre
onglet du classeur de sauvegarde et qu il nomme les onglet par la date se
trouvant en cellule
B3.
je suis conscient du temps passer et je t en remerci infiniment !!
d' avance merci !!
--
un grand merci a ceux qui pourrons m aider et a ceux qui auront pris la
peine de lire mon probleme..


Avatar
Cyr13
bonjour JB et encore merci tu temps que tu me consacre.

voici les erreures suite a l execution du code:

1) manque bloc End If
2) je me suis trompé de cellule pas la B3 mais la B1
3) les valeurs du recap sont obtenues pas liaisons au classeur source
4) les noms d onglet dans la sauvegarde ne sont pas la date du jour mais
"recap production"
5) la sauvegarde ne se ferme pas et le classeur source non plus

etant conscient de la complexité du code je n ose pas le modifier ( lol sous
peine de ne plus rien y comprendre toi non plus lol)

encore merci !!