Vba + format + repertoire

vg00

XLDnaute Nouveau
Bonjour,
je souhaiterais définir dans mon fichier modèle .xltm
le format et le répertoire par défaut d'enregistrement
Quelqu'un à-t-il une idée ? moi pas trop...
J'ai déja du vba dans le fichier....

L'idéal serait de remplacer le Enregistrer ou Enregistrer sous par :

recherche dans le repertoire définit par défaut du dernier fichier AAAA-xxxxC.xlxs
ou AAAA=année xxxx=numéro incrémental C valeur fixe
faire xxxx+1

venir inscrire dans D2 la valeur AAAA-xxxxC
enregistrer le fichier dans le repertoire définit sous le nom AAAA-xxxxC.xlxs
lancer l'impression d'un pdf avec l'imprimante pdfcreator installé sur le poste fichier pdf à sauvegarder dans le même répertoire...

On peut y aller petit à petit mais voici le fond de l'idée et il y a encore d'autres choses à améliorer...
merci d'avance
vg00
 

Abel

XLDnaute Accro
Re : Vba + format + repertoire

Bonjour vg00, le forum,

Essaie avec la méthode GetSaveAsFilename (regarde dans l'aide) à placer dans ThisworkBook sur l'événement Beforesave.

Il y a déjà eu ce genre de question, me semble-t'il, sur le forum.

Je n'ai guère le temps de développer.

En espérant que cela constitue déjà un début de piste.

Abel.
 

Abel

XLDnaute Accro
Re : Vba + format + repertoire

vg00,

Essaie ce code à placer dans ThisWorkbook sur l'événement BeforeSave :

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
FichierEnregistrerSous = Application.GetSaveAsFilename("c:\fichiers", _
            fileFilter:="Fichiers Microsoft Excel (*.xls), *.xls")
        If FichierEnregistrerSous <> False Then
            Affichage = MsgBox("Vous allez enregistrer " & NomFichier & " sous :" & _
                Chr(10) & Chr(10) & FichierEnregistrerSous, , "Enregistrement du fichier")
        
        End If
End Sub

A la place de "c:\fichiers", tu mets le chemin de ton choix.

En espérant que ça dépanne.

Abel.
 

vg00

XLDnaute Nouveau
Re : Vba + format + repertoire

Bonjour ça m'a permis d'avancer mais pas finaliser j'en suis à ceci mais au final ça n'enregistre rien...
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
FichierEnregistrerSous = Application.GetSaveAsFilename("v:\cotations\", _
            fileFilter:="Classeur Excel (*.xlsx),*.xlsx", Title:="Sauvegarde localisée v2014")
        If FichierEnregistrerSous <> False Then
            Affichage = MsgBox("Vous allez enregistrer " & NomFichier & " sous :" & _
                Chr(10) & Chr(10) & FichierEnregistrerSous, , "Enregistrement du fichier")
       
        End If
End Sub
 

Abel

XLDnaute Accro
Re : Vba + format + repertoire

Bonjour vg00, le forum,

C'est normal. GetSaveAs ouvre la fenêtre "Enregistrer sous".

Ensuite il faut lui dire d'enregistrer.
Mais en le faisant, ça devrait relancer la procédure, vu qu'elle est sur l'événement BeforeSave.
On risque de tourner en rond.
Pas testé.

J'avais utilisé GetSaveAs mais intégré à une procédure qui me proposait en fin de traitement de données d'aller enregistrer les résultats avec "Enregistrer sous" et sans passer par la disquette.

Maintenant, si les données que tu veux enregistrer sont sur un nouveau fichier, "Enregistrer sous" sera automatiquement proposé lors du premier enregistrement.

Fouille sur le forum, il me semble que ça a été traité.

Abel.
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg