Affichage des résultats du sondage: Considérez-vous VBA comme un langage de programmation professionnel ? Pourquoi ?

Votants
114. Vous ne pouvez pas participer à ce sondage.
  • Oui, on peut créer des applications très professionnelles avec VBA

    79 69,30%
  • Pas vraiment, peut-être pour les non-informaticiens

    17 14,91%
  • Non, ce n'est pas du tout professionnel comme langage

    11 9,65%
  • Autres (à préciser dans les commentaires)

    3 2,63%
  • Pas d'avis

    4 3,51%
+ Répondre à la discussion Actualité déjà publiée
Page 1 sur 6 12345 ... DernièreDernière
  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Consultant
    Inscrit en
    juillet 2013
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2013
    Messages : 1 327
    Points : 36 233
    Points
    36 233
    Billets dans le blog
    2

    Par défaut Pensez-vous que VBA n’est pas un langage professionnel ?

    Pensez-vous que VBA n’est pas un langage professionnel ?
    Un développeur s’essaie à créer une application de discussion de groupe avec Excel et VBA

    Que ça soit sous Excel ou Access, Visual Basic for Applications (VBA) peut parfois permettre de faire des choses extraordinaires, même s’il faut souvent des connaissances très pointues. Vous l’avez probablement remarqué sur developpez.com où Excel et Access disposent de ressources énormes, y compris sur VBA. Mais pour beaucoup de développeurs, VBA -- et parfois VB 6 –- n’est pas considéré comme un langage de programmation pour professionnels. Cela peut être confirmé en partie, parce que le langage semble plus être utilisé par les non-informaticiens en entreprise pour créer leurs propres applications dans le cadre professionnel.

    Tristan Calderbank, un passionné de la programmation et de l’électronique a partagé un projet dans lequel il s’est essayé à développer une application de discussion de groupe avec Excel et VBA. L’idée lui est venue lors d’un stage où un autre stagiaire lui a suggéré de trouver un moyen de s’envoyer des messages discrètement à partir de leurs PC sur le réseau local de l’entreprise. Pour ce faire, le choix de Tristan s’est porté sur Excel et VBA. Avec des feuilles Excel et du code en VBA, il a mis en place une application peer-to-peer avant de la transformer en une application de type « client-serveur », toujours avec Excel et VBA.

    L’idée de départ consistait à créer deux classeurs Excel sur un lecteur du réseau local. Sur une feuille, chaque classeur contient une cellule « Send Message » et « Inbox ». La cellule « Send Message » correspond au message envoyé et la cellule « Inbox », au message reçu. Pour que ça marche, c’est simple : il faut faire correspondre la cellule « Inbox » de chaque utilisateur à la cellule « Send Message » de l’autre. En d’autres termes, le message reçu par un utilisateur est celui qui est envoyé par l’autre et vice-versa. Cette étape se fait juste à partir d’une formule Excel depuis la feuille de calculs.


    C’est un bon départ, mais cela ne peut pas répondre à des besoins réels en entreprise, même au sein d’un petit service, entre collègues. Il faudrait quelque chose qui pourrait s’adapter à plus de deux utilisateurs et de plus dynamique. Tristan est donc passé à une application de type « client-serveur ». Le projet inclut désormais n utilisateurs (donc n fichiers Excel clients) et un fichier serveur dans un même dossier sur lecteur de réseau local.

    Chaque fichier client contient une cellule dans laquelle l’utilisateur insère son nom et une autre pour son message.


    Avec du code VBA, le fichier serveur est programmé pour parcourir chaque fichier client dans le même dossier. Il récupère les noms d’utilisateurs et messages dans les fichiers clients et les copie dans une plage dédiée au fil de discussion, comme vous pouvez le voir dans la capture d’écran suivante. Chaque message est précédé du nom de l’expéditeur. Le dernier message apparait sur la dernière ligne de la plage dédiée au fil de discussion et un nouveau message fait remonter les messages précédents d’une ligne vers le haut, pour se positionner à la dernière ligne.


    Il s’agit d’un travail qui est loin d’être terminé, avec des imperfections. Mais cela montre qu’on peut aller loin avec Excel et VBA, et VBA de manière plus large, surtout quand on n'est pas informaticien. Comme Tristan l’explique, il peut y avoir des doublons dans le fil de discussion. Mais à part ça, pour améliorer l’application, on pourrait par exemple ajouter dans chaque fichier client l’heure d’envoi des messages. Ce qui pourrait permettre d’afficher les messages par ordre chronologique. Espérons que ce petit projet aiguise l’appétit des spécialistes en VBA de developpez.com, qui pourraient peut-être produire quelque chose de plus opérationnel d’ici peu.

    Pour le moment, le code source et les fichiers Excel du projet de Tristan sont sur GitHub.

    Sources : GitHub, Excel Messenger (site officiel)

    Et vous ?

    Que pensez-vous de l’application Excel Messenger ?
    Avez-vous déjà réalisé de grandes applications ou effectué des tâches complexes avec VBA ? Partagez votre expérience.
    Considérez-vous VBA comme un langage de programmation professionnel ? Pourquoi ?

    Voir aussi :

    Microsoft lance une API Excel pour Office 365 qui permet aux développeurs d'intégrer les fonctionnalités d'Excel dans leurs applications
    Cdlt!
    M.K

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    2 961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 2 961
    Points : 5 100
    Points
    5 100

    Par défaut

    Bonjour et amitiés
    Ma réponse va être très simple et très claire :
    La vocation d'un tableur est celle ... d'un tableur.
    Utiliser le langage de développement d'un tableur à d'autres fins que la vocation d'un tableur est toujours possible.
    Accompagner le code d'appel (et d'utilisation) de fonctions de l'Api de Windows est également possible (mais ce n'est même plus alors du VBA)

    Mais tout cela est-il vraiment souhaitable ? Je ne le crois pas

    Je m'y amuse de temps à autre, mais uniquement pour me divertir.
    Pour tout résumer : il est toujours possible de raboter une planche à l'aide d'une perceuse que l'on a dotée d'un disque abrasif ou d'une ponceuse dotée d'un papier abrasif. Un professionnel ne s'y égarera pas et utilisera l'outil adéquat pour ce faire. Il n'utilisera toutefois pas non plus ce dernier outil pour poncer, mais alors une ponceuse.
    Ce n'est là que mon avis.
    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.

  3. #3
    Expert éminent sénior Avatar de rdurupt
    Homme Profil pro
    Développeur .NET
    Inscrit en
    avril 2012
    Messages
    6 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2012
    Messages : 6 121
    Points : 11 966
    Points
    11 966

    Par défaut

    Bonsoir,
    J'ai commencé à travailler avec Visual studio 3, et j'ai suivi 4,5,6 2005 et suivant!

    Vba est considéré comme un langage spaghetti pour développeurs du dimanche.

    Microsoft à largement contribuer à cette réputation. Il déclarait dans sa plaquette commercial que Vb était un langage de programmation instinctif. Comme Si l'instinct était d mises dans un programme professionnel!

    Les donneurs d'ordres ont fait le reste, déroulant un discours qu'ils ne comprennent pas.

    A mes début, quand je parlais des modules de classe tout le monde rigolait.

    En 2002, vous dites que vous connaissez le module de classe , on voit que vous ne savez pas ce que c'est.

    Ou alors attention nous on veut du Vba pas vb6!

    Ou encore vous postuler Pour du .net mais dans votre Cv il y que du Vb alors que ça fait 1 an que la première version est sortie hors bête test!
    Une question bien formulée c’est 100% de la solution (rdurupt) !

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    octobre 2005
    Messages
    2 554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2005
    Messages : 2 554
    Points : 4 425
    Points
    4 425

    Par défaut

    Citation Envoyé par unparia Voir le message
    il est toujours possible de raboter une planche à l'aide d'une perceuse
    Oui et le phénomène n'est pas nouveau.

    J'ai déjà fait appel à des API Windows depuis VBA parce que j'avais développé toute une application Excel pour une société qui voulait impérativement Excel.
    J'ai aussi programmé "à la volé" des procédures stockées sur SQL Server à partir ... d'autres procédures stockées !

    On a tous fait ce genre de choses un peu limite mais c'était dans le cadre d'un développement précis.
    Et je continue à développer en VBA quand je dois utiliser l'automation entre Access et Excel. Pour moi c'est là le côté "professionnel" du développement VBA.

    cela montre qu’on peut aller loin avec Excel et VBA
    On pourrait tout aussi bien créer une base de données relationnelles sur serveur avec Excel (on imagine d'ici les performances )

    Tristan Calderbank a inventé un nouveau genre de programmation qui consiste à prendre un outil à contre-emploi
    et prouver qu'il arrive à ouvrir une boîte de petits pois avec une fourchette.

    ... so what ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre actif
    Profil pro
    Intégrateur Système (orienté SQA)
    Inscrit en
    octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Intégrateur Système (orienté SQA)
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : octobre 2010
    Messages : 64
    Points : 295
    Points
    295

    Par défaut

    Qu'est-ce qu'un langage professionnel? Au même titre qu'un AutoIT ou bien un AutoHotkey c'est l'usage que l'on en fait qui le professionnalise. L'outil professionnel Test Complete utilise, entre autre, le VBScript pour écrire des tests et cela m'arrive souvent de faire encore des batchs car j'ai moins de connaissance en PowerShell. Donc le VBA a sa place... mais uniquement dans le tableur (comme le fait remarquer unparia) pour faire des opérations sur les tableaux. Utiliser un tel langage pour monter un programme complet c'est contre productif et donc non professionnel. Ce qui montre que ce n'est pas le langage qui n'est pas professionnel mais son utilisation.

    Après est-ce que c'est un bon langage? Personnellement, je trouve cela horrible et le peu de fois que j'y ai touché, cela s'est résumé à du copié/collé depuis internet en modifiant les variables. C'était sur des feuilles Excel sans pérennité donc je pouvais me le permettre. Mais je n'aimerai pas devoir supporter ce genre de programme.

    Maintenant j'ai vu un vieux formulaire qui traîne dans la compagnie avec une communication vers SAP pour la gestion du stock. Cela date d'une époque où la personne qui a monté cela n'était pas programmeur. Cela perdure car c'est de moindre coût tant que cela ne casse pas et que la production est habitué à l'utilisé. Alors pourquoi changer ce qui fonctionne. À refaire quelque chose aujourd'hui, un site web serait surement monté. Encore une fois, c'est l'utilisation qui est faite de l'outil qui est professionnel ou non, pas le langage.

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2009
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 198
    Points : 2 633
    Points
    2 633

    Par défaut

    Citation Envoyé par Michael Guilloux Voir le message
    Considérez-vous VBA comme un langage de programmation professionnel ? Pourquoi ?
    Avec le moteur V8 google nous a montré que c'est pas le langage qui est important .

  7. #7
    Membre actif Avatar de Andarus
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2008
    Messages : 97
    Points : 275
    Points
    275

    Par défaut

    Citation Envoyé par micka132 Voir le message
    Avec le moteur V8 google nous a montré que c'est pas le langage qui est important .
    Quand tu est en situation de monopole comme le js peut-être(bien que tous le monde cherche à créer des languages alternatif qui compile en js). Mais si on veux faire du code pour excel C# me parait être un meilleur choix.

  8. #8
    Expert éminent sénior Avatar de rdurupt
    Homme Profil pro
    Développeur .NET
    Inscrit en
    avril 2012
    Messages
    6 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2012
    Messages : 6 121
    Points : 11 966
    Points
    11 966

    Par défaut

    Vba ne peut être qu'une alternative quand on ne pas faire autrement. Plus haut ont nous a parlé de Vbscript c'est le batch du développeur! Vba c'est pareil.

    Il est contre productif pour une entreprise de recourir à des outils de communication de ce type.
    Mieux vaudrait une centralisation de l'information afin que chaque acteur n'est qu'à renseigné sa partie. Ainsi chaque niveau de l'information serait alimenter en amont par le niveau supérieur et alimenterait le niveau inférieur.

    Pour moi Vba, ça va pas beaucoup plus loin qu'un CopyRecordset.

    Vb a été abandonné par Microsoft en 2003, il méritait mieux. Reste Visual studio 6,tombé dans le domaine public qui pourra encore servir dans des applications Vba, car la politique de Microsoft à la suite des affaires judiciaire lié au monopole là obligé à retirer de la licence standard des librairies forte intéressante et dont seule la concurrence fournir parfois gratuitement (un comble) nous obligeant à trouve de astuces comme pour ce satané timer!

    Je rejoins unparia et consorts sur la pertinence de ce langage!

    Faire un chat en Vba Excel c'est un exercice de style.

    J'en est fait un en turbo pascal et dos 6.2 il y quelle dizaines d'ans. Le SGBD on connaissait pas pas de problème un masque sur un fichier a accès directe et voila.

    Un copy coller 3 semaines de codages.

    Vba un rêve! Qui deviendra peut être un jour une réalité!
    Une question bien formulée c’est 100% de la solution (rdurupt) !

  9. #9
    Membre chevronné
    Homme Profil pro
    PAO
    Inscrit en
    octobre 2014
    Messages
    1 314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : octobre 2014
    Messages : 1 314
    Points : 1 992
    Points
    1 992

    Par défaut

    Bonsoir,

    Je ne suis pas un pro de la programmation, mais je considère plutot VBA comme un outil utilisable dans le monde professionnel qui permet de répondre à un tas de problématiques dans divers secteurs mais sur le cours terme,
    car les sociétés dont les besoins grandissent, devront à un moment donné, passer sur une vraie solution professionnel dédié (soit existante, soit développé avec un vrai language C, C++… etc)

    Je rejoins la phrase de @unparia (Amicalement ):
    il est toujours possible de raboter une planche à l'aide d'une perceuse que l'on a dotée d'un disque abrasif ou d'une ponceuse dotée d'un papier abrasif. Un professionnel ne s'y égarera pas et utilisera l'outil adéquat pour ce faire. Il n'utilisera toutefois pas non plus ce dernier outil pour poncer, mais alors une ponceuse.
    Cordialement

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Si cette réponse vous a aidé, n'hésitez pas à cliquer sur , dans le cas contraire ne faites rien , mais si vous êtes pas content -- Pensez à la Balise [ code][/code ] => Exemple

    Pensez à mettre une fois votre problème solutionné

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    septembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : septembre 2016
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    Cela me rappel mes débuts sur Windows 3.0...
    Après avoir découvert le basic sur commodore 64 puis le gwbasic sur DOS...
    Arrivé sur Windows 3.0, c'était frustrant de n'avoir aucun langage à disposition...
    Puis je découvris le VBA dans Excel et là, je pouvais coder de manière sommaire mais graphique...
    Puis arriva VB1 avec son interface SDI qui me séduit de suite...
    Je me rappel encore quand j'ai reçu ma boîte VB1 avec ses disquettes et surtout ses bouquins qui représentait un SDK à une époque ou internet n’existait pas.
    J'étais encore adolescent et devais partir en vacances avec mes parents. J'ai passé deux semaines à lire ces bouquins en trépignant pour rentrer afin d'installer mon VB et créer mon premier exécutable Windows...
    Malheureusement cela m'enferma pendant de longues années dans un langage restrictif et utilisable que sur Windows.
    Mais que de souvenirs...

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    décembre 2004
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2004
    Messages : 513
    Points : 882
    Points
    882

    Par défaut

    Citation Envoyé par Omote Voir le message
    Qu'est-ce qu'un langage professionnel? Au même titre qu'un AutoIT ou bien un AutoHotkey c'est l'usage que l'on en fait qui le professionnalise.[...]
    Après est-ce que c'est un bon langage? Personnellement, je trouve cela horrible[...]
    Entièrement d'accord avec toute cette réponse (c'est parce que j'ai une moitié québécoise ? )
    C'est l'utilisation qui le rend professionnel ou non, et encore cette qualification n'a aucun sens. Quel est le problème ?
    - c'est du "basic" : il n'y a qu'à jeter un coup d'oeil sur l'indice Tiobe qui parait ici de temps en temps, qu'on pense qu'il reflète ou non la réalité, et de vérifier la place de VB6 ou VB.NET pour se rendre compte que ce n'est pas un défaut.
    - c'est un langage "horrible" : oui, et alors ? On ne fait presque plus que du javascript et du php dans le web et ce sont des langages horribles, ça n'empêche pas qu'ils sont plus ou moins obligatoires pour se lancer dans la carrière web de nos jours. Et on fait bien encore du PERL et du FORTRAN, non ?
    L'avis publié ci-dessus est mien et ne reflète pas obligatoirement celui de mon entreprise.

  12. #12
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    septembre 2006
    Messages
    3 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : septembre 2006
    Messages : 3 566
    Points : 5 152
    Points
    5 152

    Par défaut

    Bonjour

    On peut considérer que VBA n'est pas professionnel... quoi qu'il en soit, on le retrouve utilisé dans beaucoup de grosses entreprises...

    Souvent, il s'agit souvent de non informaticiens (mais pas que) mais quand même un peu vachement technique de formation (ingénieur, par exemple) qui s'amusent
    avec VBA...

    Je sais que lors d'un passage chez un constructeur européen situé à Toulouse, beaucoup d'utilisateurs s'appuyaient sur VBA pour faire des actions qui impactaient leur boulot.
    Quand je demandais pourquoi VBA plutôt que de passer par l'IT, il me disait : pour avoir un petit logiciel (que je peux faire avec VBA, plus ou moins facilement d'ailleurs), l'IT
    va me demander un Cahier des charges, 10 documents (sécurité, déploiement, etc...) et un budget important pour me mettre en place l'outil dans 6 mois... C'était en tout
    cas la vision qu'ils avaient de l'IT et du coup, oui, c'étaient des non pro informatiques qui jouaient avec VBA...

    L'application Messenger avec Excel, c'est vraiment n'importe quoi.. quand on sait qu'une telle application en C#, c'est 1 journée de boulot suivant le nombre de fonctionnalité, etc...

    La plupart des applications que j'ai développé avec VBA, s'étaient pour faire des tableaux de bords de suivi de projet ou de consolidation de projets... pour automatiquement
    mettre des couleurs, calculés certaines variations et en déduire de là l'image à mettre dans un tableau, etc...

    J'avais aussi, il y a 15 ans, développé une application qui faisait de la consolidation entre projet MS Project... l'outil ouvrait tous les projets MS Projets, et comparait les charges des différents projets pour les même postes afin de valider la dispo d'un poste (genre si un poste était chargé à 150% un jour, ça permettait de gérer avec les Chefs de projets un changement de jour, etc...), et après, l'outil générait de l'Excel, du Word...

    donc, VBA est peut-être souvent utilisé par des non pro, mais je considère qu'il s'agit d'un langage informatique... Au même titre que je ne porterais pas de jugement sur javascript ou python, ou autre langage alors que je suis expert C# / C++.

    Y a pas de langage pro, y a juste des langages que les utilisateurs maitrisent et qui leur permettent d'arriver au résultat escompté (même si parfois, il sera plus facile d'arriver au même résultat en utilisant un autre langage, environnement)... Il y a toujours plusieurs chemins pour atteindre un objectif... (surtout en terme de langage)
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  13. #13
    Expert éminent
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    novembre 2012
    Messages
    1 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2012
    Messages : 1 030
    Points : 6 710
    Points
    6 710

    Par défaut

    A titre personnel je l'utilise un peu pour certaines automatisations mais il s'agit d'outils d'aide au travail et non des "livrables".

  14. #14
    Membre habitué Avatar de bclinton
    Profil pro
    Inscrit en
    novembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2008
    Messages : 47
    Points : 146
    Points
    146

    Par défaut

    Je suis du même avis qu'Omote. C'est surtout l'utilisation de VBA qui n'est pas toujours professionnelle.
    On l'utilise pour écrire vite fait des petits bouts de code, et on ne pense pas à la pérennité à ce moment-là.
    Pourtant, avec de bonnes pratiques on pourrait l'utiliser de manière efficace. A condition bien sûr de rester dans le domaine auquel il est dédié.

    Toutefois, à l'ère des EDI, l'éditeur de macros est vraiment hors jeu d'un point de vue ergonomique. Et là ça ne fait pas pro.

  15. #15
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2012
    Messages
    2 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : septembre 2012
    Messages : 2 249
    Points : 10 635
    Points
    10 635

    Par défaut

    Pour moi VBA est un langage à part entière. Il est fortement couplé à Excel donc à mon sens il n'a pas vocation à faire des applications stand-alone, mais cela n'enlève rien au fait que l'on puisse faire de très bonnes choses avec.

    Je pense que la situation est un peu comparable au PHP : beaucoup de gens ont "bidouillé" sur PHP et il y a beaucoup de code horrible en PHP, pour autant, PHP permets aussi de faire de très belles choses (surtout depuis qu'il est plus explicitement objet).

    Bref, tout langage abouti peut être utilisé dans un cadre pro. VBA ne fait pas exception.

  16. #16
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    février 2010
    Messages
    4 174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : février 2010
    Messages : 4 174
    Points : 7 576
    Points
    7 576

    Par défaut

    Bonjour

    Je pense que c'est l'usage que l'on fait du langage qui est professionnel ou pas. Quel que soit le langage.

    J'ai vu du code C rempli de goto ! En maintenance, quand on doit déchiffrer le code quel que soit le langage, on tombe souvent sur des codes loin d'être optimisés.

    Ce qui n'est souvent pas professionnel dans le VBA c'est que par méconnaissance du logiciel, le A de VBA, nombre de pro réinventent les fonctionnalités existantes et comme ce n'est pas compilé c'est moins efficace (outre le temps perdu)...

    A contrario, les non pro, vont utiliser l'enregistreur de macros (dans les applis où il existe) et avoir un code mal foutu qu'ils conservent en l'état.
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  17. #17
    Expert éminent sénior Avatar de rdurupt
    Homme Profil pro
    Développeur .NET
    Inscrit en
    avril 2012
    Messages
    6 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2012
    Messages : 6 121
    Points : 11 966
    Points
    11 966

    Par défaut

    Citation Envoyé par Carhiboux Voir le message
    Pour moi VBA est un langage à part entière. Il est fortement couplé à Excel donc à mon sens il n'a pas vocation à faire des applications stand-alone, mais cela n'enlève rien au fait que l'on puisse faire de très bonnes choses avec.

    Je pense que la situation est un peu comparable au PHP : beaucoup de gens ont "bidouillé" sur PHP et il y a beaucoup de code horrible en PHP, pour autant, PHP permets aussi de faire de très belles choses (surtout depuis qu'il est plus explicitement objet).

    Bref, tout langage abouti peut être utilisé dans un cadre pro. VBA ne fait pas exception.
    bonjour,
    vba est effectivement un langage à par entier, et ceux qui auraient lus le contraire dans mes propos ce trompe!

    mettre en corrélation VBA et PHP est une bonne approche mais encore faut il pousser le raisonnement.

    PHP est ce que j'appellerai un langage de programmation système,il est lié à sa versions pas à une application, ainsi il est possible d'utiliser plusieurs versions de PHP dans ses application sans les rendre caduc à une évolution de version.
    il est possible dans le fichier de configuration d'activer telle ou telle librairie.

    VBA est dédié à une application et même à la version de la dite application. ce qui fonctionne sur sur 2007 32 bits ne fonctionne plus sur 2014!
    VBA devrait de nos jours être le langage de programmation système de Microsoft au même titre que PHP.

    si nous regardons Dot.net, il est rattaché à son Framework, il peut en utilisant la librairie Excel gérer des macros sans ce soucier de la version de celui-ci.
    la réponse sur la question de savoir si on peut faire de application professionnelles avec VBA ce trouve entre le clavier et la chaise! bien sur qu'il est possible de faire des application professionnelles avec VBA, en revanche est il professionnel de revoir sont code à chaque Update de Windows et/ou Excel!
    Une question bien formulée c’est 100% de la solution (rdurupt) !

  18. #18
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2013
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2013
    Messages : 275
    Points : 717
    Points
    717

    Par défaut

    Je n'aime pas vraiment la question.
    Comme on l'a dit à plusieurs reprise, soit on code professionnellement ou en amateur.
    Ce n'est pas l'outil le problème.

    Si on regarde les codes des sites personnels, réalisés par des amateurs, on va conclure que Wordpress, PHP, sont des outils non professionnels.

    Plus globallement cette façon de faire est un peu masochiste.
    Il détourne VBA pour se lancer un défi, mais il se complique surtout la vie.
    Ca me fait penser aux demomaker, des années 90 qui se lançait des défis, comme programmer une intro en 48 64 ko, ou essayaient de faire des choses qu'on pensait impossible.

    J'ai fait du VBA, quand je ne trouvais pas de travail dans l'informatique, et que je faisais de la comptabilité en attendant.
    Et les comptables adore Excel.
    J'ai pensé me faire des outils moi même.
    J'ai voulu faire des macros de tries pour mes états.
    Finalement s'était plus simple d'utilisé le filtre, même si ça répondait à 75% de mes besoins.
    Et surtout je n'étais pas sensé coder

    Par contre certains de mes collègues utilisaient les macros d'enregistrement, c'était une fonction de VBA mise en avant par Microsoft.
    Ca leur rendait service.

    Je me rappelle d'une chef bien génée quand le script VBA Access a planté et lui demandait si l voulait déboguer.
    Le problème il n'y avait personne pour dépanner le script.
    Souvent s'était du vite fait mal fait.

    J'ai aussi fait de la saisie sur une application maison.
    Quand j'ai été dans le menu "A propos", ça me sorti que s'était accesss.
    Sauf erreur de ma part ce devait être une application VBA.

    Le sujet me surprend car je croyais aussi que les macros Excel avaient été abandonné car ils avaient mauvaises réputation à cause des problèmes de sécurité.
    Consultez mes articles sur l'accessibilité numérique :

    Comment rendre son application SWING accessible aux non voyants
    Créer des applications web accessibles à tous

    YES WE CAN BLANCHE !!!

    Rappelez-vous que Google est le plus grand aveugle d'Internet...
    Plus c'est accessible pour nous, plus c'est accessible pour lui,
    et meilleur sera votre score de référencement !

  19. #19
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Consultant technique et formateur en recherche active pour le Canada
    Inscrit en
    juillet 2007
    Messages
    11 432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant technique et formateur en recherche active pour le Canada
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 11 432
    Points : 25 331
    Points
    25 331

    Par défaut

    Salut,

    je suis étonné d'être le premier modo Office a intervenir sur le sujet

    VBA en tant que langage peut paraitre plus simple que d'autres, mais pour une personne qui vit du VBA depuis bientot 10 ans, je trouve dommage de dire que le VBA ne soit pas professionnel

    Dans le domaine bancaire pour ne citer que celui-ci, les langages Python, C# ou Java sont devenus les langages de scripts pour des raisons evidentes de performances (les benchmarks sont facilement trouvables, :o), mais egalement VBA sur toutes les feuilles Excel (+Access pour les rares entreprises qui en ont entendu parler).


    Quant a la perennite du langage, sans compter sur le decalage dans le temps entre la sortie d'une version Office et son utilisation dans les entreprises (on a encore des clients qui sont en version 97, mais la grande majorite est en 2010), on a une demi-decennie d'ecart, suffisamment long pour que les developpeurs qui savent que ca doit arriver changent progressivement de langage (l'evolution vers le .Net notamment), si ce n'est pas deja le cas.


    Le cas de l'exercice de style le plus beau que j'ai eu l'occasion de voir est un equivalent de Space Invader sous Access, par l'un des moderateurs (je ne sais plus s'il s'agit d'Argyronet ou d'Arkham46 =]
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  20. #20
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 346
    Points : 25 598
    Points
    25 598
    Billets dans le blog
    4

    Par défaut

    Sujet à troll, évidemment...

    Qu'est-ce qu'un langage professionnel? J'attends toujours la réponse, et celles que vous pourrez me donner ne me conviendront probablement pas. Cela fait des années que je gagne ma vie en développant des applications professionnelles avec VBA sur Excel et Access. J'affirme qu'elles sont professionnelles car elles répondent aux besoins de mes clients, sont évolutives, et me permettent de payer mon loyer.

    Ce n'est pas le langage qui est professionnel, c'est la façon de coder qui l'est ou pas.

    J'ai plusieurs fichiers Excel avec pas mal de modules, développés en trois tiers, qui ne buguent pas (ou plus), qui sont liés à de l'Access et ou du SQL Server, qui permettent une consolidation de données et la livraison de tableaux de bord sympas, qui attendent toujours une solution "pro" pour être remisés au placard (et qui attendront encore longtemps...).

    On bourre le crâne des IT Managers avec des trucs du genre "VBA c'est mal, Access c'est de la merde, ..." mais un de mes clients a une solution VBA fournie par mes soins qui tourne et qui a été livrée bien avant que le service IT ait pu préciser ce qu'il lui fallait comme cahier des charges mais qui avait répondu que "de toute manière, on est overbookés, ton truc, ça attendra l'année prochaine et ça coûtera bonbon"...

    J'ai lu également dans les réponses qu'il était préférable de se tourner vers C# pour développer sous Excel... Oui, pourquoi pas, mais il faut penser que l'outil C# développé, il faudra le déployer (souvent avec droits d'admin sur le poste), ce que ne permet pas toujours le service IT (et ce qu'il n'a pas toujours le temps ou la volonté de faire). VBA, c'est inclus dans les installations Office et il n'y a souvent pas besoin de demander la permission pour développer en VBA.

    Alors, pour répondre de façon biaisée à la question trollesque du jour: Langage pro? Je ne sais pas ce que c'est , mais oui, on peut faire du développement professionnel, durable, évolutif avec VBA, souvent à moindre coût et souvent plus rapidement que des trucs en C# et autres.

    Et pour ceux qui voudraient se lancer, il y a du boulot et de la demande.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    Vous avez apprécié l'intervention => Merci pour le
    ---------------

Discussions similaires

  1. Réponses: 22
    Dernier message: 17/11/2010, 15h03
  2. Pensez-vous que le gaspillage de ressources des logiciels récents est trop important?
    Par _skip dans le forum Débats sur le développement - Le Best Of
    Réponses: 30
    Dernier message: 02/09/2009, 12h29
  3. Réponses: 21
    Dernier message: 17/10/2008, 18h44
  4. Réponses: 2
    Dernier message: 22/03/2007, 21h04
  5. Réponses: 42
    Dernier message: 02/02/2007, 09h19

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