VBA - Sauvegarde d'un fichier, mais pas que d'une partie

Bonsoir,

En tentant d’aider un autre membre, je suis tombé sur un os. J’ai essayé de démonter mon problème dans le fichier ci-joint. Avec le code en place, je crée des sauvegardes de mon fichier en leur donnant des noms basés sur certaines variables ; mais après chaque sauvegarde, mon code doit continuer son travail.

Le résultat actuel est pas mal, à une exception près : je ne voudrais pas à chaque fois archiver une copie du fichier complet, mais seulement une copie de la ‘’Feuille 2’’.

Savez-vous m’aider ?

11demo.xlsm (18.20 Ko)

Bonsoir

A tester

Option Explicit

Sub xx()
Dim i As Integer, Minute_Seconde As String

  For i = 1 To 3
    Minute_Seconde = Minute(Time) & " - " & Second(Time)
    Sheets("Feuille 2").Range("A1") = Range("A" & i) & " - " & Minute_Seconde
    Sheets("Feuille 2").Copy
    With ActiveWorkbook
      .SaveAs Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("Feuille 1").Range("A" & i) & " - " & Minute_Seconde & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
      .Close
    End With
    ''"C:\Users\lacy\Documents\Yves\Excel_Y\Forum - Provisoire\Démo - 44 - 44.xlsm"
    Range("B" & i) = Range("A" & i) & " - " & Minute_Seconde
  Next i

End Sub

Cette ligne

      .SaveAs Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("Feuille 1").Range("A" & i) & " - " & Minute_Seconde & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled

peut être remplacée par

      .SaveAs Filename:=ThisWorkbook.Path & "\" & Range("A1") & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled

Salut Banzai,

Merci beaucoup pour la solution à mon problème, ça fonctionne à merveille

Par curiosité, j’ai voulu supprimer la partie de la ligne ,FileFormat:=xlOpenXMLWorkbookMacroEnabled mais ça ne passe plus.

As-tu une explication pourquoi cette instruction semble obligatoire, puisqu’apparemment elle ne fait qu’empêcher l’enregistrement des macros dans le nouveau fichier ?

Amicalement.

Bonjour

Vraiment aucune idée, peut-être que quelqu'un en connait la raison ?

J'avais fait des tests sans et j'avais un message d'erreur (je ne sais plus lequel) mais en rajoutant le FileFormat cela allait mieux, je n'ai pas cherché plus loin

Bonjour Yvouille,

Bonjour Banzai.

Le fileformat est obligatoire dans ce cas car c'est l'enregistrement d'un fichier avec extension "xlsm"

Si tu enregistre au format xlsx il n'est pas nécessaire de le préciser.... car par défaut a l'enregistrement d'un nouveau fichier c'est le format natif de l'excel qui est utilisé... donc xlsx (pour 2007 et suivant)

c'est préciser ici :

https://msdn.microsoft.com/fr-fr/library/office/ff841185.aspx

fred

Salut Banzai, salut Fred,

Merci à tous deux pour vos retours ; j'ai maintenant une réponse très complète à ma question.

Et bravo Fred pour ton 888ème message

Et bravo à Banzai d'avoir pris la tête du classement à ce sujet

Chaleureusement.

Rechercher des sujets similaires à "vba sauvegarde fichier pas que partie"