Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/11/2011, 10h25   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2011
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 21
Points : 14
Points : 14
Par défaut Modifier la boite de dialogue "enregistrer sous"

Bonjour,

J'ai crée un programme qui permet d'ouvrir une boite de dialogue "enregistrer sous" et automatisé le nom de fichier par défaut et le dossier par défaut.

Ca marche très bien sauf que je suis obligé de passer par un bouton pour l'appeler. J'aimerais bien pouvoir passer directement par la commande "enregistrer sous" d'Excel. Malheureusement j'y arrive pas. J'arrive à lui faire ouvrir la boîte de dialogue que je veux, mais après la boite de dialogue "classique" s'ouvre également ce qui est genant aussi.

Voici le bout de code que je met dans mon bouton:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
sub enregistrer
Dim objSaveBox As FileDialog
 
ChDir ThisWorkbook.Path
 
Set objSaveBox = Application.FileDialog(msoFileDialogSaveAs)
    With objSaveBox
        .InitialFileName = leNomdefichier (qui dépend de plusieurs cellules)
        .Show
        .Execute
    End With
 
End sub
Ce que j'ai testé c'est de remplacer la 1ère ligne par

Code :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Fred.dz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 18h15   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Bonsoir,

Désactive les événements pour éviter que la macro "s'auto - appelle"

Code :
1
2
3
4
5
6
7
 
 Application.EnableEvents = False
Set objSaveBox(...)
(...) 
End With
 Application.EnableEvents = True
(...)
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 09h56   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2011
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 21
Points : 14
Points : 14
Merci pour ton aide.

Malheureusement ça ne semble pas fonctionner. Je pense que ça vient du fait que la fenêtre "sauvegarder sous" par défaut se lance après que workbook_beforesave se soit executé.
Fred.dz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h34.


 
 
 
 
Partenaires

Hébergement Web