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 :

Retour d' Application.Run [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Stagiaire vba
    Inscrit en
    Mai 2020
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire vba

    Informations forums :
    Inscription : Mai 2020
    Messages : 27
    Par défaut Retour d' Application.Run
    Bonjour,

    J'exécute des fonctions dont le nom est listées dans un tableau et j'aimerai pouvoir récupérer la valeur retournée par ses fonctions.
    Comme je passe pas une variable de type string j'utilise Application.run et d'après cette page :https://docs.microsoft.com/fr-fr/off...pplication.run la méthode Run retourne la valeur de la fonction.
    J'aimerai donc savoir comment récupérer ce retour, ou peut être une autre méthode équivalente.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici une exemple d'appel à une procédure nommée myTest présente dans une macro complémentaire nommée "MagicOfficeTools.xlam" an lui passant un argument

    Code de la procédure dans le classeur xlam

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function MyTest(Optional Name As String) As String
      MyTest = "Bonjour " & Name & vbCrLf & "Ceci est un test de retour de valeur"
    End Function
    Code de la procédure appelante présent dans un classeur xlsm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub TestRun()
      Const AddInName As String = "MagicOfficeTools.xlam"
      Dim myResponse As String
      Dim MyResult As String
      MyResult = Application.Run("'" & AddInName & "'!myTest", "Philippe")
      MsgBox MyResult
    End Sub
    Comme l'argument Name est optionnel, il est donc possible d'évoquer cette procédure sans passer d'argument et ainsi de voir la syntaxe d'appel s'il n'y a pas d'argument

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      MyResult = Application.Run("'" & AddInName & "'!myTest")
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Stagiaire vba
    Inscrit en
    Mai 2020
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire vba

    Informations forums :
    Inscription : Mai 2020
    Messages : 27
    Par défaut
    Merci Beaucoup,

    J'ai pas bien compris l'intérêt de la macro complémentaire, j'ai put faire sans et il me semblait avoir déjà essayer cette syntaxe du app.run mais maintenant ça fonctionne donc je vais pas m'en plaindre.
    Je suppose que j'avais dû faire une erreur bête quelque part.

    Encore merci et bonne soirée

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai pas bien compris l'intérêt de la macro complémentaire
    J'ai tout simplement fait ce test avec une macro complémentaire mais cela fonctionne également avec un classeur xlsm et comme je suis sur un projet où j'utilise un Add-In, je n'ai pas dû ouvrir un autre classeur pour vous répondre.

    Par contre, il y a beaucoup d'intérêt d'utiliser une macro complémentaire lorsque l'on écrit une application surtout pour des tiers. La même procédure peut-être utilisée par plusieurs classeurs et en cas de dépannage, on évite de bloquer le client lors de modification.
    On peut également créer un menu dynamique et appeler ainsi les procédures présentes dans la macro complémentaire sans passer justement par Application.Run
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/09/2006, 13h08
  2. [C#] Application.Run sans Form
    Par papouAlain dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/06/2006, 16h36
  3. [C#]Fenetre de chargement avant Application.run()
    Par 5:35pm dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/05/2006, 03h02
  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