Vba + format + repertoire

  • Initiateur de la discussion Initiateur de la discussion vg00
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.
 
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.
 
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
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
243
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
796
Retour