Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Différence entre application.run et call

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chris57

XLDnaute Occasionnel
Bonjour à tous,

pour executer une macro à partir d'une autre macro on peut utiliser ces 2 instructions :
"application.run" ou "call"

Quel est la différence entre ces 2 instructions ?
 
Re : Différence entre application.run et call

Bonjour Chris57

J'avais en tête que call est optionel et qu'il permet de lancer une procédure et application.run, c'est un peu pareil mais pour lancer une macro d'un autre fichier 😕.

Sinon, on peut le retrouver quand on utilise l'enregistreur de macros (connu ausi sous le nom de Henry 😱) .
 
Re : Différence entre application.run et call

Bonsoir
J'ajouterai juste pour l'anecdote qu'il m'arrive de spécifier Call lorsque je tiens à mettre plusieurs instructions sur la même ligne (séparées par des ":" donc) derrière une invocation de procédure, pour éviter que celle ci ne soit interprétée comme étiquette.
Cordialement.
 
Re : Différence entre application.run et call

Bonsoir Chris57, Michel, Bernard,

Autres différences importantes :

- Call est suivi du nom de la macro sans guillemets, il en faut après Application.Run

- Call peut transmettre les valeurs des arguments si la macro est paramétrée, ce n'est pas possible avec Application.Run.

A+
 
Re : Différence entre application.run et call

Bonsoir à tous

Histoire de rendre hommage à la touche F1 😉
 
Dernière édition:
Re : Différence entre application.run et call

Re

et pour Call
 
Re : Différence entre application.run et call

c'est vrai ça ! Quelle idée de créer un forum sur excel alors qu'il y a toutes les réponses dans la formidable aide ! 😉

Dommage que leurs explications soient en égyptien 🙄
 
Re : Différence entre application.run et call

Re

La touche F1 est la porte d'entrée vers le Saint VBAraal 😉
Les membres d'XLD sont ses chevaliers.

Quand tu vois du texte en français , tu lis de l'égyptien ?? (C'est quoi la marque de ta bière 😉 )

PS: Appuyer sur la touche F1 et être xldnaute n'est pas incompatible 😉
Et elle peut rendre bien des services souvent tout comme l'enregistreur de macros.
 
Dernière édition:
Re : Différence entre application.run et call

Tu vois moi j'ai beau lire les aides des fonctions call et application.run, je n'y pige pas grand chose. Le vocabulaire choisi par Microsoft est trop pointu pour des gens qui cherchent justement de l'aide ! Et pourtant je ne suis pas un débutant, je fait du Vba depuis 1998/99, perso et pro.

Par exemple lorsque je cherche la définition de Worksheets, je trouve çà :
Collection de tous les objets Worksheet dans le classeur actif ou spécifié. Chaque objet Worksheet représente un classeur.
En lisant ça on pourrait croire qu'un Worksheet est un classeur, alors que c'est une feuille... Le classeur c'est Workbook
Et pourtant le mot feuille n'apparait pas dans la définition !
Et si je cherche Workbook :
L'objet Workbook appartient à la collection Workbooks. La collection Workbooks contient tous les objets Workbook actuellement ouverts dans Microsoft Excel.
Encore une vois le mot essentiel qui est "classeur" n'apparait pas dans l'explication !!


Tout ça pour dire que l'aide fournie est vraiment déplorable...

Bref c'est vraiment très mal expliqué. D'ailleurs c'est pour ça que ce forum est tellement fréquenté !
 
Re : Différence entre application.run et call

Re

C'est plus clair ainsi
Cet objet représente une feuille de calcul.
L'objet Worksheet est un membre de la collection Worksheets.
La collection Worksheets contient tous les objets Worksheet d'un classeur

Et la , je comprends
Collection de tous les objets Worksheet dans le classeur actif ou spécifié. Chaque objet Worksheet représente un classeur.

Que chaque objet Worksheet se réfère à un seul et unique classeur (Ce qui est vrai, non ?)

Je reste persuadé quand même de la grande utilité de l'aide VBA.
C'est comme cela que j'ai commencé (comme beaucoup d'autres ici) à découvrir les joies de VBA.

Le forum c'est autre chose, c'est le plaisir du partage des savoirs entre forumeurs, de la découverte des n façons de résoudre un problème sous Excel.
 
Dernière édition:
Re : Différence entre application.run et call

Tu as peut-être une manière à toi de comprendre l'aide, mais pour moi, un "objet" dans un logiciel c'est pas quelque-chose de claire.
Et encore une fois absoluement rien ne dit que cette objet est une feuille, sauf pour les anglophones qui savent qu'une sheet est une feuille justement.
 
Re : Différence entre application.run et call

Bonjour.
Il n'est pas exclu que le dernier mot dans votre aide résulte d'une erreur de traduction due à un français !
J'ai regardé à worksheets dans mon aide, j'ai bien plus grave : C'est faux. Elle renvoie bien une collection Worksheets et non pas Sheets (les deux sont aussi des types de données) mais Sheets est une collection d'objets banalisés et non pas d'objets Worksheet.
La notion d'objet est fondamentale en VB. Vous pouvez vous définir un objet en insérant un module de classe de votre conception.
Je distingue personnellement cette notion de la notion d'entité, qui est une unité constituante de l'application hôte, qu'un objet VBA fourni et donc défini par elle permet de manipuler.
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
258
Réponses
4
Affichages
482
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…