Enregistrer un classeur

Bonjour.

je voudrais enregistrer un classeur excel à son emplacement d origine.

je m'explique:

j ais en charge de créer un fichier excel pour une main courante de sauvegarde / nettoyage LTO / restaurations et planning.

création d userform et remplissage des feuilles excel réalisé sans problème.

le souci se pose lorsque je valide le remplissage je souhaite que mon classeur soit automatiquement enregistrer à son emplacement d'origine (emplacement d'ouverture) à savoir que se fichier serra stocké sur un serveur de donnée et qu il serra utilisé sur plusieurs autre serveurs via le réseau.

je reste a votre disposition pour plus de renseignements.

merci d'avance de l’intérêt porté à mon projet.

voici une proposition qui "enregistre sous" le fichier dans son répertoire d'origine

Sub enregistrer()
Dim chemin As String
Dim fichier As String

'défini le chemin du répertoire du fichier
chemin = ThisWorkbook.Path & "\"

'défini le nom du fichier
fichier = "Mon fichier.xlsm"

'enregistre sous dans le répertoire voulu avec le nom choisi
ActiveWorkbook.SaveAs Filename:= _
        chemin & fichier, FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End Sub

merci rvtoulon.

tout fonctionne très bien.

autre question: si le fichier est déplacé en cas de plantage ou de réorganisation du serveur, est ce que ça fonctionnera sans changer le code?

en fait le code:

'défini le chemin du répertoire du fichier
chemin = ThisWorkbook.Path & "\"

met dans une variable le chemin ou se trouve le fichier.

Donc peu importe où il est, le chemin s'adapte en fonction de l'emplacement du fichier

ok.

un grand merci a toi.

juste une dernière chose mon "SaveChanges:=True" ne fonction pas "erreur de syntaxe" pour forcer l'enregistrement.

peux-tu mettre le code stp

j ais simplement rajouté " SaveChanges:=True "

'enregistre sous dans le répertoire voulu avec le nom choisi

ActiveWorkbook.SaveAs Filename:= _

chemin & fichier, FileFormat:= _

xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False, SaveChanges:=True

Pour moi le Savechange ne sert pas ici, car tu enregistres la copie du classeur si tu as fait des modifications elles seront aussi enregistrées.

oui je suis d"accord , mais j ais le petit fenestre qui me demande si je veux écrasé ou pas le fichier existent.

c est pourquoi je veux forcé l enregistrement.

peut etre que je n utilise pas la bonne commande?

ok, on recommence, ne tiens pas compte du code précédent et fait ceci:

Sub Enregistrer()
ActiveWorkbook.Save
End Sub

Tu enregistres le fichier en court tout simplement

je lais deja fais , mais il m enregistre le fichier dans le dossier "mes documents" du pc local.

alors regarde ce code:

Sub Macro1()

Application.DisplayAlerts = False 'enlève le message d'alerte

chemin = ThisWorkbook.Path & "\"

fichier = ThisWorkbook.Name

ActiveWorkbook.SaveAs Filename:= _
        chemin & fichier, FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Application.DisplayAlerts = True 'remet le message d'alerte
End Sub

effectivement je n est pas pensé à la désactivation des message d’alerte.

c est parfait.

encore merci.

bonne journée.

Rechercher des sujets similaires à "enregistrer classeur"