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 :

Simplification macro de sauvegarde


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Simplification macro de sauvegarde
    Bonjour à tous,

    J'ai fait cette macro qui me permets de sauvegarder la feuille BC1 ainsi que tous ses formats. Pour le moment elle fonctionne bien, mais vous en conviendrez, c'est un peu fastidieux et moche.
    Pouvez-vous m'aider à faire quelque chose de plus propre ?
    Merci par avance

    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
    42
    43
    44
    45
    46
    47
    48
     
    Private Sub Sauv1_Click()
    Cells.Select
        Selection.Copy
            Workbooks.Add
            ActiveSheet.Paste
        Application.Dialogs(xlDialogSaveAs).Show ("S:\AGENTS\BON DE COMMANDE\BC 2010")
            ActiveSheet.PageSetup.PrintArea = "$A$1:$N$72"
            Application.ExecuteExcel4Macro "page.setup(,,0.00,0.00,0.00,false,false,1,1,1,,100,,1,,0.00,0.00,,)"
    ActiveSheet.PageSetup.PrintArea = "$A$1:$N$72"
        With ActiveSheet.PageSetup
            .LeftHeader = ""
            .CenterHeader = ""
            .RightHeader = ""
            .LeftFooter = ""
            .CenterFooter = ""
            .RightFooter = ""
            .LeftMargin = Application.InchesToPoints(0)
            .RightMargin = Application.InchesToPoints(0)
            .TopMargin = Application.InchesToPoints(0)
            .BottomMargin = Application.InchesToPoints(0)
            .HeaderMargin = Application.InchesToPoints(0)
            .FooterMargin = Application.InchesToPoints(0)
            .PrintHeadings = False
            .PrintGridlines = False
            .PrintComments = xlPrintNoComments
            .PrintQuality = 600
            .CenterHorizontally = True
            .CenterVertically = True
            .Orientation = xlPortrait
            .Draft = False
            .PaperSize = xlPaperA4
            .FirstPageNumber = xlAutomatic
            .Order = xlDownThenOver
            .BlackAndWhite = False
            .Zoom = False
            .FitToPagesWide = 1
            .FitToPagesTall = 1
            .PrintErrors = xlPrintErrorsDisplayed
        End With
        Windows("Factures.xls").Activate
            Sheets("BC1").Select
            Range("B25,G6,H14,N11,N17,N15,N19,B24,A28:A55,N24,I28:I55,J28:J55,K28:K55").Select
            Selection.ClearContents
        Range("A1").Select
            Sheets("BC1").Visible = False
            Sheets("Engagements").Activate
    End Sub

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    As-tu pense a faire une simple copie de la feuille dans un nouveau classeur (methode copy de l'objet WorkSheet)?

    Cordialement,

    PGZ

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonsoir,

    Je ne comprends pas ta réponse. Mon code sauvegarde la feuille en cours selon le chemin indiqué tout en préservant tous les formats.
    Peux-tu m'expliquer ce que tu veux dire ?
    merci

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Je te propose de copier la feuille entiere, plutot que de copier les valeurs, les formats, ...

    Cordialement,

    PGZ

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonsoir,

    Et comment fait-on celà?
    Merci par avance

  6. #6
    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
    Dim wbk As Workbook
    Set wbk = Workbooks.Add(1)
       Sheets("BC").Copy before:=wbk.Sheets(1)
       wbk.SaveAs "S:\AGENTS\BON DE COMMANDE\BC 2010\Nom.xls"
       wbk.Close
    Set wbk = Nothing

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

Discussions similaires

  1. Simplification macro répétitive
    Par teddy72000 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/03/2011, 16h26
  2. Macro de sauvegarde
    Par korni184 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 05/08/2010, 16h54
  3. Macro pour sauvegardes multiples d'un même fichier
    Par gigotdagneau dans le forum Conception
    Réponses: 11
    Dernier message: 26/10/2009, 12h26
  4. Simplification macro de sélection de courbes
    Par arnaud63 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/09/2009, 18h52
  5. desactiver macros apres sauvegarde
    Par will Igetit dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/08/2008, 22h08

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