Petite aide code Enregistrer sous

  • Initiateur de la discussion Initiateur de la discussion Mi_
  • 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 !

Mi_

XLDnaute Occasionnel
Bonjour le forum,

Pour Enregistrer Sous forme de fichier une feuille Excel, sous le nom de la cellule B3 assorti à la date du jour, j'utilise le code suivant:

Dim Dossier As String, Fichier As String
With ActiveSheet
Dossier = CStr(.Range('B3').Value)
Fichier = CStr(.Range('B3').Value) & ' ' & Format(Date, 'dd-mm-yyyy')
End With
If Trim(Dossier) = '' Then Exit Sub
If Trim(Fichier) = '' Then Exit Sub
'Sauvegarde
On Error GoTo CreerDossier
Application.DisplayAlerts = False
ActiveSheet.SaveAs 'Chemin\\' & Dossier & '\\' & Fichier & '.xls'
Application.DisplayAlerts = True
' MsgBox 'Ok, c'est enregistré.'

ActiveWorkbook.Save
ActiveWorkbook.Close
Exit Sub

CreerDossier:
If Err.Number = 1004 Then
'Création du dossier
MkDir 'Chemin' & Dossier
Resume
Else
MsgBox 'Erreur : ' & Err.Number & vbLf & Err.Description
End If
Mes questions sont:
1) comment faire pour annuler le lancement de la sauvegarde (du code) si la cellule B3 est vide ?
2) comment faire pour ajouter l'heure de l'enregistrement au nom du fichier ?

Merci d'avance pour toute aide,
Mi
 
Salut


Pour mettre l'heure il y a Time

H = time

H aura l'heure systeme

Pour la celulle vide

If RAnge ('B3') <> '' then

Ton code

End if

cela lance uniquement ton code si il y a une valeur en B3

J'espère avoir pu t'aider.
 
Bonjour,

Oui.. ou alors
1- pour construire le chemin, utilise le format de now() suivant :

Fichier = CStr(.Range('B3').Value) & ' ' & Format(now(), 'dd-mm-yyyy-hh-nn')

2- pour le controle B3, en début de code
if range('B3') = '' then exit sub

A+
 
Re,

Merci Raphou96 et 2passage, vos idées m'ont été très utiles.

J'ajoute une dernière question: comment assigner au fichier sauvegardé le nom de la cellule B3 suivi du nom de la cellule C3 suivi de la date et l'heure ? Pour la date et l'heure je sais déjà, mais est-ce possible d'avoir 17h53 au lieu de 17-53 ?

Encore merci,
Mi
 
Impossible d'avoir les : car c'est un caractère que les fichiers ne peuvent pas avoir.


Pour ta sauvegarde, il sufffit de mettre

ActiveWorkbook.SaveAs Filename:= _
'Ton chemin' & Range('B3') & Range('C3') _
&date &time & '.xls'

Voila bonne journée
 
Raphou96, j'aurais plutôt besoin de modifier la formule

Fichier = CStr(.Range('B3').Value) & ' ' & Format(Now(), 'dd-mm-yyyy hh-mm')

Pour intégrer le nom de la cellule C3.

Concernant le format de l'heure, je ne voulais pas 17:53 mais 17h53. Est-il impossible ?
 
- 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
2
Affichages
739
Réponses
5
Affichages
837
Retour