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 :

Ouvrir, Nommer, et sauvegarder un classeur [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Par défaut Ouvrir, Nommer, et sauvegarder un classeur
    Bonjour,

    J'aimerai lorsque je clique sur un bouton dans un userform, ouvrir un classeur vierge, puis le nommer et sauvegarder sous la forme ( analyse du (date).xlsx)

    J'ai ecris un code malheureusement, il ne l'enregistre pas à l'endroit souhaiter (le bureau pour commencer),

    voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Workbooks.Add.SaveAs ("fichier analyse.xlsx")
     
    Workbooks("fichier analyse.xlsx").Activate
    Feuil3.Cells(1, 1).Value = "ca marche?" 'non ca ne marche pas , ca écrit dans le mauvais classeur :s
    Si quelqu'un pourrait m'eclaircir sur ce point, ça serait bien sympa

    Cordialement
    Dorian

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim wb As Workbook
    Dim Chemin As String
     
    Set wb = Workbooks.Add
    Chemin = "C:\Documents and Settings\Administrateur\Bureau"
    wb.Sheets("Feuil3").Cells(1, 1).Value = "ca marche?"
    wb.SaveAs Chemin & "\fichier analyse.xlsx"
    Set wb = Nothing

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Par défaut
    Merci mercatog, tes réponses sont tout l temps pertinentes, j'apprécie vraiment beaucoup

    Par contre dans le nom du fichier j'aimerai y introduire la date

    "fichier analyse (date du jour).xlsx" je sais pas comment faire

    Et j'ai deux questions pour mieux comprendre le fonctionnment du code :p

    Je comprend pas l'utilisation du Set, on fixe quoi ?

    Quand on utilise l'enregistreur de macro il marque : "ChDir"
    C'est quoi la différence entre "ChDir" et "Dir"?

    Merci d'avance

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wb.SaveAs Chemin & "\fichier analyse" & Format(Date, "ddmmmyyyy") & ".xlsx"
    Set pour affecter un objet à une variable objet

    ChDir (Change Directory) changer le répertoire

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Par défaut
    Encore une fois merci
    A bientot
    Cordialement
    Dorian

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut réponses diverses
    Bonjour Dodo69, Bonjour le Forum,

    Notre grand ami mercatog n'étant pas là, je me permets.

    1 - Pour Dir et ChDir, tu peux regarder l'aide en ligne sur VBE

    DIR Renvoie une valeur de type String représentant le nom d'un fichier, d'un répertoire ou d'un dossier correspondant à une chaîne de recherche, à un attribut de fichier ou au nom de volume d'un lecteur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CHDIR Change le répertoire ou le dossier courant.
    2 - La méthode SET est obligatoire pour affecter une variable à un objet
    (classeur, feuille, cellule)

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set mafeuille = ActiveSheet
    3 - Pour formaliser ton nom de classeur, tu peux utiliser une concaténation du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    madate = Format(Date,"ddmmyy")
     
    wb.SaveAs Chemin & "\fichier analyse" & madate & ".xlsx"
    En espérant que ces indications te seront utiles.

  7. #7
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut télescopage
    Décidément, je suis destiné au télescopage.

    Pardon à vous 2 et à bientôt.

  8. #8
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Par défaut
    Bonjour,
    En continuant ce code, me suis rendu compte d'un problème

    Si le fichier en question est déjà ouvert, ma macro bug,

    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
     
    Sub ouvrir_fichier()
     
    Dim wb As Workbook
    Application.DisplayAlerts = False
     
    Set wb = Workbooks.Add
        wb.SaveAs "C:\Data\fichier analyse " & Format(Date, "dd_mmm_yyyy") & ".xlsx"
    Set wb = Workbooks("fichier analyse " & Format(Date, "dd_mmm_yyyy") & ".xlsx")
     
     wb.Activate
    Sheets("Feuil2").Select
        ActiveWindow.SelectedSheets.Delete
        Sheets("Feuil3").Select
        ActiveWindow.SelectedSheets.Delete
        Sheets("Feuil1").Select
        Sheets("Feuil1").Name = "Rapport_Analyse"
     
    Set wb = Nothing
    Application.DisplayAlerts = True
     
    End Sub
    J'aimerai compléter ce code, par quelque chose qui dirai
    Si le fichier est déjà ouvert, Exit Sub
    Malheureusement je ne sais pas comment lui demander si un fichier est déjà ouvert
    ...

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

Discussions similaires

  1. Quand je sauvegarde un classeur excel est lent
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 18/06/2015, 14h51
  2. Sauvegarder un classeur EXCEL à la même version que l'application
    Par jkrtu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/01/2008, 10h49
  3. Nommer la feuille du classeur Excel dans lequel on exporte une requête
    Par Thierry'' dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 20/09/2006, 08h41
  4. Fermer Excel sans sauvegarder le classeur
    Par GonAl dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/08/2006, 12h32
  5. [Excel] Sauvegarder un classeur sans userform
    Par maketossss dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 10/12/2005, 16h41

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