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 :

probleme fonctionnement Application.Run


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut probleme fonctionnement Application.Run
    Bonjour le forum,
    j'ai un petit probleme mon application.run ne fonctionne pas quelqu'un peut m'aidé SVP
    merci d'avance
    cdt

    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
     
    sub TEST()
    Application.ScreenUpdating = False
     
        Dim oCible As Workbook
        Dim sPath As String
        Dim W As String
     
        sPath = Sheets("TONY").Range("A516").Value
        W = Dir(sPath & "*.xlm")
     
        Do Until W = ""
            Set oCible = Workbooks.Open(Filename:=sPath & W)
     
    Dim oSource As Workbook
     
    Set oSource = Workbooks("TARIFAIRE v5.xlm")
     
    oCible.Application.Run "mercuriale"
     
     
    oCible.Close True
     
     W = Dir()
    Loop
    Application.ScreenUpdating = True
    End If
    Select Case MsgBox("Le transfert de vos nouveaux PVC vers les Entrepots est Terminé", vbInformation, "Information")
    Case vbOK
    End Select
     
    End Sub

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 127
    Par défaut
    Salut
    Ne pas oublier de faire des recherches avant de poster, application.run apparait souvent.

    Il fonctionn comme ca

    Dans le code classeur a partir duquel tu veux appeler la macro d'un autre Classeur déjà ouvert.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.run "'NomDuClasseurSource.xls'!NomDeLaMacro"
    Le Classeur source étant celui qui contient la macro à exécuter bien sur


    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut
    Bonjour,
    Comme tu l'as vu je souhaite ouvrir un a un tous les fichiers se trouvant dans un dossier et lancer la macro "mercuriale" se trouvant dans chacun des fichiers
    Là j'ai essayé de mettre le nom du fichier contenant la macro comme tu m'as recommendé JE BLOQUE SUR LA DEUXIEME LIGNE BLEUE
    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
    Sub tonytest()
    R = MsgBox("    Vous comfirmez la mise à jour des PVC vers les entrepots ?               ", vbYesNo + vbQuestion, "Mise a jour des PVC")
    If R = vbYes Then
    Application.ScreenUpdating = False
    
        Dim oCible As Workbook
        Dim sPath As String
        Dim W As String
     
        sPath = Sheets("TONY").Range("A516").Value
        W = Dir(sPath & "*.xlm")
     
        Do Until W = ""
            Set oCible = Workbooks.Open(Filename:=sPath & W)
    
    Dim oSource As Workbook
     
    Set oSource = Workbooks("TARIFAIRE v5.xlm")
    
    oCible.Application.Run "'Entrepot_1.xlm'!mercuriale"
    oCible.Application.Run "'Entrepot_2.xlm'!mercuriale"
    oCible.Close True
    
     W = Dir()
    Loop
    Application.ScreenUpdating = True
    End If
    Select Case MsgBox("Le transfert de vos nouveaux PVC vers les Entrepots est Terminé", vbInformation, "Information")
    Case vbOK
    End Select
    End Sub

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 127
    Par défaut
    Salut
    Et non, tu n'as pas fait comme je t'ai montré .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oCible.Application.Run "'Entrepot_2.xlm'!mercuriale"
    ocible est un workbook (un classeur donc) et un objet Classeur, n'a pas de propriété ou d'objet Application qui lui est lié.
    "Application" représente le programme Excel (une session).
    Donc le bon code serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "'Entrepot_2.xlm'!mercuriale"
    Apres, il faudra faire attention a comment est codé ta procédure "mercuriale", pour être sur qu'elle travail bien sur le classeur qui la contient et non sur le classeur actif, enfin tout dépend sur quel classeur tu veux appliquer ta procédure. Si tu veux appliquer ta procédure contenu dans Classeur2 sur Classeur1, ça n'est pas la même chose que d'appliquer a partir de Classeur1 la procédure contenu dans classeur2 sur le classeur2.

    Tu devrais développer un peu plus le fonctionnement que tu désires entre tes fichiers et ce que font tes procédure Mercuriale1 & 2.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    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
    ça aurait l'apparence de ceci (sans connaissance de la macro mercuriale)
    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 TonyTest()
    Dim oSource As Workbook, oCible As Workbook
    Dim sPath As String, W As String
     
    Application.ScreenUpdating = False
    If MsgBox("Vous comfirmez la mise à jour des PVC vers les entrepots?", vbYesNo + vbQuestion, "Mise a jour des PVC") = vbYes Then
       Set oSource = ThisWorkbook
       sPath = oSource.Sheets("TONY").Range("A516").Value
       W = Dir(sPath & "*.xlm")
       Do Until W = ""
          Set oCible = Workbooks.Open(Filename:=sPath & W)
          Application.Run "'" & oCible.Name & "'!mercuriale"
          oCible.Close True
          W = Dir()
       Loop
    End If
    MsgBox "Le transfert de vos nouveaux PVC vers les Entrepots est Terminé", vbInformation, "Information"
    End Sub

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut
    ok merci Mercatog, merci beaucoup ça fonctionne
    dois-je ouvrir une autre conversation ou peux tu me repondre sur un message d'erreur que je recois (pas sur cette macro) c'est a dire celui ci

    erreur d'éxecution '1004':
    La methode 'sheets' de l'objet_'Global' à échoué

  7. #7
    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
    Bien sûr, ouvre un autre sujet et mets ton code dedans

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

Discussions similaires

  1. Probleme avec Application.run
    Par scully2501 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/11/2007, 15h47
  2. probleme fermeture application excel
    Par JulienCEA dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/05/2006, 09h50
  3. [VB6] Probleme fermeture application
    Par h82kev dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/03/2006, 13h18
  4. [VBA][EXCEL]Erreur '1004' avec "Application.Run"
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/01/2006, 10h50
  5. Application.run ?
    Par bobymaw dans le forum Langage
    Réponses: 5
    Dernier message: 29/12/2005, 20h21

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