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 :

Enregistrement en nombre limité [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 35
    Par défaut Enregistrement en nombre limité
    Bonjour,

    Lorsque je sauve mon classeur avec le nom et l'heure, je multiplie les sauvegardes.
    Or, pour des raisons évidentes, je n'ai pas besoin d'en avoir des tonnes.
    Je cherche à améliorer le code que j'utilise afin d'en avoir que 2 (en effacant la sauve la plus ancienne à chaque fois).

    Merci pour votre aide.
    RDBAL.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je n'ai pas ouvert ton classeur (je n'ouvre en aucun cas un classeur tiers).
    Utilise donc la fonction Dir pour lister les fichiers dans le dossier de tes sauvegardes
    Nomme tes sauvegardes de manière astucieuse (par exemple : le_nomyyyymmdd
    il t'est alors facile de déterminer la chaîne de caractère de plus petit poids -->> détruis ce fichier par l'instruction Kill

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 35
    Par défaut limité les enregistrements
    Bonjour,

    Merci pour la réponse, c'est astucieux.
    Logique pour l'ouverture du fichier, je n'y avais pas pensé.
    Voiçi le code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub EnregDateHeure()
     
    'boite de dialogue
    Dim Left1 As Variant
    Dim Top1 As Variant
    Dim HelpFile1 As Variant
    Dim HelpContextId1 As Variant '*****************
    Dim Prompt1   As String
    Dim Title1 As Variant
    Dim Default1 As Variant
    Dim Type1 As Variant
    'response est fonction du type1
    Dim reponse1 As String
    Dim chemin As String
     
    Dim date1 As String
    ' si annuler sortie
    Left1 = ""
    Top1 = ""
    HelpFile1 = ""
    HelpContextId1 = ""
     
    Prompt1 = "Nom du fichier" 'Message à afficher dans la boîte de dialogue
    Title1 = "Enregistrer un fichier" 'Titre de la zone de saisie
    Default1 = "Exemple du  "
     
    Type1 = 2 ' 0 Une formule. 1 Un nombre. 2 Texte (une chaîne). 4 Une valeur logique (True ou False).
    '8 Une référence de cellule, sous la forme d'un objet Range. 16 Une valeur d'erreur, telle que #N/A. 64 Un tableau de valeurs.
     
    reponse1 = Application.InputBox(Prompt:=Prompt1, Title:=Title1, Default:=Default1, Type:=Type1)
    If reponse1 = "" Then Exit Sub
    'If reponse1 = False Then Exit Sub
     
    chemin = ThisWorkbook.Path & Application.PathSeparator
    date1 = Format(Date, " dd-mm-yy ") & " à " & Format(Time, "hh-mm")
     ActiveWorkbook.SaveAs _
                Filename:=chemin & reponse1 & date1 & ".xlsm", _
                FileFormat:=52
     
     MsgBox ("Simple Sauvegarde Réussie.")
    End Sub



    Merci.

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Tu peux aussi mettre dans un coin de ton classeur une valeur qui sera égale à 1 ou 2 (ou plus si tu le souhaites).
    A chaque sauvegarde, tu modifies cette valeur (par exemple en utilisant un opérateur Mod()) et tu l'utilises pour créer le nom du fichier de sauvegarde.
    Ainsi, tu feras une "rotation" des fichiers de sauvegarde.
    Il suffira de changer le modulo pour définir le nombre de fichiers de sauvegarde que tu souhaites conserver.

    Difficile de faire plus simple pour une sauvegarde tournante.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 35
    Par défaut limité les enregistrements
    Bonsoir à vous 2.

    Je prends l'un et l'autre pour les essais.

    Merci

    Bonne soirée.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 10/05/2006, 10h44
  2. Réponses: 1
    Dernier message: 02/05/2006, 00h56
  3. un nombre limité de feuilles dans un MDI
    Par elasfer dans le forum MFC
    Réponses: 1
    Dernier message: 14/02/2006, 08h43
  4. Somme de nombres limitée
    Par DC dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 29/11/2005, 13h54
  5. select avec un nombre limité de valeurs retournées
    Par felix79 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 23/12/2004, 15h16

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