Microsoft 365 VBA la commande ne s'exécute pas

danielco

XLDnaute Accro
Bonjour,

la commande n'affiche aucune boîte de dialogue :

VB:
Application.Dialogs(xlDialogSaveAs).Show

Comment faire ?

Daniel
 

danielco

XLDnaute Accro
Par contre, ça semble ne pas fonctionner dans un évènement before save :

VB:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Cancel = True
  Application.Dialogs(xlDialogSaveAs).Show 'Format([A1], "yyyy-mm-dd") & [A2]
End Sub

Daniel
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Chez moi, en invalidant les events, ça marche :
VB:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Cancel = True
  Application.EnableEvents = False
  Application.Dialogs(xlDialogSaveAs).Show 'Format([A1], "yyyy-mm-dd") & [A2]
  Application.EnableEvents = True
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Chez moi, Win10 XL2007, ça marche. Désolé.
En l'état il ouvre deux fois la fenêtre SaveAs. Donc j'ai invalidé les events :
VB:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Cancel = True
  Application.EnableEvents = False
  MsgBox "Macro Workbook_BeforeSave"
  Application.Dialogs(xlDialogSaveAs).Show 'Format([A1], "yyyy-mm-dd") & [A2]
  Application.EnableEvents = True
End Sub
Le Msgbox ne sert à rien, juste à vérifier qu'on passe bien par cette macro, et pas autre part.
J'obtiens ça :
20220920_150804.gif
 

vgendron

XLDnaute Barbatruc
@sylvanu

Je pense que tu as deux fois la boite de dialogue lorsque le fichier est enregistré pour la première fois.
si tu réouvres le meme fichier (déjà enregistré donc), et que tu refermes, tu n'aura plus qu'une seule fois la boite..
je viens de faire le test, c'est ce que je constate.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je pense que tu as deux fois la boite de dialogue lorsque le fichier est enregistré pour la première fois.
si tu réouvres le meme fichier (déjà enregistré donc), et que tu refermes, tu n'aura plus qu'une seule fois la boite..
Non, il est bien enregistré.
Quand il y a le Msgbox comme vérification, on voit qu' passe deux fois par la macro.
Une première fois le MsgBox s'affiche mais pas la fenetre SaveAs, une seconde fois où c'est ok.
Tout du moins sur mon PC.
Regardez bien le Msgbox s'affiche deux fois :
20220920_152041.gif
 

Discussions similaires

Réponses
1
Affichages
112
Réponses
6
Affichages
307

Statistiques des forums

Discussions
312 295
Messages
2 086 960
Membres
103 407
dernier inscrit
elliott.joliman@bforbank.