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 un classeur Excel à la fin d'une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut Fermer un classeur Excel à la fin d'une macro
    Bonjour,

    Dans une macro je tape le code suivant pour faire selectionner un fichier:

    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
     
    Dim Fichier As Variant
    Fichier = Application.GetOpenFilename
    If Fichier = False Then Exit Sub
    Workbooks.Open Fichier
     
    'Copie du fichier prix vers transfertprixversBDD
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Sheets("transfert TE Prix filiales").Select
        Cells.Select
        Selection.Copy
        Windows("transfertprixversBDD.xls").Activate
        Sheets("Feuil1").Select
        Range("A1").Select
        ActiveSheet.Paste
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Je voudrais que à la fin de cette macro le fichier que j'ouvre avec Application.GetOpenFilename (celui qui contient la feuille :transfert TE Prix filiales") se ferme tout seul.

    (le nom de ce fichier change tout le temps c'est pour ça que je le selectionne avec Application.GetOpenFilename)

    J'ai essayé Fichier.Close et Fichier.Quit mais cela ne fonctionne pas.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    juin 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2007
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    Et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    thisworkbook.close savechanges :=false
    , ça marcherait ??

  3. #3
    Membre actif Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 13
    Localisation : France

    Informations forums :
    Inscription : février 2007
    Messages : 260
    Points : 276
    Points
    276
    Par défaut
    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
     
    Dim Fichier As Variant
    Fichier = Application.GetOpenFilename
    If Fichier = False Then Exit Sub
    Workbooks.Open Fichier
     
    'Copie du fichier prix vers transfertprixversBDD
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Sheets("transfert TE Prix filiales").Select
        Cells.Select
        Selection.Copy
        Windows("transfertprixversBDD.xls").Activate
        Sheets("Feuil1").Select
        Range("A1").Select
        ActiveSheet.Paste
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    j'essairai ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Application.DisplayAlerts = False
    Workbooks(Fichier).save
    Workbooks(Fichier).Close
    80% des pannes informatiques se situent entre le clavier et la chaise...

    L'informatique ça vous énerve, prenez 5mns de détente ici


    =========== ===========

    Une fois que le problème à trouvé une solution n'oubliez pas le

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : février 2008
    Messages : 3 900
    Points : 7 901
    Points
    7 901
    Par défaut
    Bonjour tlm,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks(Fichier).save
    Workbooks(Fichier).Close
    Ca va coincer, Fichier renvoie non seulement le nom du classeur mais son chemin complet également

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim fichier As Variant, Wbk As Workbook
    fichier = Application.GetOpenFilename
    Application.ScreenUpdating = False
    If fichier = False Then Exit Sub
    Set Wbk = Workbooks.Open(Filename:=fichier)
    Wbk.Sheets("transfert TE Prix filiales").Cells.Copy ThisWorkbook.Sheets("Feuil1").Range("A1")
    Wbk.Close
    Application.ScreenUpdating = True
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut
    Merci c'est parfait!
    Ce probleme allait au dela de mes competences Excel


    Citation Envoyé par fring Voir le message
    Bonjour tlm,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks(Fichier).save
    Workbooks(Fichier).Close
    Ca va coincer, Fichier renvoie non seulement le nom du classeur mais son chemin complet également

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim fichier As Variant, Wbk As Workbook
    fichier = Application.GetOpenFilename
    Application.ScreenUpdating = False
    If fichier = False Then Exit Sub
    Set Wbk = Workbooks.Open(Filename:=fichier)
    Wbk.Sheets("transfert TE Prix filiales").Cells.Copy ThisWorkbook.Sheets("Feuil1").Range("A1")
    Wbk.Close
    Application.ScreenUpdating = True

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

Discussions similaires

  1. [XL-2013] Suppression de doublons dans un classeur Excel avec utilisation d'une macro VBA
    Par gblassel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/06/2014, 17h18
  2. Impossible de fermer un classeur Excel
    Par seremei dans le forum Langage
    Réponses: 5
    Dernier message: 08/01/2013, 12h29
  3. [OLE Excel] Fermer un classeur Excel
    Par Shuret dans le forum C++
    Réponses: 1
    Dernier message: 26/05/2008, 11h09
  4. Fermer le classeur Excel BD pour la fusion word
    Par sailor lvcv dans le forum VBA Word
    Réponses: 4
    Dernier message: 28/03/2007, 17h29
  5. Fermer les classeurs excel sauf celui actif
    Par Balian1412 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/10/2006, 11h35

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