[RESOLU] Sauvegarde par bouton

lechti31

XLDnaute Occasionnel
Bonjour a tous
J'ai lu et relu les message traitant du même problème mais cela ne m'a pas beaucoup aidé
Je dois être idiot :(
Mon fichier d'origine s'appelle "Récapitulatif" et ce trouve sur une clé USB
J'aimerai avec un bouton faire une sauvegarde de mon fichier comportant plusieurs feuilles.
Dans la feuille "Accueil" à la cellule E7 j'ai un titre de document par exemple "Récapitulatif du mois 815" et le bouton sur la même feuille.
J'aimerai que le bouton sauvegarde mes modifications apportées au document sur le disque C:\documents\ et la le nom du fichier en E7.xlsm
Voici mon code

Sub Sauvegarde()
Sheets("Accueil").Select
titre = Cells(7, 5).Value
fichier = "C:\Documents\" & titre & ".xlsm"
ThisWorkbook.SaveCopyAs Filename:=fichier
End Sub

Et le message d'erreur est
Microsoft excel ne peut acceder au fichier
"C:\Documents\Récapitulatif du mois 815.xlsm"

Merci pour votre aide
 
Dernière édition:

grisan29

XLDnaute Accro
Re : Sauvegarde par bouton

bonsoir letchi31 et le forum
est ce que ce code ferait ton affaire, il faut le mettre dans this worbook, c'est pour sauvegarder par la croix rouge
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 On Error GoTo erreur
 varname = Sheets("Feuil1").Range("g17").Value
 fname = InputBox("enregistrer le fichier sous le nom", "Enregistrement", varname)
 ActiveWorkbook.SaveAs Filename:=fname
 Exit Sub
erreur:
  rep = MsgBox("Une erreur c'est produite, voulez vous quitter sans sauvegarder", vbYesNo)
  If rep = 7 Then Cancel = True
End Sub
il y a un msgbox qui s'ouvre afin de demander s'il faut sauver sous le nom qui est en ("g17") ou sous un autre nom ou ailleurs en changeant "g17"
avant il faut cocher enregistrer dans les option d'excel pour retrouver le fichier
cordialement si cela peut aider
 

Papou-net

XLDnaute Barbatruc
Re : Sauvegarde par bouton

Bonsoir lechti31,

Une piste possible est que le répertoire "C:\documents" n'existe pas pas.

Il faut donc le vérifier et le créer le cas échéant.

Exemple à tester chez toi:

Code:
Sub Sauvegarde()
Sheets("Accueil").Select
titre = Cells(7, 5).Value
If Dir("C:\Documents") = "" Then MkDir ("C:\Documents\")
fichier = "C:\Documents\" & titre & ".xlsm"
ThisWorkbook.SaveCopyAs Filename:=fichier
End Sub
a +

Cordialement.

Oups, tir croisé! Bonsoir grisan29.
 

Papou-net

XLDnaute Barbatruc
Re : [RESOLU] Sauvegarde par bouton

Bonsoir
Papou_net ca marche par contre quand j'ouvre le fichier sauvegardé et que je le modifie, quand j'appuie sur le bouton sauvegarde ca ne fonctionne pas
Pouvez-vous me dépanner merci

Bonsoir lechti31,

Comme ça, sans voir le fichier en question, difficile pour moi de te répondre.

Est-ce que l'extension qui figure dans la variable "fichier" est bien ".xlsm" et non ".xlsx"?

A +

Cordialement.
 

lechti31

XLDnaute Occasionnel
Re : [RESOLU] Sauvegarde par bouton

Salut
alors voici une ébauche car je ne peux pas devoiler plus sur mon projet
J'ai le fichier vide dans mon disque d:
et quand je sauvegarde sur le disque c:\documents ca plante maintenant pourquoi je sais pas alors que ca fonctionnait
et quand j'ouvre le fichier cree sur C pour le modifier ca plante aussi
Merci de ton aide
 

Pièces jointes

  • Essai.xlsm
    16.3 KB · Affichages: 40
  • Essai.xlsm
    16.3 KB · Affichages: 38

lechti31

XLDnaute Occasionnel
Re : [RESOLU] Sauvegarde par bouton

Salut Papou-net
Ok mais maintenant si je veux modifier le fichier crée dans le repertoire c:\documents\recapitulatif
donc j'ouvre le fichier recapitulatif du dossier c:\documents\ et que je veuille l'enregistrer avec le bouton ca plante
Certainement parcequ'il est ouvert je suppose
Coment puis je coder la macro pour que je puisse enregistrer par le bouton
Merci
 

Papou-net

XLDnaute Barbatruc
Re : [RESOLU] Sauvegarde par bouton

Salut Papou-net
Ok mais maintenant si je veux modifier le fichier crée dans le repertoire c:\documents\recapitulatif
donc j'ouvre le fichier recapitulatif du dossier c:\documents\ et que je veuille l'enregistrer avec le bouton ca plante
Certainement parcequ'il est ouvert je suppose
Coment puis je coder la macro pour que je puisse enregistrer par le bouton
Merci

Bonjour lechti31,

Il suffit de modifier la condition:

Code:
Sub Bouton1_Clic()
Sheets("Accueil").Select
titre = Cells(7, 5).Value
If Dir("C:\Documents\") = "" Then
  MkDir ("C:\Documents\")
  fichier = "C:\Documents\" & titre & ".xlsm"
  ThisWorkbook.SaveCopyAs Filename:=fichier
  Else
  ThisWorkbook.Save
End If
End Sub
A +

Cordialement.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 071
Membres
104 020
dernier inscrit
Mzghal