Conseils pour une utilisation facile d'Excel

Pour écrire et partager des tutoriels et des astuces (Excel, Calc et Google Sheets uniquement)
Avatar du membre
Patrice33740
Membre fidèle
Membre fidèle
Messages : 398
Appréciations reçues : 30
Inscrit le : 27 juillet 2014
Version d'Excel : FR, 2007, 2003, 2013, 2016

Message par Patrice33740 » 27 novembre 2018, 00:33

Bonsoir dhany,

Ce n'est ni Wikipédia, ni quelques bouquins de vulgarisation, mais Microsoft qui défini le VBA :
http://interoperability.blob.core.windo ... -VBAL].pdf
Et tu remarquera qu'il n'y a ni Workbook, ni Worksheet, ni aucun Objet qui appartienne à l'Application support !
Cordialement
Patrice

Personne ne peut détenir le savoir, c'est pour ça qu'on le partage.
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 695
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 27 novembre 2018, 01:54

@Patrice33740
tu a écrit :Ce n'est ni Wikipédia, ni quelques bouquins de vulgarisation, mais Microsoft qui défini le VBA
je suis entièrement d'accord là-dessus !  :)

tu a écrit :il n'y a ni Workbook, ni Worksheet, ni aucun Objet qui appartienne à l'Application support !
ben oui, c'est normal : ta doc est pour le noyau VBA dont j'parlais, et c'est ce noyau qui est identique pour toutes les applications Office.

extrait de ta doc :
Screen.jpg
1.3  Vue d'ensemble des spécifications du langage VBA

VBA est un langage de programmation pour ordinateur qui est censé être utilisé en conjonction avec une application logicielle hôte telle qu'un traitement de textes. Dans une telle situation, l'utilisateur final d'une telle application hôte utilise le langage VBA pour écrire des programmes qui peuvent accéder aux données et aux fonctionnalités de l'application, et aussi les contrôler.

alors par rapport à Excel : tu as écrit que ce VBA ne contient aucun objet de l'application hôte (ni Workbook, ni Worksheet ou autre) ; exact, vu que c'est le noyau ; mais alors, c'est bien car une autre partie y a été ajoutée pour former le VBE (Visual Basic for Excel) qu'on peut écrire des codes VBA qui peuvent manipuler des objets Excel : un classeur Excel (Workbook), une feuille de calcul (Worksheet), des cellules (Range), etc... CQFD !  :D

Word ne contient pas de classeur Excel, ni aucune feuille de calcul, ni beaucoup d'autres choses propres à Excel : son VBA n'a donc pas besoin de les gérer ; par contre, il doit gérer les paragraphes, styles, et autres particularités de Word ; comme le noyau du VBA de Word est identique aux autres, il faut bien, forcément, que là aussi, une autre partie lui ait été ajoutée pour pouvoir écrire des codes VBA gérant les objets de Word !

c'est donc ces différentes parties ajoutées qui font que VBA n'est pas un seul et unique langage ! le noyau seulement : oui ; mais c'est tout !

donc ta doc Microsoft elle-même me permet de confirmer ce que j'ai écrit ! re-CQFD !
  ::D :D

maint'nant, si jmd ou toi vous tenez absolument à penser qu'y'a un seul et unique VBA, ça m'dérange pas du tout !  :P ;;)  mais si un jour on m'avait dit qu'jmd allait s'convertir au monothéisme VBA, j'l'aurais jamais cru !!!  :yek: :hahaha:

comme déjà écrit dans un post précédent, que VBA soit un langage unique ou non, ça change rien à mon utilisation perso d'VBA.  ::D 8-)

dhany
Avatar du membre
Patrice33740
Membre fidèle
Membre fidèle
Messages : 398
Appréciations reçues : 30
Inscrit le : 27 juillet 2014
Version d'Excel : FR, 2007, 2003, 2013, 2016

Message par Patrice33740 » 27 novembre 2018, 09:01

Bonjour,

