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 activesheet seulement et pas le workbook [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Par défaut Enregistrer activesheet seulement et pas le workbook
    Bonjour,

    deuxième sujet posté aujourd'hui...

    voici ce que je veux faire,

    je veux que lorsque j'appuie sur le bouton "sauvegarde", mon fichier s'enregistre directement dans le dossier destination que je lui aurait donné préalablement sans passer par le fameux "enregistrer sous".

    Là où j'épprouve des difficultés c'est que ce classeur contient plusieurs feuilles pour lesquelles chacune à son propre bouton sauvegarder et lorsque j'appuie sur ce bouton, je ne veux que seule la feuille (activesheet) soit sauvegardée et non le classeur.

    Voici ce que j'ai fait pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Sauvegarde()
     
     
    Range("D4").Select
    legumes = ActiveCell.FormulaR1C1
    Range("D5").Select
    apport = ActiveCell.FormulaR1C1
    ActiveSheet.SaveAs Filename:=legumes & apport & ".xls"
    Range("D5").Select
        Selection.ClearContents
    Sheet("BASE").Select
    '(premiere cellule vide).select
     
    'à poursuivre
    De plus j'aimerais que ce soit la première cellule vide de la colonne A qui soit selectionné à la fin du programme...

    merci pour votre aide!

    Yoann

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 75
    Par défaut
    Bonjour,

    Il me semble que ce code fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs Name

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Par défaut
    Ok merci pour l'info...ça a l'air de fonctionner sauf que...

    là j'étais en tyrain d'essayer ceci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ActiveSheet.Copy
    Range("D4").Select
    legumes = ActiveCell.FormulaR1C1
    Range("D5").Select
    apport = ActiveCell.FormulaR1C1
    ActiveWorkbook.SaveAs "S:\FABRICATION\PARAGE\ANALYSE CI 2010-2011\ " & legumes & apport & ".xls"
    Seulement voilà, le classeur original qui contient toutes les feuilles est renommée selon ce que j'ai indiqué alors que je ne voulais que le classeur avec la feuille copiée dedans qui le soit et uniquement ce nouveau classeur...

    De plus, je voudrais que une fois sauvé, le nouveau classeur se ferme pour qu'il ne reste plus que l'original ouvert...

    edit : c'est bon j'ai ajouter la fonction activeworkbook.close ça fonctionne pour ma dernière demande, ne reste plus qu'à trouver la solution du renommage du fichier origional qui ne doit pas se faire...

    Edit 2 : solution trouvée

    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 Sauvegarde()
     
    ActiveSheet.Copy
    Range("D4").Select
    legumes = ActiveCell.FormulaR1C1Range("D5").Select
    apport = ActiveCell.FormulaR1C1
    ActiveWorkbook.SaveAs "S:\FABRICATION\PARAGE\ANALYSE CI 2010-2011\ " & legumes & apport & ".xls"
     
    ActiveWorkbook.Close
     
    Range("D5").Select
     Selection.ClearContents
    Dim appExcel As Excel.Application 'Application Excel
    Dim wbExcel As Excel.Workbook 'Classeur Excel
    'Ouverture de l'application
    Set appExcel = CreateObject("Excel.Application")
    'Ouverture d'un fichier Excel
    Set wbExcel = appExcel.Workbooks.Open("S:\FABRICATION\RECEPTION LEGUMES\Constats d'incidents en réception 2010-11.xls")
    Sheets("BASE").Select
     
     
    End Sub

    Merci encore pour votre aide ^^

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/05/2011, 11h50
  2. Lister les enregistrements qui ne sont pas dans une table
    Par toss.net dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/10/2010, 11h25
  3. Réponses: 2
    Dernier message: 12/06/2008, 11h53
  4. Réponses: 3
    Dernier message: 14/02/2008, 11h46
  5. Nouvel enregistrement si n'est pas dans liste
    Par Sami Xite dans le forum IHM
    Réponses: 18
    Dernier message: 01/03/2007, 16h09

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