[Résolu] Enregistrer sur USB dont le nom est défini en cellule J16

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 !

Webperegrino

XLDnaute Accro
Supporter XLD
Bonjour Le Forum,

J'ai essayé une macro mais ça coince sur la dernière ligne.
Je sollicite votre aide.

Dans Feuil1 et en cellule J16, je définis sur quelle clé USB je veux enregistrer mon fichier.
Si J16 = G par exemple comment composer la macro suivante pour que cela fonctionne ?

Merci à l'avance,
Webperegrino

VB:
Sub SAUVEJOURN()
Dim Path As String, valeur As String
Path = ActiveWorkbook.Path & "\"
valeur = "MONFICHIER_" & Format(Date, "dddd dd mmmm") & "_" & Replace(Format(time, "hh:mm"), ":", "h") & ".xls"
'ThisWorkbook.SaveAs Filename:= _
"G:\SAUVEGARDE JOURNALIERE" & "\" & valeur
ThisWorkbook.SaveAs Filename:= _
"Sheets("Feuil1").range("J16").value:\SAUVEGARDE JOURNALIERE" & "\" & valeur
End Sub
 
Dernière édition:
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Bonjour Webperegrino

Normal que ça coince 😛
Tu mets l'instruction de récupération de la lettre entre guillemets !?

Il faut mettre
Code:
ThisWorkbook.SaveAs Filename:= _
Sheets("Feuil1").range("J16").value & ":\SAUVEGARDE JOURNALIERE" & "\" & valeur

Nota : c'est pour ce genre de raison que j'aime passer par des variables
Tu mettrais
Code:
Dim sPathFic as String
sPathFic = Sheets("Feuil1").range("J16").value & "\SAUVEGARDE JOURNALIERE" & "\" & valeur
ThisWorkbook.SaveAs Filename:=sPathFic
Tu saurais ce que contient "sPathFic"
 
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Bonjour Bruno, Webperegrino

Ma solution trés proche , effectivement décomposer , c'est gagné surtout quelques mois aprés , lorsqu'il faut faire une modif.

Code:
Sub SAUVEJOURN()
Dim Chemin As String, Fichier As String, Horodate As String
Chemin = ActiveWorkbook.Path & "\" & Sheets("Feuil1").Range("J16").Text & ":\SAUVEGARDE JOURNALIERE\"
Horodate = Format(Date, "dddd dd mmmm") & "_" & Replace(Format(Time, "hh:mm"), ":", "h")
Fichier = "MONFICHIER_" & Horodate & ".xls"
ThisWorkbook.SaveAs Filename:=Chemin & Fichier
End Sub
 
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Bonjour Le Forum,
Bonjour Bruno,
Bonjour Camarchepas,
Enchanté de voir deux solutions à expérimenter.
Merci pour cette "eau" supplémentaire pour mon "moulin" de macros commandes.
J'expérimente aujourd'hui et vous reviens pour vous confirmer.
Bonne journée,
Webperegrino
 
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Bonsoir ou Bonjour Le Forum,
Chers amis BrunoM45 et Camarchepas,
Je suis désolé de revenir vers vous avec le fichier ci-joint dans lequel j'ai une annonce d'erreur dans vos deux programmations proposées.

Il y a bien un dossier « SAUVEGARDE JOURNALIERE » en clé USB (I par exemple) qui pourrait recevoir le fichier « BRUNOM45_CAMACHEPAS.xls » transféré en BRUNOM45_CAMARCHEPAS.xls_dimanche 3 août_01h31 par exemple.
En vain.
Au pire, si ça peut simplifier, on pourrait décider de le placer seulement dans I, J, ou G, etc, choisie, sans spécifier l'arborescence approfondie de son positionnement.

L'objectif est aussi, avec cette manip, de rester dans le fichier source ouvert tout en plaçant la copie ainsi définie dans la destination choisie, sans ouvrir cette dernière ou bien de la fermer sans fermer le fichier source dans lequel on peut continuer à opérer.

Sinon, je procèderais par les étapes traditionnelles : fermer l'application source - placer un exemplaire en clé USB - et y redéfinir son nom en ajoutant jour et heures-minutes dans son titre.

Merci pour votre soutien dans cette recherche,
Cordialement
Webperegrino
 

Pièces jointes

Dernière édition:
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Bonjour,

@ Bruno : Me suis permis de rectifier trés légérement ton code , car il faut bien les : pour définir le lecteur
@ Moi Modification de la définition du contenu de la variable Chemin , programmé par réflexe .
@ Webperegrino : Et oui c'est pour cela que l'on demande un fichier support , cela nous permet de mieux tester sans y passer trop de temps
Et oui sur ton classeur la lettre est en I17 pas J16 comme annoncé dans ta demande, il faut soit , juste modifier l'adresse dans le code ou la position de ton information

Dans Feuil1 et en cellule J16, je définis sur quelle clé USB je veux enregistrer mon fichier.
Si J16 = G

Lègére correction donc et ca fonctionne, j'ai testé sur une vraie config pour les 2 versions
 

Pièces jointes

Dernière édition:
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Bonjour Le Forum, Bruno, Camarchepas,
J'ai aussi essayé tes corrections dans mon fichier originaire.
Cela fonctionne en effet et je t'en remercie.
Il ne me reste plus qu'à trouver la dernière solution en phase 3 : après son transfert renommé, le fait de rester à l'intérieur de ce fichier originaire à l'écran...
Car pour le moment après l'enregistrement du fichier renommé et sa fermeture [c'est tout bon !] je me trouve avec le fond Excel mais sans mon fichier source ouvert.
Mais grâce à toi, j'ai fait une belle avancée, merci encore.
Cordialement,
Webperegrino
Nota : en I17 je me suis même fait une liste de validation où j'ai I:\;J:\;G:\;et aussi un chemin du style I:\Armoire XXX\2014\COFFRE FORT YYY\SAUVEGARDE JOURNALIERE\ mais pour ce dernier choix, je reste avec un message d'erreur que j'essaie de solutionner tout seul.
 
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Bonjour,

Pour garder ton fichier source actif,
la seule solution copier la/les feuille(s) souhaitées dans un nouveau classeur et enregistrer celui-ci.

Edit : quand on ne veut pas enregistrer toutes les feuilles et/ou le code avec

A+
 
Dernière modification par un modérateur:
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Re ,
Alors une solution possible ,

Je crois que cela existait déjà en Xl2003

thisworkbook.SaveCopyAs >> enregistrement d'une copie , donc l'original reste en état , et de plus y'a rien à fermer puisque pas ouvert .
 
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Bonjour à tous,

Juste parcouru le fil; pourquoi ne pas utiliser SaveCopyAs qui permettrait de rester dans le fichier source ?

Edit : @ camarchepas 😱 désolé pas réactualisé le fil
 
Dernière édition:
Re : Enregistrer sur USB dont le nom est défini en cellule J16

Bonsoir Le Forum, Brunom45, Camarchepas et Mapomme,
Vos toutes dernières réponses sont intéressantes.
J'applique parfois la proposition de Bruno dans son #8 via un useForm pour un choix de la ou des feuilles à transférer.
Effectivement, dans le cas présent pour le fichier entier à renommer avec date & heure, "SaveCopyAs" semble être l'excellente solution ; je vais l'adopter.
C'est très agréable d'avoir eu votre aide très sérieuse et utile.
Cordialement,
Webperegrino
 
- 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
Retour