Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 enregistrer sur le bureau chaque 5mn classeur actif sous son nom +1

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Afin d'éviter ou de réduire les risques de pertes de données saisies, je voudrais faire ce qui suit :

Enregistrement automatique chaque 5 mn (ou à paramétrer selon besoin) du fichier sous un autre nom
actuellement : nom du fichier = valeur A1

J'ai relevé le code sur : https://forum.excel-pratique.com/viewtopic.php?t=18819 que je remercie au passage

Le code enregistre dans "mes documents"
J'ai besoin que l'enregistrement se fasse sur le bureau de l'ordinateur (ou autre nom du bureau, quel que soit l'ordinateur)

D'autre part et si possible LOL
en remplacement des codes : Range("b1").Value = Range("b1").Value + 1 et [a1] = "=""enregistrement""&RC[1]"
qui m'obligent à occuper 2 cellules (a1 et b1) de ma feuille … est-il possible d'écrire un code qui enregistre directement sous le nom du classeur actif +1
J'ai cherché et fait des tests sans meilleure réussite.

Comme d'hab, je fais appel à votre expertise pour une solution qui m'arrangerait bien
Je joins le fichier test paramétré pour tests toutes les 10 secondes.

Un grand merci une fois de plus à toutes et à tous,
Amicalement,
Lionel,
 

Pièces jointes

  • enregistrement69.xlsm
    20 KB · Affichages: 18
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re, Bonjour job75

Je me suis arrêté à cette phrase du premier message
Afin d'éviter ou de réduire les risques de pertes de données saisies
Cette fonctionnalité récente évite ce genre de déboire, non?
Et c'est transparent pour l'utilisateur, et le versionning permet de repartir d'un fichier avant modif.
Et comme précédemment dit, si arthour avait présicé au départ qu'il ne voulait pas utiliser cette possibilité, je ne serais pas passé dans le fil.
(Ou peut-être que si...j'aurai posté le message#30 en me disant que cela pourrait interesser les autres lecteurs du fil qui ne connaissaient pas cette fonctionnalité)
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Gérard, JM, le Forum,

Tu as raison JM j'aurais du parler de cette fonctionnalité et des difficultés pour mes commerciales à s'en servir.
Je répondrai en détail (peut-être dans un nouveau fil dès que j'aurai un moment.
J'en profiterai pour parler de ce que va nous apporter le code génial de Gérard.

Génial, c'est peu dire car je viens de m'apercevoir d'une chose que je trouve incroyable !!!

Je travaille ce matin ... comme toujours LOL
J'ai intégré le code de Gérard dans le fichier de travail et je travaille avec.
J'ai volontairement fait des fausses manœuvres qui ont désactivé les macros.
et .... miracle du Saint Esprit ou de Gérard,
les sauvegardes continues à ce faire.
Alors là, je sors de mon pantalon à reculons LOL
lionel,
 

Usine à gaz

XLDnaute Barbatruc
JM, pas trop le temps de discuter maintenant mais les code sont désactivés.
par exemple, quand je clique sur certaines cellules un UF doit s'ouvrir pour faire une sélection et continuer la saisie.

Macros actuellement désactivées = pas d'UF qui s'ouvre.
Mais les sauvegardes de Gérard se font LOL
Miracles .... ou explications rationnelles ?
 

job75

XLDnaute Barbatruc
Je confirme que lorsque le processus Application.OnTime a été lancé il s'exécute même si l'on désactive les macros (mode Création).

La macro Enregistrer se déclenche à l'instant mémorisé en réactivant les macros.

PS : ne zape pas mon post #50...
 

Usine à gaz

XLDnaute Barbatruc
Re-Gérard,

Bien sûr que je ne zappe pas ton post #50 et j'avais téléchargé le classeur dès que je l'ai vu

Macros désactivées :

"Je confirme que lorsque le processus Application.OnTime a été lancé il s'exécute même si l'on désactive les macros (mode Création).
La macro Enregistrer se déclenche à l'instant mémorisé en réactivant les macros."


Alors, nom d'une pipounnette en string", c'est peut-être la solution à mon fil : "Macros se désactivent pendant utilisation du classeur"
"Bien sûr que non puisqu'il faut une macro pour un message d'alerte."

Ce serait génial car macros réactivées à chaque sauvegarde
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
LOL, pourtant elle m'avait semblé fonctionner correctement

En finalité, puisque ton code réactive les macros à chaque exécution, je l'ai installé dans les fichiers pour sauvegarde chaque 5 secondes.
ça ne devrait pas leur laisser le temps de travailler en macros désactivées.

A l'usage, nous verrons si ça les ralenti dans leur travail ou pas
 

job75

XLDnaute Barbatruc
Tout à fait d'accord Lionel mais il n'y a pas besoin de "sauvegarder" toutes les 5 secondes.

Vois le fichier joint, tout le code est dans ThisWorkbook :
VB:
Dim t# 'mémorise la variable

Private Sub Workbook_Open()
ReactiveMacros 'lance le processus
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Me.Saved Then Me.Save 'enregistrement
On Error Resume Next
Application.OnTime t, Me.CodeName & ".ReactiveMacros", , False 'arrête le processus
End Sub

Sub ReactiveMacros()
On Error Resume Next
Application.OnTime t, Me.CodeName & ".ReactiveMacros", , False
t = Now + 5 / 86400 'délai de 5 secondes
Application.OnTime t, Me.CodeName & ".ReactiveMacros"
End Sub
A+
 

Pièces jointes

  • Réactive les macros(1).xlsm
    20.6 KB · Affichages: 5

Usine à gaz

XLDnaute Barbatruc
Merci à nouveau pour ce code Gérard
Je ne sais plus koi te dire

Comme je l'ai dit à JM en #post 48 :
"Tu as raison JM j'aurais du parler de cette fonctionnalité et des difficultés pour mes commerciales à s'en servir.
Je répondrai en détail (peut-être dans un nouveau fil dès que j'aurai un moment.
J'en profiterai pour parler de ce que va nous apporter le code génial de Gérard.
"

Je ferai un fil spécial de nos expériences en la matière à l'attention de tous.

Bonne fin de dimanche
lionel,
 

Usine à gaz

XLDnaute Barbatruc
Si je comprends bien ton fichier post #56, je peux ajouter le code pour que les macros soient réactivées chaque 5 secondes ou - et "allonger" le temps d'exécution des sauvegardes,
C'est encore plus génial que génial
 

Usine à gaz

XLDnaute Barbatruc
Tu as mis le module "Sub ReactiveMacros()" dans le ThisWorkbook ...

Je ne savais pas qu'on pouvais mettre un module dans le ThisWorkbook

Mais il y a tellement de choses que je ne sais pas LOL
Comme disait Gabin, je sais que je ne sais pas mais ça ... je le sais
 

Discussions similaires

Réponses
3
Affichages
203
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…