[Abandon] Enregistrement automatique par VBA

Neo37

XLDnaute Junior
Bonjour à tous,

J'ai un peu honte de demander ça sur le forum, car ça ne doit pas être compliqué, mais là je n'arrive pas à me débrouiller par moi même. Je cherche depuis deux jours sur le net, et jamais de réponse qui colle parfaitement à mon soucis.

Je souhaiterais que mon fichier Excel s'enregistrement automatiquement toute les x secondes, dès son ouverture.
Je sais qu'il y a une fonction dans les menus d'Excel, mais ça se limite à 5 minutes, en tout sur la version installée à mon boulot (2002).

Donc sous VBA, quelle est la formule qui puisse faire cela?

Merci d'avance.
 
Dernière édition:

Neo37

XLDnaute Junior
Re : Enregistrement automatique par VBA

:eek:
Désolé de ne pas avoir donné plus d'info sur l'utilité du fichier que je souhaite au final.
En fait il sera mis en partage, chaque utilisateur aura ses propres champs à renseigner, et les autres devront pouvoir voir presque en "temps réel" les changements fait pas les autres. C'est pour cela que je souhaite mettre une temporisation dans ses enregistrements, pour un temps de rafraichissement acceptable, en secondes pour mon cas.
J'avais commencé avec une formule de ce type au début:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ThisWorkbook.save
End Sub

Mais si un utilisateur ne remplit rien pendant longtemps, il ne voit pas les changements fait pas les autres, je souhaite qu'il n'ai pas à faire d'action particulière pour que la mise à jour se fasse. D'où mon soucis :) et ma demande d'une solution pour mettre en place un enregistrement par tempo automatique.

Tu m'avais fournit une bonne solution fhoest, mais ce soucis de fermeture du fichier est un problème pour moi.

Je reprécise que la version d'Excel utilisé à mon boulot est de 2002, je sais qu'apparemment sur les dernières version d'Excel l'option de fichier partagé est plus poussé, mais malheureusement ce n'est pas demain qu'on aura une update là-dessus.
 

fhoest

XLDnaute Accro
Re : Enregistrement automatique par VBA

Bonjour,
Voici une solution qui pourrait sans doute te convenir:
A tester cette tout autre méthode de gestion du temps.
A bientôt.:eek:
 

Pièces jointes

  • exemple Neo enregistrement_fhoest.xls
    43.5 KB · Affichages: 43
  • exemple Neo enregistrement_fhoest.xls
    43.5 KB · Affichages: 44
  • exemple Neo enregistrement_fhoest.xls
    43.5 KB · Affichages: 37

Neo37

XLDnaute Junior
Re : Enregistrement automatique par VBA

Bonjour,

Je tentais de réutiliser ton fichier, mais devant mon faible niveau, je suis repartie sur le premier jet, en essayant de le décoincer, mais pour VB ça ne lui convient pas:

Dans ThisWorkbook

Private Sub Workbook_Open()
Call temps
End Sub


Et dans Module 1

Sub temps()
Application.OnTime Now + TimeValue("00:00:10"), "save"
End Sub
Sub save()
...If Workbook.Close() = True Then
...Exit Sub
...End If
...ActiveWorkbook.save
...Call temps
End Sub

(les "..." c'est pour représenter la tabulation)
Ca bloque à la ligne "If Workbook.Close() = True Then"
Est-ce ma fonction IF qui est mal écrite?
 

fhoest

XLDnaute Accro
Re : Enregistrement automatique par VBA

Bonjour,
As tu regardé le dernier fichier avec l'autre méthode ?
tu ne peux pas écrire if workbook.close()=true tu dois utilisé une variable boolean instancier en public dans un module standard
du style:
Code:
public ma_variable as boolean
à placer en tête d'un module standard
mais j'ai déjà essayer de faire de la sorte cela ne fonctionne pas regarde plutôt l'autre méthode,
car la méthode que j'ai utilisé en premier s'emploie normalement une seule fois de temps en temps et non en boucle ou alors a une heure bien précise et la plus facile de l'arrêter.
A+
 

Neo37

XLDnaute Junior
Re : Enregistrement automatique par VBA

Bon alors un peu le même soucis que pour la première méthode. Quand j'utilise ces codes, impossible d'ouvrir un autre fichier xls en double cliquant dessus, il faut passer par le menu, ça s'ouvre mais au bout de quelque secondes, Excel plante.
Apparemment tout mes souhaits ne peuvent être remplit à la fois, je vais devoir me résigner à utiliser un Bouton pour activer ou désactiver la procédure j'ai l'impression.
 

fhoest

XLDnaute Accro
Re : Enregistrement automatique par VBA

Bonjour ,

un nouveau test on ne sait jamais peut être que celui ci fonctionnera:

A bientôt.:p:D
 

Pièces jointes

  • exemple Neo enregistrement_fhoest.xls
    44 KB · Affichages: 28
  • exemple Neo enregistrement_fhoest.xls
    44 KB · Affichages: 27
  • exemple Neo enregistrement_fhoest.xls
    44 KB · Affichages: 30

Neo37

XLDnaute Junior
Re : Enregistrement automatique par VBA

Bonjour,

Idem, impossible d'ouvrir un autre fichier quand celui-ci est ouvert.

Je capitule, je vais simplement utiliser l'enregistrement automatique après chaque modif dans une cellule, et je rajouterai une note pour que les utilisateurs cliquent sur Enregistrer pour rafraichir leur écran.

Merci quand même pour ton aide.
 

Discussions similaires

Statistiques des forums

Discussions
312 373
Messages
2 087 726
Membres
103 655
dernier inscrit
MOUNIRACH16