Bonjour.
J'aimerai avoir la commande pour un fichier.bat pour sauvegarder un fichier exel avec la date et heure de la sauvegarde.
Je l'ai déjà fait pour une sauvegarde mais sans la date et heure.
Merci de votre aide.
Papoux
Bonjour.
J'aimerai avoir la commande pour un fichier.bat pour sauvegarder un fichier exel avec la date et heure de la sauvegarde.
Je l'ai déjà fait pour une sauvegarde mais sans la date et heure.
Merci de votre aide.
Papoux
Bonjour,
Pourquoi demander un fichier batch dans un forum Excel ?
C'est quoi le but de la manœuvre ?
Surtout que VBScript est probablement plus facile à utiliser qu'un fichier batch pour rabouter une date à un nom de fichier existant.
Et surtout que les propriétés des fichiers donnent déjà la date et l'heure.
Moi pas comprendre.
P.S. Une macro Excel (VBA), un fichier .bat et un script (VBS, JavaScript etc.) sont 3 choses différentes.
À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.
Ô Saint Excel, Grand Dieu de l'Inutile.
Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.
Bonsoir clementmarcotte
La raison est bien simple, j'utilise le gestionnaire de tâches pour activer le fichier.BAT et je sauvegarde un fichier exel (le même) deux fois par jour et une remise a zéro entre les deux sauvegarde (quart de jour et quart de soir)la raison pour laquelle je dois mettre la date et l'heure pour ne pas écraser l'ancien fichier.
Voici la commande que j'ai présentement pour sauvegarder mais pas de date et d'heure
Merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @echo off copy "C:\Documents and Settings\productionmodel\Mes documents\Affichage Model\model2\Data source\Backup\Invdbbackup.XLS" "C:\Documents and Settings\productionmodel\Mes documents\Affichage Model\model2\Data source\Invdb.XLS" exit
Papoux
Wao !!! Ca fait remonter des truc d'une autre époque à la surface. Ca doit bien faire une paire de décennies que je ne me suis pas amusé avec des BAT.
Si je me souviens bien, ce genre de chose, je le faisais avec des variables système.
Tu dois pouvoir utiliser DATE et TIME dans ton cas. Pour les utiliser, il faut les encadrer avec des "%".
Essaye ça dans une fenêtre DOS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2echo %DATE% echo %TIME%
Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.
Salut
Si ma mémoire ne me fait pas defaut il est possible de lancer une fonction (Function à la place de Sub) à partir d'un .BAT (J'ai fait ça avec ACCESS et cela marchais bien)
Dans une fonction comme dans une Sub d'ailleurs on peut facilement sauvegarder ton fichier avec date et heure.
à bientôt
Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)
n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !
Bonjour,
J'ai testé ce code avec succès
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @echo off set fichier1=c:\temp\Classeur1.xls set fichier2=c:\temp\excel%DATE:~0,2%%DATE:~3,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%.xls copy %fichier1% %fichier2%
Bonjour.
Merci Hélas, je vais essayer ça.
J'ai trouvé une autre façon d'enregistrer mon fichier, il ne me reste qu'a trouver comment faire pour ajouter l'heure et la date.
Pour l'instant je le sauvegarde dans le même fichier mais sous un autre nom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part CopyFile("C:\Documents and Settings\XPMUser\Mes documents\Profileuse\Data source\Invdb.XLS","C:\Documents and Settings\XPMUser\Mes documents\Profileuse\Data source\Invdb2.XLS")
Un autre problème. Quand je fais ma sauvegarde, les données du fichier original d'Exel ne s'enregistrent pas, comme si un lien empêchais le transfert des données.
Une solution a ce problème ??
P.S. J'apprécie vraiment votre aide
Papoux
Sans savoir quelle commande tu utiles pour sauvegarder et dans quel environnement se situe ton application (accès par d'autres utilisateurs ? ) je ne vois pas comment il serait possible de t'aider.
Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.
Et quand la demande est mal formulée et incomplète, voire même dans le mauvais forum, je passe sans répondre !
C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
J'ouvrais la base de données mais j'avais oublié de donner la commande de la fermer avant de faire le transfert d'un fichier vers l'autre.
C'est réglé pour ce problème, il me reste qu'a essayer d'enregistrer ave la date et l'heure.
Je vous reviens la dessus aussitôt les essais faits.
Merci et bonne journée !
Papoux
Pour ceux qui commence ici sur le site et en programmation, ce n'est vraiment pas évident de s'expliquer et de trouver le bon forum sur lequel poser nos questions.
Vous pourriez nous aider en nous redirigeant ou tout simplement ne pas répondre tant qu'a répondre comme vous l'avez fait. Jamais je n'agirai ainsi, je poserai justement des questions pour essayer de comprendre ou au moins diriger la personne à la bonne place.
Si vous ne voulez pas de débutants ici, dites le simplement et on cherchera ailleurs.
Mes salutations
Papoux
Pour rappel, demande d'origine :
« sauvegarder un fichier Excel avec la date et heure de sauvegarde » : en clair, sans décodeur ?‼
Car sauvegarder un fichier Excel oui mais comment ? D'où et vers où ? J'ai une dizaine de méthodes à la louche !
Et la date et heure de sauvegarde : sans en préciser la destination, on en fait quoi ?
Faudrait-il faire appel alors à une cartomancienne ?!
Et puis logiquement, lorsqu'un fichier est enregistré, il comporte déjà une date et une heure,
faut-il vraiment en plus une date de "procédure de copie" ?
Bref, ce n'est pas une question de débutant ou pas mais, comme stipulé dans les règles du forum,
juste de présenter clairement & exhaustivement une problématique !
Cordialement.
__________________________________________________________________________________________
Question bien formulée, solution assurée ! (Robert Durupt)
C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
Je dois sauvegarder deux fichiers par jour, quart de production de jour et de soir et les fichiers doivent pouvoir être consulté par la suite et pour trouver rapidement, ils serait préférable que chacun des fichiers comportent le même nom ainsi que la date et l'heure de la sauvegarde, il sera ainsi plus facile de trouver le fichier que l'on désire consulter.
Je dois sauvegarder tous les fichiers au même endroit, comme exemple C:\mes documents\production journalière\nom avec date et heure.
Merci |
Papoux
En commande batch je ne vois pas si c'est possible - comme Loïc je commence à être rouillé ! - mais
via le conteneur WSH plus VBScript par exemple (il y a un tutoriel dans le forum EDI - Visual Basic 6)
ou encore sous PowerShell, tout comme directement en VBA …
C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
Ce que tu décris là est beaucoup plus simple à faire avec une macro dans Excel qu'avec un fichier batch.
Premier problème : composer le nom de fichier.
Pour ça, il suffit de mettre ta racine ( "C:\mes documents\production journalière\nom" ) dans une variable String et d'y ajouter la date ( Date$ ) et l'heure ( Time$ ) avec des "&" (opérateur de concaténation).
Second problème ; Faire une copie de sauvegarde.
Rien de plus simple avec la méthode SaveCopyAs de l'objet Workbook.
Elle a la particularité de faire une sauvegarde sous un autre nom du fichier ouvert sans changer le nom de celui-ci. Ca semble être exactement ce que tu veux faire.
Troisième problème : lancer cette duplication au bon moment.
Tu peux utiliser la méthode OnTime de l'objet Application.
Tu la places dans une macro qui se lance à l'ouverture de ton fichier ( tout simplement dans une macro intitulée Private Sub Workbook_Open() à placer dans Workbook). Ca te permettra d'indiquer à quelle heure déclencher la macro de duplication.
Une fois que ta macro aura été déclenchée, il ne faut pas oublier de la terminer par un autre OnTime pour la duplication suivante.
Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.
helas, j'ai essayé votre formule mais je n'ai pas eu de succès, par contre celle que j'ai mis ici fonctionne parfaitement.
J'ai mis ce code dans un fichier.cmd que j'active avec mon logiciel CX-Supervisor. C'est exactement le résultat que je cherche. Par contre, il y a certainement un moyen sans passer par un fichier.cmd ou .bat. Dans mon logiciel je peut écrire des commandes en Script VB.
Si je met cette commande directement dans mon logiciel, ça ne copie rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @echo off copy "C:\Documents and Settings\XPMUser\Mes documents\Profileuse\Data source\Invdb.xls" "C:\Documents and Settings\XPMUser\Mes documents\Backup\Invdb%DATE:~0,2%%DATE:~3,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%.xls" exit
Mais si je l'inscrit ainsi, ça transfert mais je n'ai pas la date et l'heure
Code : Sélectionner tout - Visualiser dans une fenêtre à part CopyFile("C:\Documents and Settings\XPMUser\Mes documents\Profileuse\Data source\Invdb.xls","C:\Documents and Settings\XPMUser\Mes documents\Backup\Invdb%DATE:~0,2%%DATE:~3,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%.xls")
SI jamais vous avez des idées de code dans ce language
Code : Sélectionner tout - Visualiser dans une fenêtre à part CopyFile("C:\Documents and Settings\XPMUser\Mes documents\Profileuse\Data source\Invdb.xls","C:\Documents and Settings\XPMUser\Mes documents\Backup\Invdb.xls")
Merci de votre aide, j'apprécie vraiment.
Papoux
Mon logiciel est CX-Supervisor le la compagnie Omron qui n'est pas très connu mais c'est assez convivial.
Pour ce qui est de la sauvegarde, je préfère maintenant faire la sauvegarde en appuyant sur une touche dans l'interface de CX-Supervisor ou de la programmer automatiquement avec ce logiciel que de le faire a une heure spécifique avec l'aide d'une macro dans Exel.
Présentement je suis capable de le faire en me servant de mon fichier .CMD que j'active dans CX-Supervisor. Ça fonctionne très bien mais j'aimerai le faire sans avoir a me servir du fichier.CMD
Papoux
Au départ ça avais rapport avec exel mais ça été modifié au fil des discussions.
Comme CX-Supervisor n'est aucunement connu ici sur le forum, je vais transférer ma demande sur Visual Basic
Désolé du contretemps.
Merci encore
Papoux
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager