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

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

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

    111 71,15%
  • Pas vraiment, peut-être pour les non-informaticiens

    20 12,82%
  • Non, ce n'est pas du tout professionnel comme langage

    14 8,97%
  • Autres (à préciser dans les commentaires)

    5 3,21%
  • Pas d'avis

    6 3,85%
Macros et VBA Excel Discussion :

Pensez-vous que VBA n’est pas un langage professionnel ?


Sujet :

Macros et VBA Excel

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 888
    Points : 87 206
    Points
    87 206
    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
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    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 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 .

    ****** : 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.

  3. #3
    Invité
    Invité(e)
    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!
    Dernière modification par Invité ; 07/09/2016 à 20h10.

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    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 710
    Points : 4 791
    Points
    4 791
    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 averti
    Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2010
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 78
    Points : 362
    Points
    362
    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
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    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 confirmé Avatar de Andarus
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    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 : 137
    Points : 455
    Points
    455
    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
    Invité
    Invité(e)
    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é!

  9. #9
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    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 : 2 576
    Points : 4 174
    Points
    4 174
    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
    Ryu

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

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  10. #10
    Membre à l'essai
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 7
    Points : 15
    Points
    15
    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 éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 585
    Points : 1 139
    Points
    1 139
    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 580
    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 580
    Points : 5 195
    Points
    5 195
    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 sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 765
    Points : 10 748
    Points
    10 748
    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 : 152
    Points
    152
    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
    3 020
    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 : 3 020
    Points : 16 092
    Points
    16 092
    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 sénior

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

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

    Informations forums :
    Inscription : Février 2010
    Messages : 8 413
    Points : 16 255
    Points
    16 255
    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
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    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
    Invité
    Invité(e)
    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!

  18. #18
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    1 065
    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 : 1 065
    Points : 2 567
    Points
    2 567
    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
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    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 =]
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    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


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    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)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. [JAXB] Pensez vous que JAXB a un avenir dans le monde professionnel ?
    Par eclesia dans le forum Format d'échange (XML, JSON...)
    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