Modifier ce code pour enregistrer seulement ma feuille active

amauryde

XLDnaute Occasionnel
:mad:

Bonjour à tous,

J'essaye tant bien que mal de modifier ce code qui enregistre tout mon document pour enregistrer seulement ma feuille active dans le même répertoire que mon fichier Excel

Public Sub GuardarProveedor() 'copie sauvegarde feuille
Dim Nom As String
Nom = [B26].Value & "_" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & Hour(Time) & "h" & Minute(Time) & "-" & ActiveWorkbook.Name

ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & Nom
rep = MsgBox("El reporte del proveedor ha sido guardado en: " & Nom, vbYes + vbInformation, "Guardar el reporte")
End Sub

PS: B26 est une cellule de ma feuille active

Merci d'avance pour votre aide
 

tototiti2008

XLDnaute Barbatruc
Re : Modifier ce code pour enregistrer seulement ma feuille active

Re,

Exactement toutes les 5 minutes ou on attend que l'utilisateur sélectionne une cellule ?
sur le principe de la sélection :

en haut d'un module :

Code:
Public Temps as Date

dans Thisworkbook :

Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Now > Temps Then
    Temps = Now + TimeValue("00:05:00")
    Application.OnTime Temps, "EnregistrerFichier"
End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Application.OnTime Temps, "EnregistrerFichier", , False
    On Error GoTo 0
End Sub
 

amauryde

XLDnaute Occasionnel
Re : Modifier ce code pour enregistrer seulement ma feuille active

Non exactement toutes les 5 minutes, en quelques sorte pour faire une sauvegarde si on a une panne importante.

Sais tu également, stp, comment je peux traduire ceci dans mon enregistrement:ActiveWorkbook.SaveCopyAs ActiveWorkbook & "\" & "Grabacion automatica".Path & Nom.xlsm

Pour te donne une idée: j'ai un dossier où il y a mon fichier excel et un autre dossier "grabacion automatico" et j'aimerai enregistrer la sauvegarde dans le dossier "grabacion automatico". Sans passer par C:....\..\..
 

Papou-net

XLDnaute Barbatruc
Re : Modifier ce code pour enregistrer seulement ma feuille active

Re amuryde,

Tu trouveras tous les renseignements utiles dans le lien ci-dessous :

Tutoriels : myDearFriend! Excel Pages

Partant de ce dosument, tu peux saisir dans un module de code standard les lignes suivantes :

Code:
Option Explicit
Dim Tps As Date
 
Sub Chrono()
    'Programmation de l'évènement toutes les secondes
    Tps = Now + TimeValue("00:05:00")
    Application.OnTime Tps, "Tempo"
    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, "Tempo", , False
End Sub

Et pour lancer le chrono à l'ouverture du fichier et l'arrêter à la fermeture, dans le module ThisWorkbook :

Code:
Option Explicit
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    StopChrono
End Sub

Private Sub Workbook_Open()
    Chrono
End Sub

Espérant avoir aidé.

Cordialement.
 
Dernière édition:

Discussions similaires