Bonjour,
J'ai entendu parler qu'il existait 3 types de macro-commandes, mais je n'en vois que 2 : sub et function.
Pouvez-vous m'indiquer quel serait le 3e type ?
Merci déjà.
Bien cordialement.
Catherine
Bonjour,
J'ai entendu parler qu'il existait 3 types de macro-commandes, mais je n'en vois que 2 : sub et function.
Pouvez-vous m'indiquer quel serait le 3e type ?
Merci déjà.
Bien cordialement.
Catherine
Salut, un pb de vocabulaire ?
Bonjour
Le terme "macro-commande" (voire "macro" seul) désigne une chose très précise : une procédure regroupant pour seules instructions celles qui reproduiraient, dans leur ordre d'exécution, toutes les actions effectuées au clavier ou à la souris par l'utilisateur. L'écriture (automatique) de ces procédures est, sous Excel par exemple, faite par l'application lors de l'utilisation de l'enregistreur de macros.
Ces procédures-là ne peuvent en aucun cas être des fonctions. Elles sont de simples routines ( des "sub" pour rester familier)
Il est abusif d'appeler macro-commandes les procédures qui sont directement écrites par un développeur.
En ce qui concerne maintenant les procédures que le développeur écrit lui-même (et qui ne méritent dont pas d'être appelées des "macro-commandes"), elles ne peuvent être que :
- de simple routines (des "Sub"), dont le rôle est limité à l'exécution d'instructions.
ou
- des fonctions, dont le rôle est distinct de celui d'une routine . Outre le fait qu'elles exécutent des instructions , elles deviennent elles-mêmes une variable (typée) utilisable. On a pris l'habitude de dire plus familièrement qu'une fonction "retourne" une valeur (il faudrait d'ailleurs alors dire une variable, mais bon ...). Je préfère quant à moi dire qu'une fonction est elle-même typée, qu'elle représente une "chose" (valeur/variable ou objet) et qu'elle EST donc similaire à une variable ******
Bonne nuit.
EDIT : ****** La similarité est d'ailleurs telle que l'on peut modifier en son sein même ce ... qu'elle est (donc ce que l'on a pris l'habitude d'appeler ce qu'elle "retourne")
Précisons enfin que tant une routine qu'une fonction peuvent être récursives.
Bonjour,
Dans d'autres langage on considère qu'une procédure est une fonction qui ne retourne pas de valeur!
Si tu l'avais lue, on aurait plus de chance de le trouver!J'ai entendu parler qu'il existait 3 types
Bonjour Robert
Je pense qu'il serait mieux de changer par "routine" le mot "procédure" utilisé ici. Car une fonction est également une procédure.Dans d'autres langage on considère qu'une procédure est une fonction qui ne retourne pas de valeur
Ce qui ne me plait en fait pas vraiment dans la manière habituelle d'exposer ce qu'est une fonction, c'est l'emploi du verbe retourner.
Je n'aime donc pas du tout la confusion que finit par générer dans les esprits l'utilisation du verbe "retourner" dont aucune définition possible n'a le sens qu'a en anglais le verbe "to return" (dans sa forme transitive également) dans l'expression "to return a value".
Le verbe "spécifier", le verbe "définir", le verbe "déterminer" (et sans doute d'autres ...) auraient dû retenir l'attention des traducteurs. Les Espagnols n'ont pas commis la même erreur.
Amitiés
EDIT : j'ai failli (mais me suis ravisé car j'aurais ainsi compliqué la bonne compréhension des choses) parler plus longuement du caractère assez "batard" des fonctions VBA (pas celles de Excel). Ce qu'en fait leur créateur, ce que le développeur peut y écrire et rendre exécutable, s'écarte dans certains cas très nettement de la vocation, de la pureté, d'une fonction. J'ignore la raison pour laquelle Microsoft a permis de tels "égarements" qu'il s'est bien gardé de permettre pour les fonctions Excel.
Il s'agissait peut-être des macro-commandes des premières versions d'Excel, à l'époque où ce logiciel n'intégrait pas VBA et où les macro étaient principalement des successions de fonctions.
C'est aujourd'hui quasiment abandonné. Ca ressemblait à ça : http://jacxl.free.fr/cours_xl/cours_...ml#corresp_api
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager