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 des fichiers ouverts avec Application.Run


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Points : 48
    Points
    48
    Par défaut Fermer des fichiers ouverts avec Application.Run
    Bonjour le forum,
    J’ai un problème sur les application.run
    Je souhaite à partir d’un fichier de base lancer des application.run afin d’activer les macros des fichiers se trouvant dans un dossier Y, (les fichiers du dossier Y ouvrent des fichiers dans un dossier X copy des cellules et les colles dans les fichiers respectives du dossier Y) les application.run se lancent exécute les macros mais mon problème est que je n’arrive pas a fermer les fichiers du dossier Y en les enregistrant avant fermeture
    D’avance merci de votre aide
    Cdt
    Tony


    la programmation du fichier de base
    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 Lancement()
    Application.ScreenUpdating = False
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_1.xlm'!entrepot_UVCM"
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_2.xlm'!entrepot_UVCM"
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_3.xlm'!entrepot_UVCM"
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_4.xlm'!entrepot_UVCM"
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_5.xlm'!entrepot_UVCM"
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_6.xlm'!entrepot_UVCM"
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_7.xlm'!entrepot_UVCM"
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_8.xlm'!entrepot_UVCM"
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_9.xlm'!entrepot_UVCM"
    Application.Run "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_10.xlm'!entrepot_UVCM"
    Application.ScreenUpdating = True
    End Sub

    la programmation des fichiers se trouvant dans le dossier Y
    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
    Sub entrepot_UVCM()
    Application.ScreenUpdating = False
     
     
    Sheets("Prix achat-volume").Select
    Workbooks.Open Filename:=Range("V2")
     
    'vb droit PA
    Range("E8:E15").Select
    Selection.Copy
    Application.Windows("Entrepot_1.xlm").Activate
    Sheets("Prix achat-volume").Select
    Range("E8").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    Windows(2).Activate
    Application.CutCopyMode = False
     
    Application.Windows(1).Activate
    ActiveWindow.Close
    Application.Windows("Entrepot_1.xlm").Activate
     
    End Sub

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    D'abord je ne comprends pas du tout ce que tu veux faire avec ce code, mais je fais l'impasse la-dessus pour l'instant.

    Je ne vois dans ton code aucune instruction pour fermer des fichiers.

    Je suppose que le fichier que tu veux fermer est celui qui sera ouvert dans entrepot_UVCM.

    Dans ce cas il faut modifier le code de cette manière, si j'ai bien compris ton problème.

    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
    Sub entrepot_UVCM()
    dim wb as workbook
    Application.ScreenUpdating = False
     
    Sheets("Prix achat-volume").Select
    set wb = Workbooks.Open Filename:=Range("V2")
     
    'vb droit PA
    Range("E8:E15").copy
    Application.Windows("Entrepot_1.xlm").Activate
    Sheets("Prix achat-volume").Range("E8").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    Windows(2).Activate
    Application.CutCopyMode = False
     
    wb.saved = True 'suppose que tu ne veux pas sauver !!!!
    wb.close
     
    Application.Windows(1).Activate
    ActiveWindow.Close
    Application.Windows("Entrepot_1.xlm").Activate
     
    End Sub

  3. #3
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    si j'ai bien compris
    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
    Sub entrepot_UVCM()
    Dim owb As Workbook
     
    Application.ScreenUpdating = False
     
     
    Sheets("Prix achat-volume").Select
    Set owb = Workbooks.Open(Filename:=Range("V2"))
     
    'vb droit PA
    owb.Sheets("Prix achat-volume").Range("E8:E15").Copy
    Workbooks("Entrepot_1.xlm").Sheets("Prix achat-volume").Range("E8").PasteSpecial _
                Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
     
    owb.Close False
     
    ThisWorkbook.Close True
     
    End Sub

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Points : 48
    Points
    48
    Par défaut
    bonjour GODZESTLA, bonjour MAYEKEUL
    GODZESTLA j'ai essayé ta proposition mais il apparait une ligne rouge a partir de set wb = Workbooks.Open Filename:=Range("V2")

    En revanche MAYEKEUL ca fonctionne que pour le premier fichier les autres fichiers ne s'ouvre meme pas !!
    cdt
    tony

  5. #5
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour

    Citation Envoyé par VELO1222
    En revanche MAYEKEUL ca fonctionne que pour le premier fichier les autres fichiers ne s'ouvre meme pas !!
    c'est à dire??

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    c'est a dire, pour la première Application.run pour le fichier Entrepot_1.xlm les autres non
    Cdt

  7. #7
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    et en faisant comme ce ci?

    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
    Sub entrepot_UVCM()
    Dim owb As Workbook
     
    Application.ScreenUpdating = False
     
     
    Sheets("Prix achat-volume").Select
    Set owb = Workbooks.Open(Filename:=Range("V2"))
     
    'vb droit PA
    owb.Sheets("Prix achat-volume").Range("E8:E15").Copy
    Workbooks("Entrepot_1.xlm").Sheets("Prix achat-volume").Range("E8").PasteSpecial _
                Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
     
    owb.Close False
     
    End Sub
    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
    Sub Lancement()
    Dim strMAC As String
    Dim I As Integer
     
    Application.ScreenUpdating = False
     
    For I = 1 To 10
        strMAC = "'C:\Documents and Settings\FRNTO2M\Bureau\TARIFICATION\Entrepots\Entrepot_" & I & ".xlm'!entrepot_UVCM"
        Application.Run strMAC
        Workbooks("Entrepot_" & I & ".xlsm").Close True
    Next I
     
    Application.ScreenUpdating = True
     
    End Sub

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Points : 48
    Points
    48
    Par défaut
    Bonsoir Mayekeul, bonsoir le forum,
    Formidable ca fonctionne Mayekeul grand merci

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

Discussions similaires

  1. Liste des fichiers ouverts avec son programme
    Par z4k4r14 dans le forum Langage
    Réponses: 3
    Dernier message: 27/02/2012, 14h41
  2. Fermer un fichier ouvert avec ShellExecute
    Par remus08 dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/02/2011, 23h00
  3. copier un dossier contenant des fichiers ouverts par d'autres application
    Par guefrachi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/07/2010, 19h55
  4. [Excel] Comment lire des fichiers excel avec php?
    Par dear_rihab dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 02/11/2007, 12h38
  5. Réponses: 11
    Dernier message: 21/11/2005, 16h08

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