IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[E-03] Sauvegarde et Suppression auto


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Par défaut [E-03] Sauvegarde et Suppression auto
    Bonjour à tous

    Mon problème cette semaine est axé sur la sauvegarde auto et la suppression auto.

    Je voudrais que quand une cellule spécifique de mon fichier (par exemple A1) est remplie, mon fichier se sauvegarde automatiquement dans un autre dossier (appelé par exemple "temporaire").

    Et qu'une fois ce fichier rempli entièrement, quand je sauvegarde, ça me l'enregistre dans un autre dossier ( "registre") et qu'en même temps ça le supprime du fichier "temporaire".

    C'est possible ou pas ? (je sais que c'est bon pour la sauvegarde mais pas sur que ce soit possible pour la supression)

    J'ai déja un bout de code en ce qui concerne le choix du dossier lors d'un enregistrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub sauvegarde() 
    Dim Chemin As String
    Chemin = "C:\Documents and Settings\*******\dossier\" ' registre ou temporaire
    Nom_Sauve = Chemin & (ActiveWorkbook.Worksheets(1).Range("A1").Text & ".xls") 'nom de sauvegarde
    ThisWorkbook.SaveAs (Nom_Sauve)
    End Sub
    Merci de bien vouloir m'éclairer

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    1: pour ta sauvegarde automatique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target Is Range("A1") Then
            If Target.Value<>"" Then
                ' Sauvegarde
            End If
        Enf If
    End Sub
    2: pour ta sauvegarde une fois le fichier rempli
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
        ' Je te laisse deviner ce qu'il faut mettre ici
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Par défaut
    Merci,

    j'arrive à faire ce que je veux pour ma 2eme partie (sauvegarde et supression de la version "temporaire").

    Par contre ça bloque au niveau du 1:... Ca n'a pas l'air de fonctionner.
    J'dois mal m'y prendre...

    Ps: j'ai pensé à corriger le 2eme "End if" du 1: ^^

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Désolé, j'ai tapé ça directement sur le forum.
    Utilise ta fonction sauvegarde dans le 1.

    Montre voir ce que tu as fait?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Par défaut
    Y'a pas de mal ^^"

    Pour la fonction, j'ai fait un bête copié/collé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target Is Range("A1") Then
            If Target.Value<>"" Then
    Dim Chemin As String
    Chemin = "C:\Documents and Settings\*******\dossier\" ' registre ou temporaire
    Nom_Sauve = Chemin & (ActiveWorkbook.Worksheets(1).Range("A1").Text & ".xls") 'nom de sauvegarde
    ThisWorkbook.SaveAs (Nom_Sauve)
         End If
        End If
    End Sub
    Voyant que ca marchait pas j'ai tenté quelques modifs par-ci, par-là mais sans succès...

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Ah pardon désolé je me suis trompé en te donnant du code: j'oubliais que la comparaison de plages ne donnait pas souvent un résultat concluant.

    Remplace:
    Par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Target.Address = Range("A1").Address
    Ca j'en suis sûr ça fonctionnera.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2013] Table : suppression auto des espaces dans une table
    Par bdf94 dans le forum Modélisation
    Réponses: 0
    Dernier message: 17/04/2015, 14h50
  2. [AC-2003] Suppression Auto d'un enregistrement si ses champs sont vides
    Par PierrotMfff dans le forum IHM
    Réponses: 4
    Dernier message: 20/02/2014, 17h49
  3. [XL-2007] Suppression Auto de certaines lignes
    Par malababar dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/04/2010, 12h16
  4. [Access] problème de sauvegarde avec suppression
    Par Malown dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/07/2007, 17h16
  5. [Upload] Suppression auto des fichiers uploadés
    Par silver.spike dans le forum Langage
    Réponses: 5
    Dernier message: 09/03/2007, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo