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 :

Enregistrer classeur avec nom variable et chemin variable [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Points : 58
    Points
    58
    Par défaut Enregistrer classeur avec nom variable et chemin variable
    Bonjour le Forum!

    Et oui encore une fois je me tourne vers vous! Voici ce que je voudrais faire:
    J'ai un classeur qui contient une feuille avec des données. Lorsque l'utilisateur appuie sur un bouton situé dans cette feuille, je veux qu'un nouveau classeur s'ouvre et que la feuille soit copiée dans le nouveau classeur (jusque là, ça va bien!). Ensuite, je souhaite attribuer un nom précis accompagné d'une variable au classeur avant de faire afficher la boite enregistrer sous pour que l'utilisateur détermine où il veut enregistrer le fichier. Bref, une fois que la feuille est copiée dans le nouveau classeur il faut que:
    1- Je change le nom du classeur pour "Rapport Post-mortem no " & NoPost
    2- Je donne le choix du chemin où enregistrer le fichier à l'utilisateur

    Les seuls codes que j'ai trouvé sont applicable à des cas où le chemin est prédéterminé du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Thisworkbook.SaveAs Filename:= "c:\ton dossier\" & VariableNom
    Voici ce que j'ai de fait jusqu'à maintenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
    Dim wrk As New Workbook
    Dim NoPost As String
    Set wrk = Application.Workbooks.Add(1)
    ThisWorkbook.Sheets("Rapport PostMortem").Copy Before:=wrk.Sheets(1)
    Application.DisplayAlerts = False
    wrk.Sheets("Feuil1").Delete
    Application.DisplayAlerts = True
    NoPost = Range("C3").Value
    'Application.ThisWorkbook.Name = "Rapport Post-mortem no " & NoPost
    Application.Dialogs(xlDialogSaveAs).Show
    Application.ThisWorkbook.Close
    End Sub
    Est-ce réalisable?
    Merci encore une fois de votre aide!
    Geneviève

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,


    Je ferais quelque chose comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim FileD As FileDialog
     
    Set FileD = Application.FileDialog(msoFileDialogFolderPicker)
     
    If FileD.Show = True Then
     
        Application.ThisWorkbook.SaveAs Filename:=FileD.SelectedItems(1) & "\" & VariableNom
     
    End If
    En choisissant d'afficher un choix de répertoire plutôt qu'un enregistrer sous
    Jérôme

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Points : 58
    Points
    58
    Par défaut
    Bonjour!

    Ça fonctionne très bien! Je copie la feuille dans un nouveau classeur puisque je ne veux pas avoir toutes les feuilles.

    Parcontre, à la fermeture du nouveau classeur, il me demande si je veux l'enregistrer. Comment dire par défaut de fermer sans enregistrer?

    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
    Private Sub CommandButton1_Click()
    Dim NoPost As String, VariableNom As String
    Dim FileD As FileDialog
    Set wrk = Application.Workbooks.Add(1)
    ThisWorkbook.Sheets("Rapport PostMortem").Copy Before:=wrk.Sheets(1)
    Application.DisplayAlerts = False
    wrk.Sheets("Feuil1").Delete
    Application.DisplayAlerts = True
     
    NoPost = ThisWorkbook.Sheets("Rapport PostMortem").Range("C3").Value
    VariableNom = "Rapport PostMortem no " & NoPost
     
    Set FileD = Application.FileDialog(msoFileDialogFolderPicker)
    If FileD.Show = True Then
        Application.ThisWorkbook.SaveAs Filename:=FileD.SelectedItems(1) & "\" & VariableNom
    End If
    wrk.Close
    End Sub
    Merci beaucoup!!
    Geneviève

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour
    wrk.Close false

    Philippe

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Points : 58
    Points
    58
    Par défaut
    Oh je ne pensais pas que c'était si simple

    Merci beaucoup! Tout fonctionne maintenant très bien!!!
    Geneviève

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

Discussions similaires

  1. [XL-2010] Code unique avec nom de feuille en variable
    Par alexr05 dans le forum Excel
    Réponses: 5
    Dernier message: 26/04/2015, 18h03
  2. [XL-2007] Ouvrir fenêtre enregistrer sous avec nom fichier et chemin pré-rempli
    Par miliev83 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/07/2013, 14h46
  3. [XL-2007] Excel plante avec macro sauvegarde feuille vers nouveau classeur avec nom spécifique
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 10/05/2012, 14h59
  4. enregistrer sous avec nom automatique
    Par liop49 dans le forum VBA Word
    Réponses: 4
    Dernier message: 26/01/2011, 18h03
  5. formule avec nom de la feuille variable
    Par DIDIDIDA dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/04/2008, 13h59

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