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

engsansmacro problème de syntaxe !!!

5 réponses
Avatar
francois45
bonjour,

j'ai quelques soucis avec cette macro

Sub engsansmacro()

'je veux pouvoir enregistrer la feuil1 sipac avec toute la mise en page
'(entete et pieds de page compris)ça ça a l'ai rde marcher
'sans enregistrer les autres feuilles ni les macro ne conservant que
'la feuil1 sipac sur mon nouveau fichier renommé de la date d'extraction
situé
'en a20 (c'est une date ecrite en lettre que me renvoie un formule)de la
feuil1 ça ça marche 'pas mal !!.

'je voudrais que les formules n'apparaissent plus (juste les valeurs) marche
pas
'le problème est que la macro ecrit 2 fois la date en renommant le fichier
'le fichier de base ne se ferme pas sans s'enregistrer
'quelqu'un peut-il corriger mon ou plutôt mes erreurs ??

Dim Fichier As String
Dim x As String

x = Sheets("sipac").Range("a20").Value

Fichier = Format(Sheets("sipac").Range("a20"), "dd mm yy") & " " & x &
".xls"
Sheets("sipac").Select
Sheets("sipac").Copy

ActiveWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "\" & Fichier

ActiveWorkbook.Saved = True
ActiveWorkbook.Close

End Sub

5 réponses

Avatar
Youky
Bonjour Francois,
sans doute comme ceci...
Youky

Sub test()
Dim Fichier As String
Dim x As String
x = Sheets("sipac").Range("a20").Value
Fichier = Format(x, "dd mm yy") & ".xls"
Sheets("sipac").Select
Sheets("sipac").Copy
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
[A1].Select
ActiveWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "" & Fichier
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
End Sub

"francois45" a écrit dans le message de news:

bonjour,

j'ai quelques soucis avec cette macro

Sub engsansmacro()

'je veux pouvoir enregistrer la feuil1 sipac avec toute la mise en page
'(entete et pieds de page compris)ça ça a l'ai rde marcher
'sans enregistrer les autres feuilles ni les macro ne conservant que
'la feuil1 sipac sur mon nouveau fichier renommé de la date d'extraction
situé
'en a20 (c'est une date ecrite en lettre que me renvoie un formule)de la
feuil1 ça ça marche 'pas mal !!.

'je voudrais que les formules n'apparaissent plus (juste les valeurs)
marche pas
'le problème est que la macro ecrit 2 fois la date en renommant le fichier
'le fichier de base ne se ferme pas sans s'enregistrer
'quelqu'un peut-il corriger mon ou plutôt mes erreurs ??

Dim Fichier As String
Dim x As String

x = Sheets("sipac").Range("a20").Value

Fichier = Format(Sheets("sipac").Range("a20"), "dd mm yy") & " " & x &
".xls"
Sheets("sipac").Select
Sheets("sipac").Copy

ActiveWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "" & Fichier

ActiveWorkbook.Saved = True
ActiveWorkbook.Close

End Sub



Avatar
francois45
bonjour Youky,

super ta macro , j'ai bien la feuille que je désire au bon format (même en
mettant F2 ça me prend la date pourtant au format date, merveilleux avant ça
marchait pas à cause des / / / de dates por nommer le fichier), reste le
problème du fermer sans enregistrer qui n'a pas l'air de marcher, il ne faut
surtout pas que le fichier duquel on copie la feuille sipac puisse être
enregistrer (les macros ont tournée et la base est morte si cela se produit
malencontreusement) donc je ne veux même pas que soit proposé le choix
d'enregistrer, je veux que le fichier se ferme à la fin de cette macro.
si tu vois comment faire, je pensais que ActiveWorkbook.Saved = True et
ActiveWorkbook.Close suffisaient...


Sub testyouky()
Dim Fichier As String
Dim x As String
x = Sheets("sipac").Range("f2").Value
Fichier = Format(x, "dd mm yy") & ".xls"
Sheets("sipac").Select
Sheets("sipac").Copy
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
[A1].Select
ActiveWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "" & Fichier
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
End Sub
Avatar
Youky
Salut Francois,
Comme ceci on se retrouve avec seulement le fichier crée ouvert
J'ai changé SaveCopyAs par SaveAs
Youky

Sub testyouky()
Dim Fichier As String
Dim x As String
x = Sheets("sipac").Range("f2").Value
Fichier = Format(x, "dd mm yy") & ".xls"
Sheets("sipac").Select
Sheets("sipac").Copy
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
[A1].Select
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & Fichier
'ActiveWorkbook.Saved = True
'ActiveWorkbook.Close
ThisWorkbook.Saved = True
'ou pour fermer Excel
'Application.Quit
ThisWorkbook.Close
End Sub

"francois45" a écrit dans le message de news:

bonjour Youky,

super ta macro , j'ai bien la feuille que je désire au bon format (même en
mettant F2 ça me prend la date pourtant au format date, merveilleux avant
ça marchait pas à cause des / / / de dates por nommer le fichier), reste
le problème du fermer sans enregistrer qui n'a pas l'air de marcher, il ne
faut surtout pas que le fichier duquel on copie la feuille sipac puisse
être enregistrer (les macros ont tournée et la base est morte si cela se
produit malencontreusement) donc je ne veux même pas que soit proposé le
choix d'enregistrer, je veux que le fichier se ferme à la fin de cette
macro.
si tu vois comment faire, je pensais que ActiveWorkbook.Saved = True et
ActiveWorkbook.Close suffisaient...


Sub testyouky()
Dim Fichier As String
Dim x As String
x = Sheets("sipac").Range("f2").Value
Fichier = Format(x, "dd mm yy") & ".xls"
Sheets("sipac").Select
Sheets("sipac").Copy
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
[A1].Select
ActiveWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "" & Fichier
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
End Sub




Avatar
francois45
re re salut Youky,


ça marche bien mais je veux fermer le fichier créé dans l'exemple 30 04 08
c'est à dire fermer ma base TST pour éviter les enregistrements et le
fichier sauvegardé car je n'en aurais plus besoin (je le garde pour une
édition ultérieur ou pour travailler dessus à plus long terme.

donc comment fermer ces 2 fichiers et seulement ces 2 fichiers car les
données de TST sont liés avec un troisième fichier que je veux conserver
ouvert ??
Avatar
Youky
Pour tout fermer même Excel......
Sub testyouky()
Dim Fichier As String
Dim x As String
x = Sheets("sipac").Range("f2").Value
Fichier = Format(x, "dd mm yy") & ".xls"
Sheets("sipac").Select
Sheets("sipac").Copy
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
[A1].Select
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & Fichier
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
ThisWorkbook.Saved = True
Application.Quit
End Sub

"francois45" a écrit dans le message de news:
%
re re salut Youky,


ça marche bien mais je veux fermer le fichier créé dans l'exemple 30 04 08
c'est à dire fermer ma base TST pour éviter les enregistrements et le
fichier sauvegardé car je n'en aurais plus besoin (je le garde pour une
édition ultérieur ou pour travailler dessus à plus long terme.

donc comment fermer ces 2 fichiers et seulement ces 2 fichiers car les
données de TST sont liés avec un troisième fichier que je veux conserver
ouvert ??