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

rolby

XLDnaute Nouveau
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.
 

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

Statistiques des forums

Discussions
311 719
Messages
2 081 874
Membres
101 829
dernier inscrit
listener75