Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

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.
 
Dernière édition:

GALOUGALOU

XLDnaute Accro
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
 

rolby

XLDnaute Nouveau
 

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.
 
Dernière édition:

rolby

XLDnaute Nouveau
 

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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…