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 :

Macro Enregistrer sous [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 34
    Par défaut Macro Enregistrer sous
    Bonjour à tous,

    Tout jeune débutant en programmation VBA, je cherche une méthode pour pouvoir enregistrer un fichier avec en extension la valeur d'une cellule + la date dans un dossier qui se trouve sur le bureau



    Un coup de main SVP

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut
    Hello,

    En supposant que tu as le nom dans la cellule A1.

    Places ce code dans un module standar...
    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
    Sub EnregistrerSous()
     
        'Pour si tu annules, qu'il n'affiche pas le message d'erreur
        On Error Resume Next
     
        'Si tu ne changes pas la cellule A1 (le nom), pour éviter le message
        '"Un classeur porte déjà ce nom blablabla..."
        'On les évite en mettant DisplayAlerts à faux
        Application.DisplayAlerts = False
     
        'Ou avec le ThisWorkbook.Path qui est le répertoire du classeur courant.
        'C'est à dire qu'il va l'enregistrer dans le même dossier que le classeur qui a cette macro.
        ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" _
            & Range("A1").Value & " - " & Date & ".xlsm"
     
        'Ou comme ça en adaptant le chemin.
        'ActiveWorkbook.SaveAs Filename:="C:\Users\xxxxxxxxx\Desktop\" _
        '    & Range("A1").Value & " - " & Date & ".xlsm"
     
        '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
        '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
     
        'Tu peux utiliser ou l'une ou l'autre de ces deux lignes si tu veux fermer le classeur après.
     
        'Attention quitte Excel, donc tous les fichiers Excel ouverts !
        'Application.Quit
     
        'Ferme le fichier.
        'ThisWorkbook.Close
     
        '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
        '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
     
        'Et on remet à vrai le DisplayAlerts
        Application.DisplayAlerts = True
     
    End Sub
    Puis appele-le par exemple avec un bouton sur ta feuille, comme ceci...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton1_Click()
     
        Call EnregistrerSous
     
    End Sub
    Cdt, Antoniom.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 34
    Par défaut
    Bonjour Antoniom,

    Tout d'abord merci pour les éléments de réponses proposés
    J'ai choisi l'option d'enregistrer le fichier en renseignant le chemin du dossier sur le bureau mais une erreur se produit par rapport à la variable date

    Faut-il saisir la date manuellement ou la variable date s'ajuste automatiquement ?

    Voici la commande utilisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs Filename:="C:\Users\cityone\Desktop\Dépêches" _
        & Range("A12:B12").Value & " - " & Date & ".xlsm"
    Merci

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Par défaut
    J'ai rencontré le même problème il y a peu, je pense que l'erreur vient du fait que la fonction date te renvoie une valeur qui n'est pas compatible avec le nommage d'un fichier
    typiquement quelque chose du genre 27/01/2012 or les / dans les noms de fichier servent à indiquer que l'on change de répertoire.

    essaie quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs Filename:="C:\Users\cityone\Desktop\Dépêches" _
    & Range("A12:B12").Value & " - " & format(Date,"dd-mm") & ".xlsm"
    le deuxième argument de la fonction format transforme la date en 27-01 par exemple, ce qui est compatible avec le nommage d'un fichier.

    tu peux envisager format(date,"dd-mm-yyyy") si tu veux l'année ou tout autre format de date convenable avec le nommage, c'est à dire avec - ou _ comme caractère spéciaux je dirais..

    bonne journée,

    marav

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut
    Hello Titian, Marav,

    Chez moi juste le mot clé Date suffit.

    Marav, sauf erreur, je crois qu'avec Date, par défaut, le format est jj.mm.aaaa, mais tu as raison de forcer le format.

    Cdt, Antonio.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 34
    Par défaut
    Salut Messieurs,

    J'ai rajouté le format à DATE et puis ça fonctionne

    Merci pour l'aide


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

Discussions similaires

  1. [XL-2007] Améliorer ma macro "enregistrer sous"
    Par Gualino dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/07/2011, 18h50
  2. [OpenOffice][Tableur] [calc] macro "enregistrer sous"
    Par chegerg dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 24/03/2009, 06h00
  3. macro enregistrer sous
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/02/2008, 18h43
  4. Macro "enregistrer sous et mise à jour"
    Par Jonathan Raucy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/01/2008, 09h37
  5. Macro enregistrer sous
    Par lara008 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/08/2007, 14h15

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