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 :

Fermer automatiquement nouveau fichier


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 Fermer automatiquement nouveau fichier
    Bonjour,

    J'ai modifié mon code pour qu'il soit plus aéré. Par contre, je n'arrive pas à fermer automatiquement le fichier de sauvegarde ainsi créé.
    Pouvez-vous m'apporter votre aide s'il vous plait ?
    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
     
    Private Sub CmbSauv_Click()
    Cells.Select
        Selection.Copy
            Workbooks.Add
                ActiveSheet.Paste
     'le fichier est créé avec le nom du site   
        Application.Dialogs(xlDialogSaveAs).Show ("K:\BONS 2013" & "\" & "BC" & " " & Cells(17, 4).Value & " " & Cells(15, 14).Value)
     
        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"
     
       'les données dans BC1 sont effacées         
            Windows("Saisie engagements.xls").Activate
                Sheets("BC1").Select
                Range("B25,G6,H14,N11,N15,N19,B24,A28:A55,N24,I28:I55,J28:J55,K28:K55").Select
                Selection.ClearContents
         'la feuille BC1 est fermée et la feuille Accueil activée       
            Range("A1").Select
                Sheets("BC1").Visible = False
                Sheets("Accueil").Activate
     
    End Sub

  2. #2
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut
    Bonjour,

    Et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets(2).Activate
    ActiveWorkbook.Close True

  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
    J'ai fait ça, mais ce n'est pas le bon fichier qui se ferme. Le fichier maître doit rester ouvert, seule la feuille copiée, qui est devenue un fichier doit être fermé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
    23
    24
    25
    26
    27
    28
     
     
    Private Sub CmbSauv_Click()
    Cells.Select
        Selection.Copy
            Workbooks.Add
                ActiveSheet.Paste
     
        Application.Dialogs(xlDialogSaveAs).Show ("K:\BONS 2013" & "\" & "BC" & " " & Cells(17, 4).Value & " " & Cells(15, 14).Value)
     
        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"
     
     
            Windows("Saisie engagements.xls").Activate
                Sheets("BC1").Select
                Range("B25,G6,H14,N11,N15,N19,B24,A28:A55,N24,I28:I55,J28:J55,K28:K55").Select
                Selection.ClearContents
     
            Range("A1").Select
                Sheets("BC1").Visible = False
                Sheets("Accueil").Activate
     
            Sheets(2).Activate
            ActiveWorkbook.Close True
     
    End Sub

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Par défaut
    Bonjour,

    Je ne comprends pas bien le but mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveSheet.PageSetup.PrintArea = "$A$1:$N$72"
    ActiveWorkbook.Close True 
    Windows("Saisie engagements.xls").Activate
    ça devrait le faire.

    Cordialement
    ctac

  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 ctac,

    Lorsque je clique sur un bouton de sauvegarde, alors le bon de commande que je viens de faire est sauvegardé dans un répertoire, le fichier prend le nom de la société ainsi qu'un numéro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Dialogs(xlDialogSaveAs).Show ("K:\BONS 2013" & "\" & "BC" & " " & Cells(17, 4).Value & " " & Cells(15, 14).Value)
    ensuite, ce fichier doit se fermer, mais pas le fichier principal.

    Merci pour ton code, je l'essaie et je te tiens au courant
    Bonne soirée
    René

  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
    Bonsoir

    Au lieu de copier les cellules, on copie la feuille entière qu'on enregistre sous le nom désiré.

    En plus, il suffit de formater la feuille à copier comme on le souhaite, cette feuille lors de la copie garde sa mise en page (lourde par vba)

    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
    Private Sub CmbSauv_Click()
    Dim Fichier As String
     
    With ThisWorkbook.Worksheets("BC1")
        Fichier = "K:\BONS 2013\BC" & " " & .Cells(17, 4).Value & " " & .Cells(15, 14).Value
        .Copy
        With ActiveWorkbook
            '.SaveAs Fichier & ".xls"                   'Pour Excel 2003 et moins
            .SaveAs Fichier & ".xlsx"                   'Pour Excel 2007 et plus
            .Close
        End With
        .Range("B25,G6,H14,N11,N15,N19,B24,A28:A55,N24,I28:I55,J28:J55,K28:K55").ClearContents
        .Visible = False
    End With
    End Sub

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/06/2011, 10h14
  2. Réponses: 11
    Dernier message: 20/09/2007, 14h51
  3. Réponses: 1
    Dernier message: 25/07/2007, 12h15
  4. [VB.NET] Créer et remplir un nouveau fichier Access
    Par Manue.35 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 18/07/2003, 15h42
  5. Génerer automatiquement plusieurs fichier .doc
    Par brunovitch dans le forum QuickReport
    Réponses: 3
    Dernier message: 09/07/2002, 08h19

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