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

VB.NET Discussion :

Conversion VBA Excel vers VB Net


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Conversion VBA Excel vers VB Net
    Bonjour,

    J'ai fait des applications VBA Excel. Je veux passer à VB Net et donc convertir ces applications. Avant de me plonger dans VB Net, j'aimerais savoir si :

    1. les objets d'Excel, par exemple les feuilles de calcul qui sont cachées dans mes applications VBA, peuvent être facilement intégrés dans VB Net ;

    2. si oui, est-ce que mes applications VB Net nécessiteront toujours la présence d'Excel ?

    3. si je veux que mes applications VB Net fonctionnent sans Excel, dois-je modifier sérieusement mon code VBA, en remplaçant par exemple les feuilles par des tableaux() et en reconstruisant les relations entre les cellules ?

    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    vb.net et vba ont pour seul point commun le langage basic, soit quelques dizaines de mots clés (if, sub ...)
    tout le reste est différent, vb.net se base sur le framework .net et ses milliers de classes

    après là ou je ne comprends pas tout ce que tu dis, tu veux convertir des applis vba en appli vb.net
    si c'est bien le cas tu n'as pas besoin d'avoir excel si tes applis ne travaillent pas sur des fichiers excel, en .net si on peut se passer d'excel c'est tant mieux niveau perf et ergonomie
    si tes applis .net travaillent sur des fichiers excel, pourquoi ne pas rester sur vba ? (ou éventuellement vsto, mais pour quel gain ...)

    du code vba ne peut pas vraiment être repris en .net, il y a des tas de choses à apprendre avant de coder en .net (POO et autres bases)


    et pour être moins catégorique, pour manipuler un fichier excel depuis .net il n'est pas nécessaire d'avoir excel sur le poste, juste quelques dll qui sont trouvables sur le site de microsoft et qui peuvent être incluses dans un setup.exe
    ensuite les classes sont les même qu'en vba, donc le code est similaire

    précise éventuellement ton message pour qu'on puisse préciser l'orientation nécessaire
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Merci Pol63,

    Mes applications VBA sont assez volumineuses (15000 lignes de code, par exemple). Elles fonctionnent bien sur ma machine, mais j'ai souvent remarqué que des problèmes se posaient quand on changeait d'environnement. Par exemple, dernièrement, des forms mal positionnées. Jusqu'à présent, j'ai pu corriger, mais j'ai l'impression que VBA est assez dépendant (peu portable ?). Par ailleurs, il faut toujours que je vérifie la version d'Excel. Donc, j'aimerais ne plus dépendre d'Excel et avoir des applications plus "autonomes".

    J'avais posé la question à un informaticien. Il m'avait dit que c'était facile de "compiler mes programmes VBA en Visual Basic". Peut-être que VB Net c'est assez différent de Visual Basic ?

    Si je comprends bien ta dernière suggestion, c'est possible de se passer d'Excel s'il ne s'agit que de manipuler des fichiers Excel. Mes applications manipulent effectivement des fichiers Excel (externes en quelque sorte), mais leurs codes utilisent aussi les fonctionnalités propres d'Excel : les fonctions, par exemple, mais aussi les feuilles. Par exemple, dans une application, il est possible d'afficher une partie d'une base de données. Je ne vois pas comment je pourrais remplacer cette feuille par un userform avec plein de textbox. Je sais qu'il y a un contrôle feuille de calcul qu'on peut mettre dans un userform (dans VBA), mais ça marche très mal avec de grandes feuilles.

    Donc, j'hésite.

    Merci encore pour ton aide.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    15000 lignes de code vba peuvent se transformer en 2000 lignes de vb.net bien écrit dans certains cas

    que vba soit dépendant de la version d'excel ca ne m'étonnerait qu'à moitié
    vb6 qui date de 1998 il me semble est similaire à vba, hormis le fait qu'il n'est pas orienté office et qu'il fait des .exe, néanmoins il peut manipuler des fichiers excels tout comme on peut le faire depuis beaucoup de langage
    si les objets graphiques (forms et autres) d'excel peuvent être exportés en activeX ou ocx alors tu pourrais les utiliser depuis vb6

    après passé d'un langage obsolète (vba) à un langage très obsolète (vb6) n'est pas forcément la meilleure idée
    enfin tout dépend du contexte ... si c'est pour du one shot ou si tu es développeur à plein temps, auquel cas passer sur un vrai langage (vb.net) est plutot sympathique

    vb.net ca s'apprend, et une fois qu'on le connait, on ne pense même pas à remplacer excel par des milliers de textbox
    d'ailleurs quand on fait une application, on ne cherche pas à remplacer excel ou autre, on définit les besoins de l'appli, et on design une interface et du code en adéquation avec les besoins
    et au final ca peut etre beaucoup plus fonctionnel qu'excel avec un style tout à fait différent !
    repartir sur .net oblige donc à faire table rase du passé, et à prendre du temps pour apprendre, ce qui ne se fait pas en 2 semaines ...

    (si tu pars sur vb6 il y a un sous forum vb6)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Je te remercie beaucoup pour ces explications.

    J'ai compris que si je veux transcrire mes applications, le mieux est de n'en conserver que la logique, les algorithmes, et de partir de zéro, ou presque, avec VB Net. Et que cela me prendra tout de même un bout de temps !

    Merci encore.

Discussions similaires

  1. Conversion code VB6 vers VB.NET
    Par dakota77 dans le forum VB.NET
    Réponses: 4
    Dernier message: 15/06/2008, 23h14
  2. Vba excel vers outlook
    Par maejor dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/01/2008, 17h53
  3. [VBA]excel vers pdf
    Par Oussbaba au rhum dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 16/10/2007, 13h05
  4. conversion donnees excel vers oracle
    Par edzodzinam dans le forum Oracle
    Réponses: 3
    Dernier message: 22/08/2006, 10h24
  5. Migrer un projet VBA Excel vers VB
    Par Phoon0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2005, 11h09

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