Sauvegarde automatique + Numerotation

Bonjour, je fais appel à vous pour un problème que je n'arrive pas à résoudre malgres qu'il y est différent sujets similaire au miens.

Je vous explique:

J'ai creer sur un exel un systeme me permettant de faire des devis. Je souhaiterai qu'a chaque ouverture de mon fichier "devis", une sauvegarde se créer dans un autre dossier et qu'une numerotation du devis se fasse.

Pour le moment j'ai reussi à trouver une macro sur internet me permettant à chaque ouverture de numéroter mon devis automatiquement. Mais impossible de reussir à créer une sauvegarde sans que mon fichier "devis" reste 'vierge' à la prochaine ouverture.

Voici ma macro pour le moment:

Private Sub Workbook_Open()

Dim num As Integer

Worksheets("Infos").Range("b11").Select

num = Worksheets("Infos").Range("b11").Value

num = num + 1

Worksheets("Infos").Range("b11").Value = num

End Sub

Si vous pouvez me conseiller cela m'aiderai beaucoup, merci d'avance.

Salut,

Ne serait-il pas plus simple de faire une sauvegarde à la fermeture sous le nom "devis<numéro>" et fermer le template vierge sans sauvegarde automatique (comme ça il reste vierge pour la prochaine ouverture)?

A te relire,

cldt,

Uras

Ouai je pense que il faut laisser tomber pour la sauvegarde auto (ça fait 2 heures que je cherche des solutions),

mais il faudrait que je fasse une sauvegarde du document 'vierge' à son ouverture avec la nouvelle numérotation afin que la numérotation automatique puisse se faire à la prochaine ouverture du document vierge.

Je sais pas si tu connais la ligne VBA permettant de faire une sauvegarde auto dès l'ouverture du excel..

Re,

Voilà, un code que je viens de faire qui fonctionne (à la femeture de ton template vierge rempli, sauvegarde sous le nom "devis_n2" et ferme le template vierge sans sauvegarde (donc quand tu vas le réouvir, il sera de nouveau vierge).

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim NouveauDevis As Workbook
Dim numero As Integer

numero = 2 'à remplacer par une fonction qui définit le numéro du dévis

    Set NouveauDevis = ActiveWorkbook

    Application.DisplayAlerts = False 'Désactive les message d'erreur
    NouveauDevis.SaveAs Filename:="Devis_n" & numero, FileFormat:=xlWorkbookDefault ' <=>Enregistrer sous
    NouveauDevis.Close 'on ferme ce qu'on vient d'enregistrer (le nouveau devis)
    Application.DisplayAlerts = True  ' réactive les messages d'erreur

End Sub

A te relire,

cldt,

Uras

Edit : A mettre dans la feuille Workbook à la place de ton ancienne macro.

Ouai merci mais j'arrive pas a faire les modifications nécessaires, je veux bien juste une ligne me permettant une sauvegarde auto sur le même fichier, qu'il ecrase l'ancien direct à l'ouverture.

Re,

Propose un exemple en pièce jointe stp. Je pourrais écrire et tester la macro comme ça en plus de mieux comprendre ce que tu veux.

Merci

cldt,

Uras

Private Sub Workbook_Open()

Dim num As Integer

Worksheets("Infos").Range("b11").Select

num = Worksheets("Infos").Range("b11").Value

num = num + 1

Worksheets("Infos").Range("b11").Value = num

ActiveWorkbook.Save

End Sub

Pour le moment sa ressemble a sa.

Pour resume, jai ma numerotation qui marche quand jouvre mon document. Après avoir rempli mon devis je l'enregistre sous manuellement.

Je veux juste creer une sauvegarde auto dès que ma numerotation est faite à l'ouverture du document afin que quand je réouvrirai celui-ci pour un autre devis je puisse avoir la nouvelle numerotation qui apparaisse.

J'ai essayé en rajoutant ActiveWorkbook.Save mais j'ai un message d'alerte en fermant excel, alors j'ai cherché en rajoutant Application.DisplayAlerts = false à la fin mais sa ne marche pas..

Je sais pas si j'ai étais clair.


EDIT Je retire tout ce que je viens de dire, la macro marche niquel, j'ai ce que je veux !

Merci .

Rechercher des sujets similaires à "sauvegarde automatique numerotation"