Résolu XL 2016 sauvegarder classeur exel en vba

rolby

XLDnaute Nouveau
Bonjour à tous,
lorsque je demande la sauvegarde de mon classeur exel, via une macro, comme le classeur existe déjà, j'ai le message suivant: le classeur ... existe déjà, voulez vous-le remplacer ? ... Comment puis-je ne plus avoir cette demande de confirmation et donc enregistrer directement à la place du classeur existant ?
voici la macro que j'utilise :

'Sub M_essai()
'ChDir "C:\transport_Pas"
'ActiveWorkbook.SaveAs Filename:="C:\transport_Pas\travail_transport.xlsm", _
'FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
'End Sub
Merci de votre attention
Rolby
 
Ce fil a été résolu! Aller à la solution…

Dranreb

XLDnaute Barbatruc
Bonjour.
Essayez en mettant devant une instruction Application.DisplayAlert = False
À remettre à True derrière.
Remarque: inutile de repréciser le chemin au Filename si c'est le dossier courant (CurDir), ce qui est le cas après un ChDir. Ou réciproquement, inutile de faire un ChDir préalable si le chemin est précisé au Filename.
 
Ce message a été identifié comme étant une solution!
Dernière édition:

sylvanu

XLDnaute Accro
Supporter XLD

GALOUGALOU

XLDnaute Occasionnel
bonjour rolby bonjour le forum
je vous propose une solution avec compteur
dans la feuille qui déclenche l'impression, j'ai choisi cellule A1 (cibler la votre) qui va incrémenter un compteur
les informations sont récupérées dans les variables
le nom du classeur sera sauvegarder avec un pas de un
cordialement
galougalou

'Sub M_essai()
'Dim compteur As Integer
'Dim chemin As String
'chemin = "C:\transport_Pas\travail_transport"
'compteur = Range("A1").Value

'ActiveWorkbook.SaveAs Filename:=chemin & compteur & ".xlsm", _
'FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
'Range("A1").Value = Range("A1").Value + 1
'End Sub
 

Dranreb

XLDnaute Barbatruc
Ben, là non plus !
Le demandeur veut simplement ne plus avoir à confirmer qu'il veut bien écraser au autre classeur enregistré qui porte déjà le même nom.
 

GALOUGALOU

XLDnaute Occasionnel
et non dranreb
le nom du classeur n'est jamais identique puisqu’il est incrementé avec un pas de 1
donc il n'y a jamais écrasement
@+
 

GALOUGALOU

XLDnaute Occasionnel
pardon pardon je me suis trompé je n'avais pas vu que le demandeur voulait écraser leclasseur
milles excuses !!!
 

rolby

XLDnaute Nouveau
bonjour Dranreb

la ligne "Application.DisplayAlert = False"
génère une erreur : propriete ou methode non geree par cet objet
peut etre que je ne l'ai pas mise au bon endroit de ma macro ?
je l'ai mise en premiere ligne ….

Sub M_essai()
Application.DisplayAlert = False
ChDir "C:\transport_Pas"
ActiveWorkbook.SaveAs Filename:="C:\transport_Pas\travail_transport.xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
 

Dranreb

XLDnaute Barbatruc
Il suffit de taper Application.Dis pour qu'il complète tout seul en DisplayAlerts. Et donc cette propriété de l'objet Application existe.
Je viens d'ailleurs d'y voir qu'il est inutile de la remettre à True derrière: elle ne reste à False que durant l'exécution des macros, comme pour la Application.ScreenUpdating.
 
Ce message a été identifié comme étant une solution!
Dernière édition:

rolby

XLDnaute Nouveau
Re bonjour,
l'erreur que je mentionne vient en réalité d'une faute dans le côde :
ce n'est pas Application.DisplayAlert = False
mais Application.DisplayAlerts = False
et maintenant ça marche super ...
Merci encore à toi Dranreb pour ta contribution et aussi à vous tous qui vous êtes intéressés à mon probleme.
Rolby :)
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas