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

Enregistrement automatique PB avec un module VBA

amauryde

XLDnaute Occasionnel
bonjour le forum,

j'ai un fichier xlsm avec un enregistrement automatique qui marche très bien. Voici ce que je n'arrive pas à faire:

ce fichier nommé X s'enregistre automatiquement... (sauvegarde en VBA)

j'ai également d'autres voies d'enregistrement par boutton: création de nouveau fichiers:A, B et C... comment faire pour éviter que la sauvegarde automatique en VBA de X soient présentes sur A, B et C... car sinon tout plante

voici my thisworkbook:

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
StopChrono
End Sub

Private Sub Workbook_Open()
Chrono
End Sub

et mon module:

Sub EnregistrerFichier()
Dim Nom As String

ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\Grabacion automatica\" & "grabacion automatico para recuperacion" & Split(ActiveWorkbook.Name, ".")(0) & ".xls"
End Sub

Sub Chrono()
'Programacion del evento todas las cinco minutos
Tps = Now + TimeValue("00:05:00")
Application.OnTime Tps, "Chrono"
EnregistrerFichier ' appelle la macro d'enregistrement
End Sub

Sub StopChrono()
On Error Resume Next
'Stopper la gestion de l'évènement OnTime en cours
Application.OnTime Tps, "Chrono", , False
End Sub

sans doute une ligne à rajouter en prenant en compte le nom du fichier X qui ne change pas...

Merci à vous
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrement automatique PB avec un module VBA

Bonjour,

si le fichier concerné est celui dans lequel s'exécute le code, rempla les "ActiveWorkbook" par "thisworkbook"....

bon après midi
@+
 

tototiti2008

XLDnaute Barbatruc
Re : Enregistrement automatique PB avec un module VBA

Bonjour Pierrot,

Malheureusement ça ne marche pas

ça devrait...
à moins que ce soit ton fichier X qui soit enregistré en fichier A, B et C ?
si c'est ça, les fichier récupèrent le code d'enregistrement automatique avec eux
peut-être les enregistrer en xslx à la place de xlsm, mais ça fera sauter toutes les macros
 
Dernière édition:

amauryde

XLDnaute Occasionnel
Re : Enregistrement automatique PB avec un module VBA

c'est exactement ça, pardon si je me suis mal exprimé en énonçant le problème.
J'ai énormément de macro donc ca risque de créér un pb.

N'est-il pas possible de créer une ligne disant: "la macro est valide seulement pour le fichier portant le nom X" avec un true et false sans doute..
 

tototiti2008

XLDnaute Barbatruc
Re : Enregistrement automatique PB avec un module VBA

Re,

Si, c'est possible

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    if Thisworkbook.name = "X.xlsm" then
StopChrono
end if
End Sub

Private Sub Workbook_Open()
if Thisworkbook.name = "X.xlsm" then
    Chrono
end if
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…