@[dhany

Comme tu l'as très justement écrit :
dhany a écrit :
27 novembre 2018, 01:54
1.3  Vue d'ensemble des spécifications du langage VBA

VBA est un langage de programmation pour ordinateur qui est censé être utilisé en conjonction avec une application logicielle hôte telle qu'un traitement de textes. Dans une telle situation, l'utilisateur final d'une telle application hôte utilise le langage VBA pour écrire des programmes qui peuvent accéder aux données et aux fonctionnalités de l'application, et aussi les contrôler.
Rien n'est ajouté, C'est tout simplement que VBA utilise les fonctionnalités qui existent déjà dans l'Application référencée.
PS :
C'est là l’intérêt du VBA, une simple référence permet d'utiliser les fonctionnalités d'une application qu'elle soit MS ou autre.
Cordialement
Patrice

Personne ne peut détenir le savoir, c'est pour ça qu'on le partage.
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 695
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 27 novembre 2018, 09:14

Bonjour Patrice33740,

j'ai écrit : « car une autre partie y a été ajoutée pour former le VBE (Visual Basic for Excel) »

par « ajoutée » je voulais parler d'une extension VBA par rapport au noyau de base.

dhany
Avatar du membre
Patrice33740
Membre fidèle
Membre fidèle
Messages : 398
Appréciations reçues : 30
Inscrit le : 27 juillet 2014
Version d'Excel : FR, 2007, 2003, 2013, 2016

Message par Patrice33740 » 27 novembre 2018, 09:23

dhany a écrit :
27 novembre 2018, 09:14
par « ajoutée » je voulais parler d'une extension VBA par rapport au noyau de base.
Mais il n'y a aucune extension, tout ce que tu décris, sont des fonctionnalités qui existent dans Excel, Word, ... pour leur propre fonctionnement, indépendamment du VBA.
VBA ne fait que "s'y connecter".
Cordialement
Patrice

Personne ne peut détenir le savoir, c'est pour ça qu'on le partage.
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 695
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 27 novembre 2018, 10:11

tu a écrit :des fonctionnalités qui existent dans Excel, Word, ... pour leur propre fonctionnement, indépendamment du VBA.
oui, et heureusement ! j'suis d'accord avec ça ! c'est bien des fonctionnalités de l'application, qui existent déjà ; mais pour ce qui est de pouvoir les manipuler par VBA, le noyau de base ne le peut pas, lui, car ce noyau commun de tous les VBA ne connaît pas les spécificités d'une application ; et c'est justement pour ça que Microsoft a dû développer une extension du langage VBA propre à chaque application ; et c'est cette extension qui peut gérer les fonctionnalités propres de l'application ; c'est aussi cette extension spéciale pour chaque application qui fait qu'il n'y a pas qu'un seul VBA ; exemple : le VBE d'Excel : « Visual Basic for Excel ».

dhany
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'659
Appréciations reçues : 251
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 28 novembre 2018, 09:11

bonjour à vous

au-delà de la discussion VBA ou VBpourexcel, il faut reconnaître qu'on peut s'en passer et qu'on DOIT s'en passer

je cherche plutôt à compléter mes conseils du message #1 de ce fil. Lâchez-vous ;;)

amitiés à tous
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'659
Appréciations reçues : 251
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 28 novembre 2018, 09:12

connaissez-vous Microsoft Flow ?
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
Avatar du membre
Patrice33740
Membre fidèle
Membre fidèle
Messages : 398
Appréciations reçues : 30
Inscrit le : 27 juillet 2014
Version d'Excel : FR, 2007, 2003, 2013, 2016

Message par Patrice33740 » 29 novembre 2018, 13:10

jmd a écrit :
28 novembre 2018, 09:11
[...] VBA ou VBpourexcel, il faut reconnaître qu'on peut s'en passer et qu'on DOIT s'en passer
je cherche plutôt à compléter mes conseils du message #1 de ce fil. [...]
Bonjour jmd
Entièrement d'accord, tu peux y ajouter les 13 règles d'or de Gaëtan Mourmant :
http://www.xlerateur.com/divers/2010/05 ... nnees-612/
Cordialement
Patrice

Personne ne peut détenir le savoir, c'est pour ça qu'on le partage.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'201
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 4 décembre 2018, 13:53

Tiens ce fil m'avait échappé ! Bonjour tous ! :wink:

Quand on joue sur les mots, les discussions peuvent s'allonger indéfiniment ! :-)))
Le langage de programmation en tant que tel est unique, mais est bien décliné en versions par application...
2018-12-04_162648.png
2018-12-04_162648.png (6.58 Kio) Vu 673 fois
En ouvrant le menu Outils > Références de l'éditeur dans Excel on peut vérifier que la référence à la bibliothèque d'objets Excel y est automatiquement établie. Ce qui ne sera pas le cas si on ouvre Word ou Powerpoint...
C'est ce qui permet en travaillant avec VBA pour Excel d'avoir accès directement aux composants d'Excel.

Par ailleurs, je persiste toujours à ne pas comprendre les oppositions que l'on fait entre VBA et des fonctionnalités d'Excel. L'intérêt ou non d'utiliser VBA pour telle ou telle chose peut s'apprécier selon des critères très divers, mais dès lors que l'on peut trouver un intérêt, même minime, à utiliser VBA, si l'on s'en sert pour actionner les fonctionnalités Excel, elles ne seront pas actionnées différemment que si l'on opérait manuellement. Je ne vois vraiment pas pourquoi un TCD ne devrait pas être actualisé par une procédure VBA.

Cordialement.
2 membres du forum aiment ce message.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message