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
    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
    Et
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    thisworkbook.close savechanges :=false
    , ça marcherait ??

  3. #3
    Membre actif
    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
    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
    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

###raw>template_hook.ano_emploi###