Visual basic VB6 en 64 bits

Signaler
-
 Papillon33 -
Bonjour,

C'est compliqué, surtout sous Windob. Windows 7 - 64 bits comporte un noyau 32 bits et Windows 7 - 32 bits comporte un noyau 16 bits. Donc on peut difficilement savoir.
Sur Mac OSX Catalina, le système est purement 64 bits. Les programme 32 bits comme Office 2011 ne marche plus (Programme 32 bits), donc Apple est clair. Sur Catalina, tout ce qui est 32 bits est obsolete.
Donc quand j'utilise Office 2019 MAC sur Mac OSX Catalina, je suis en 64 bits. Et quand j'utilise VBA sur Excel 2019 ou Word 2019, je suis obligatoirement en 64 bits.
ALORS LA QUESTION, Microsoft a développé un VBA (qui est un sous ensemble de VB6) en 64 bits. Donc il existe un VBRun en 64 bits.
OU IL EST ?

4 réponses

Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
444
En fait tu pars du principe erroné que vba et vb6 c’est la même chose.

Vb6 était un langage pour faire des programmes.
Vba est un langage pour faire des scripts.

Un programme interagit avec le système, un script ne peut interagir qu’avec son interpréteur.
Si Microsoft avait décidé que le langage de macro utiliserait une syntaxe basée sur Java, ça n’aurait pas été du Java pour autant, pas plus que vba n’est de vb6.
Ils ont juste choisi une syntaxe inspirée de vb pour que le codeur amateur (au bon sens du terme) se sente à l’aise.
Mais derrière ça ne fonctionne pas du tout pareil.

Ils ont voulu faire pareil avec .net. Ayant peur de perdre les codeurs amateurs avec C#, ils lui ont créé un skin à la sauce VB, mais une fois « compilé » (c’est pas vraiment compilé en .net, mais c’est pas le sujet de ce soir), c’est le même fichier que si on l’avait écrit en C#. Là où ils se sont plantés c’est que les codeurs amateurs ayant appris sur le tas, ont eu du mal à changer de paradigme, là où vb était orienté objet (comme vba) .net est tout objet et ça change radicalement la conception. De fait, on peut toujours écrire en vb.net comme on le faisait en vb6, mais ça semble plus compliqué ou biscornu et moins optimisé simplement parce que c’est pas de cette façon qu’il faut le faire. En plus le simili vb amène de la confusion à la confusion.

Quand je suis passé à .net, on m’a dit que le langage dédié c’est C#, et force est de reconnaître que n’ayant pas de ressemblance syntaxique avec vb j’étais moins tenté de mélanger chèvre et chou
<
Vb6 était un langage pour faire des programmes.
Vba est un langage pour faire des scripts.
>
Non VBScript est un langage pour faire des scripts, un autre sous ensemble de VB.
Visual Basic for Applications (VBA) est une implémentation de Microsoft Visual Basic qui est intégrée dans toutes les applications de Microsoft Office, dans quelques autres applications Microsoft comme Visio et comme AutoCAD, WordPerfect, MicroStation, Solidworks ou encore ArcGIS. 

Le mécanisme d'utilisation doit être le même que quand on fait de débugage avec Visual Basic 6. Couche interpréteur et runtime ou framework.
VB6 comporte en plus certainement un compilateur qui permet de faire du code natif.

D'ailleurs pourquoi Microsoft garde t'il VBA mode VB6 au lieu d'implémenter VB .net dans les applications Office ?

Bon j'essaye de comprendre. Merci
Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
444
J’ai sciemment laissé vbs de côté, mais bon.
VBS sert à faire des scripts windows, vba sert à faire des scripts internes à l’application hôte, autrement appelé macro.

Vbs et vba sont plus proches l’un de l’autre que de vb6
Ce qui m'intéresse en fait c'est de savoir si quelqu'un a des informations sur la façon dont est utilisé VBA dans Word ou Excel. Par comment utiliser VBA, mais comment Excel utilise cette application, car quand on voit la fenêtre de VBA et celle de Excel, on ne peut qu'être convaincu qu'il s'agit de deux mondes différents. VBA a encore des barres d'outils dignes du XX siècle et Excel utilise les rubans.
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
145
VBA et VB6 ne sont fonctionnels qu'en 32 bits à ma connaissance
VB6 n'est plus maintenu depuis 2000.

Je suis au courant pour VB6. Simplement j'interroge sur le VBA de Office 2019 qui sur MAC Catalina ne peut tourner qu'en mode 64 bits. Avez vous des informations sur cette version de VBA.
Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
444
Bonjour
Vba n.est pas compilé, c’est l’application hôte qui s’occupe d’interpréter le code.
De fait si l’application est en 64 bits, elle interprète en 64 bits.
Il n’y a pas de vbrun.
Tu es sur, car si tu affiches le contenu du packet par exemple pour Excel 2019, tu trouves un programme Unix --> "Visual Basic for Applications" dans Frameworks\Visual Basic for Applications.framework
Il semble y avoir une certaine logique car tu peux installer Excel sans les macro donc sans VBA.
Qu'en pensez vous ?
Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
444
oui je suis sûr.
Que l'on puisse installer Excel sans VBA peut-être, j'en sais rien, mais par contre VBA Excel sans Excel c'est pas possible.
C'est le cas de Excel sur mobile. Les macros VBA ne sont pas implémentées.
Attend.
Avec VB6, on a un framework VBRun qui a été écrit et compilé en 32 bits.
Avec Excel, mais aussi avec Word et les autres produits Office, on a un VBA qui est un framework écrit et compilé en 32 bits, puis en 64 bits pour Office 2019 (Ne parlons pas de Office 2016 qui est une M.)
Quand tu utilises VBA 64 bits, tu as beaucoup des mêmes fonctions que dans VB6.

Donc, les gens de Microsoft, qui ont quand même oublié d'être cons, pourquoi persistent t'ils à maintenir un VBA (clone de VB6) et ont t'ils arrêté VB6 pour produire VB .net qui est une daube, alors qu'ils leur suffisaient de mettre un compilateur 64 bits sur VB6 ?

Tu me diras qu'ils ont été capable de faire Millenium et Vista. Mais ils ont fait aussi Win 7 et Office 2019 qui sont quand même top.