Faire une sauvegarde

Bonjour à tous,

Je suis nouveau sur ce forum donc vais probablement faire des erreurs dans ma communication.

Je souhaiterai créer une routine permettant de "sauvegarder sous".

En fait cela semble évident sauf si, je souhaite après l'exécution revenir dans le fichier d'origine

Si j'exécute la routine ci-dessous, je me retrouve dans le nouveau fichier alors que je voudrai être dans le premier. A chaque exécution, un fichier clone doit être créer. Pouvez-vous mm'aider.

Merci infiniment,

Pierre

Sub Save()

'Pour si tu annules, qu'il n'affiche pas le message d'erreur

On Error Resume Next

tim = Now

datmois = Format(tim, "mmm")

datjour = Format(tim, "dd")

datan = Format(tim, "yy")

datheur = Format(tim, "hhmmss")

ActiveWorkbook.SaveAs Filename:="C:\Users\Pierre\sauvegarde\" & datheur & datjour & datmois & ".xlsm"

End Sub

Salut et bienvenue,

Essaie ça :

Sub Save()

'Pour si tu annules, qu'il n'affiche pas le message d'erreur
On Error Resume Next

tim = Now
datmois = Format(tim, "mmm")
datjour = Format(tim, "dd")
datan = Format(tim, "yy")
datheur = Format(tim, "hhmmss")

ActiveWorkbook.Sheets.Copy
ActiveWorkbook.SaveAs Filename:="C:\Users\Pierre\sauvegarde\" & datheur & datjour & datmois & ".xlsm"
ActiveWorkbook.Close

End Sub 

Merci beaucoup,

Je reçois ceci comme message: (fichier joint)

Pourtant, c'est bien un classeur avec macro que j'utilise

rr

Alors on va forcer

Sub Save()

'Pour si tu annules, qu'il n'affiche pas le message d'erreur
On Error Resume Next

Application.DisplayAlerts = False
tim = Now
datmois = Format(tim, "mmm")
datjour = Format(tim, "dd")
datan = Format(tim, "yy")
datheur = Format(tim, "hhmmss")

ActiveWorkbook.Sheets.Copy
ActiveWorkbook.SaveAs Filename:="C:\Users\Pierre\sauvegarde\" & datheur & datjour & datmois & ".xlsm"
ActiveWorkbook.Close

Application.DisplayAlerts = True
End Sub 

Encore merci pour ceyye tentative.

Malheureusement cela ne donne rien. J'y ai cru, puisque je vois une opération se réaliser et que je reste bien dans mon fichier d'origine mais pas de trace d'un fichier nommé par sa date comme je le souhaite.

Pierre

Je regarde et reviens vers toi

Génial

Pas d'urgence hein

Et voilà :

Sub Save()
ActiveWorkbook.SaveCopyAs Filename:="C:\Users\Pierre\sauvegarde\" & Format(Now, "hhmmssddmmm") & ".xlsm"
End Sub

PS : J'ai épuré un peu

C'est absolument parfait

Grand merci pour ce beau service.

Pierre

PS: J'en profite pour une ultime question. Pour que la sauvegarde se fasse dans le répertoire où se trouve le fichier original, que puis-je coder ? un truc du style active.application ou application.path ?

P

J'ai tenté cela mais ça marche pas

ActiveWorkbook.SaveCopyAs Filename:=Application.ThisWorkbook.Path & datheur & datjour & datmois & datan & ".xlsm"

Hello,

Et voilà:

Sub Save()
ActiveWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "\" & Format(Now, "hhmmssddmmmyy") & ".xlsm"
End Sub

Tu as du oublié le "\" après le chemin d'accès. Chaque niveau de répertoire doit être séparé par un "\"

Super, ça marche. Je pense que j'avais oublié un "\"

Thanks

Pierre

J'ai répondu sans avoir vu que tu avais trouvé ma faute

Encore merci.

Et ta ligne simplifie le tout. Bravo.

P

Bonjour à tous est-il possible de faire un SaveCopyAs dans "C:\Program Files (x86)\Common Files\"?

J'ai essayé dans un autre répertoire et ça fonctionne. Je pense a un problème de droits.

Merci d'avance

Function FichierExist()

    Filename = Worksheets("Listes").Range("C370").Value & ".xlsm" ' Nom du fichier
    ' MsgBox Filename  GOOD
    Filepath = ActiveWorkbook.Path & "\" & Filename ' Chemin + nom fichier
    ' MsgBox Filepath  GOOD
    Copypath = "C:\Program Files (x86)\Common Files\ACI\Moulinette\" & Filename 'Destination
    ' MsgBox Copypath  GOOD
    FichierVers = Dir(Copypath) 'je vérifie si le fichier existe
    ' MsgBox FichierVers GOOD

    If FichierVers <> "" Then 'si il existe

        MsgBox "Le fichier '" & FichierVers & "' existe"

   .Else  ' si il n'existe pas

        MsgBox "Le fichier n'a pas été trouvé"
        ActiveWorkbook.SaveCopyAs "C:\Program Files (x86)\Common Files\ACI\Moulinette\test.xlsm" 'ne fonctionne pas dans ce repertoire. fonctionne dans images

    End If

End Function

Bonjour,

... ThisWorkbook.Path & "\" & ...

eric

Edit : Ah, je n'avais pas vu la 2nde page de ce fil...

Pourquoi vouloir l'enregistrer dans un répertoire réservé ? Ce n'est pas une bonne pratique, met-toi où tu as le droit.

eric

Bonjour,

... ThisWorkbook.Path & "\" & ...

eric

Edit : Ah, je n'avais pas vu la 2nde page de ce fil...

Pourquoi vouloir l'enregistrer dans un répertoire réservé ? Ce n'est pas une bonne pratique, met-toi où tu as le droit.

eric

Salut Eriiic,

Justement c'est ici qu'il doit être et en plus en fichier caché dans un dossier caché.

Je n'ai pas le choix pour ça.

Je relance car je suis toujours bloqué

Bonjour,

Justement c'est ici qu'il doit être

C'est ici parce que tu l'as choisi, et c'est un mauvais choix alors change-le.

Sinon essaie en lançant excel en mode administrateur.

Ou change les droits de ce répertoire si tu aimes la roulette russe.

eric

Rechercher des sujets similaires à "sauvegarde"