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 :

3 types de macro-commandes [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 42
    Points : 40
    Points
    40
    Par défaut 3 types de macro-commandes
    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

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, un pb de vocabulaire ?

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    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.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Dans d'autres langage on considère qu'une procédure est une fonction qui ne retourne pas de valeur!

    J'ai entendu parler qu'il existait 3 types
    Si tu l'avais lue, on aurait plus de chance de le trouver!

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour Robert
    Dans d'autres langage on considère qu'une procédure est une fonction qui ne retourne pas de valeur
    Je pense qu'il serait mieux de changer par "routine" le mot "procédure" utilisé ici. Car une fonction est également une procédure.
    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.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Galope Voir le message
    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 ?
    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
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/06/2007, 19h06
  2. [macro commande] : fusion de cellules identiques
    Par Prissou dans le forum VBA Word
    Réponses: 2
    Dernier message: 27/04/2007, 15h22
  3. [VBA-W] : macro commande introuvable
    Par Prissou dans le forum VBA Word
    Réponses: 13
    Dernier message: 25/04/2007, 15h35
  4. [VBA EXCEL] Macro commande vba vers windows
    Par Lexot2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/04/2007, 12h05
  5. Lancer une commande (type ligne de commande) depuis programme Java
    Par rprom1 dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 15/12/2006, 12h06

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