Question sur l'enregistrement d'un classeur via une macro

  • Initiateur de la discussion Initiateur de la discussion zuli3n
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

zuli3n

XLDnaute Occasionnel
Bonjour le forum et tout mes meilleurs à vous pour cette nouvelle année 😉

J'ai une petite question à vous poser 😕

Je me sert un bout de code en VBA, ci-dessous, pour sauvegarder mon classeur.
Mon soucis c'est que je ne veux pas basculer sur le classeur sauvegarder, donc pouvoir resté sur classeur initial après le ".SaveAs"

Code:
Private Sub CommandButton2_Click()

Dim PatchEtNomXLS As String
Dim Bureau As String
Bureau = CreateObject("WScript.Shell").SpecialFolders("Desktop")

NumNDFxls = Sheets("NDF").Range("J2").Value
PatchEtNomXLS = Bureau & "\" & "Note de frais N° " & NumNDFxls

Application.DisplayAlerts = False

With ActiveWorkbook
   .SaveAs Filename:=PatchEtNomXLS, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With

Application.DisplayAlerts = True

Unload UserForm

End Sub

Est-ce possible ?

En vous remerciant,
Cordialement.
 
Re : Question sur l'enregistrement d'un classeur via une macro

Bonjour Pierrot93,

Merci pour ta réponse, oui je pense que tu as bien compris, cependant quand je remplace "SaveAs" par "SaveCopyAs" j'ai un message d'erreur, apparemment c'est le "FileFormat:=xlOpenXMLWorkbookMacroEnabled" qui pose problème, j'ai donc essayé sans et c'est pareil. Le SaveCopyAs ne fait plus fonctionner la macro, je vais faire d'autre tests, si vous avez une idée je suis preneur 🙂

En vous remerciant,
Cordialement.
 
Re : Question sur l'enregistrement d'un classeur via une macro

Re Pierrot93,

J'ai pu faire fonctionner ma macro en rusant via votre exemple sous 2010 :

Code:
With ActiveWorkbook
.SaveCopyAs Filename:=PatchEtNomXLS & ".xlsm"   
End With

Merci à vous Pierrot93

Cordialement.
 
Re : Question sur l'enregistrement d'un classeur via une macro

Bonjour Zuli, Pierrot

TU peux aussi faire des sauvegardes avec la date et l'heure:

Code VBA:
Sub SauveCopieDateHeure()
ActiveWorkbook.SaveCopyAs (ThisWorkbook.Path & "\" & ActiveWorkbook.Name & " " & Format(Now, "DD_MM_YY hh_mm_ss"))
End Sub
 
Re : Question sur l'enregistrement d'un classeur via une macro

- bonsoir , la macro qui as été mis en place si je comprends bien sert a enregistrer un classeur tout en restant dessus a travailler sans basculer sur la page qui permet de le sauvegarder "classiquement" et tout ceci avec un bouton commande ? j'aurais voulu savoir si , il est possible avec ce bouton commande d'enregistrer directement sur le bureau windows ?
 
Re : Question sur l'enregistrement d'un classeur via une macro

Bonsoir à tous

le yonnais
Bureau tu dis?
bah, il y avait ceci dans le premier message, non? 😉
Code:
Dim PatchEtNomXLS As String
Dim Bureau As String
Bureau = CreateObject("WScript.Shell").SpecialFolders("Desktop")
je te laisse deviner quoi en faire pour la suite 😉

EDITION:Bing! Bonsoir Pierrot93
 
Dernière édition:
Re : Question sur l'enregistrement d'un classeur via une macro

Re, salut Michel🙂

j'aurais voulu savoir si , il est possible avec ce bouton commande d'enregistrer directement sur le bureau windows ?

pour enregistrer la copie sur le bureau...
Code:
Dim chemin As String
chemin = CreateObject("WScript.Shell").specialFolders("Desktop")
ActiveWorkbook.SaveCopyAs chemin & "\classeur2.xlsm"
 
Re : Question sur l'enregistrement d'un classeur via une macro

Re , bonjour le Yonnais, Jean-Marie

j'aurais voulu savoir si , il est possible avec ce bouton commande d'enregistrer directement sur le bureau windows ?

Oui, il suffit de remplacer Thisworkbook.path par le chemin du bureau à mettre entre parenthèses. Ou prendre la solution de Jean-Marie 🙂 ou de Pierrot 🙂.
 
Re : Question sur l'enregistrement d'un classeur via une macro

Re

Ok Jean-Marie, j'avais point vu 😱.

Sinon mon ancien code avait un problème, vu que l'extension n'était pas prise en compte, je préfère ceux-ci:

Code:
Sub SauveCopieDateHeure()
 ActiveWorkbook.SaveCopyAs (ThisWorkbook.Path & "\" & Format(Now, "DD_MM_YY hh_mm_ss") & " " & ActiveWorkbook.Name)
 End Sub
 Sub SauveCopieDateHeure_Vers_Bureau_Autre_Session()

Ou pour le bureau d'une autre session:

Code:
ActiveWorkbook.SaveCopyAs ("C:\Users\[B]NOMUSER[/B]\Desktop" & "\" & Format(Now, "DD_MM_YY hh_mm_ss") & " " & ActiveWorkbook.Name)
 End Sub
 
Re : Question sur l'enregistrement d'un classeur via une macro

ok , pas de soucis , je m'occupe de ça , pour les lunettes , un petit peu de mansuétude s.v.p , je vous rappelle , messieurs , que par rapport a vous , en ce qui concerne excel et plus particuliérement les macros , je n'y connais absolument rien du tout , je suis avant tout présent sur le forum pour apprendre auprés de vous qui êtes des experts en la matiére . En parlant de ça , j'ai un petit soucis a vous soumettre qui n'a rien a voir : quand j'additionne un résultat d'une cellule d'une feuille de mon classeur : 3,14 a celui d'une cellule de la feuille suivante : 1,52 ; le résultat qui m'est donné est : 4,65 ; alors qu'il devrait être : 4,66 ; j'ajoute que les cellules sont au format " nombre " avec 2 chiffres aprés la décimale .
- merci d'avance a vous .
 
Re : Question sur l'enregistrement d'un classeur via une macro

Re,

vous soumettre qui n'a rien a voir : quand j'additionne un résultat d'une cellule d'une feuille de mon classeur : 3,14 a celui d'une cellule de la feuille suivante : 1,52 ; le résultat qui m'est donné est : 4,65 ; alors qu'il devrait être : 4,66 ; j'ajoute que les cellules sont au format " nombre " avec 2 chiffres aprés la décimale .

A voir la valeur exacte des cellules, regarde dans la barre de formule.... un format à 2 décimales arrondi les valeurs réelles....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
572
Réponses
3
Affichages
698
Réponses
13
Affichages
1 K
Retour