Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

TgR

XLDnaute Junior
Bonjour à tous,

Je vais sans doute poser une question déjà traitée et peu être un brin idiote :)confused: ?), mais tant pis !

Je me rends compte que la connaissance du langage VBA (Excel) peut être un véritable atout en entreprise, c'est pourquoi je me suis donné pour objectif de l'apprendre et d'être capable de réaliser mes propres programmes (avec un minimum d'assistance)

N'ayant aucune connaissance en programmation lors de cette réflexion, j'ai donc commencé par suivre des tuto d'algorithmique. J'ai ensuite demandé à des amis programmeurs de me conseiller sur l'apprentissage d'un langage et ceux-ci m'ont conseillé d'apprendre le C (ils n'ont jamais programmé en VBA). D'après eux, l'apprentissage de ce langage me donnerait de bonnes bases et de bons réflexes d'optimisation, déclaration et autres chipotages propre à la programmation.

J'ai donc commencé à apprendre ce langage. Malgré la difficulté de l'apprentissage, je trouve cela très intéressant mais je me pose quand même une question (j'ai un bout de réponse mais l'avis d'expert en VBA serait sans doute plus convaincant).

En apprenant ce langage, serait-je capable de faire une transition (plus ou moins facile) vers le VBA où est ce que je m'éloigne trop de mon objectif 1er qui est d'être performant en VBA ?

Merci :)
 

Pierrot93

XLDnaute Barbatruc
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonjour,

En apprenant ce langage, serait-je capable de faire une transition (plus ou moins facile) vers le VBA où est ce que je m'éloigne trop de mon objectif 1er qui est d'être performant en VBA ?

Petite reflexion au passage... si ton but est d'être performant en vba, pourquoi ne pas commencer directement par son aprentissage.... d'autant plus que tu as un remarquable assistant avec l'enregistreur de macro... enfin c'est juste mon avis...

bon après midi
@+
 
G

Guest

Guest
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonjour,

Oui pourquoi ne pas aller droit au but. Même si le langage C est très utile et permet de faire beaucoup plus que VBA, si tu n'as pas pour but de devenir programmeur de logiciels, mais de te contenter de manipuler les applications office comme excel alors consacre toi à VBA. Par contre Les déclarations ne sont point, à mon sens, du chipotage.arf..

A+
 

Misange

XLDnaute Barbatruc
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonjour

Pour abonder dans le sens de mes petits camarades :
Tu ne vas pas gagner de temps ni de logique à apprendre le C avant d'apprendre le VBA.
Il y a des éléments qu'on retrouve dans tous les langages de programmation car cela répond à des besoins de base : faire des boucles, tester des conditions. Mais l'écriture est un peu différente entre les différents langages.
Passer de l'un à l'autre risque plus de te planter que de te faciliter la tâche !

Le VBA est un langage orienté objets : les objets sont par exemple pour excel la feuille de calcul, une cellule, un classeur, un point dans un graphique.... Le langage inclus pour chaque objet des propriétés et des méthodes avec lesquelles tu travailles sans avoir besoin de les définir (par exemple la couleur de fond d'une cellule, sa hauteur...). C'est un des grands avantages du VBA et ce n'est certainement pas en travaillant avec le C que tu apprendras les objets d'excel.

J'ai "commis" quelques tutos pour partir de 0 sur le VBA
Ce lien n'existe plus
ca t'aidera à démarrer.
Dans la rubrique livres d'xld tu trouveras aussi quelques conseils si tu souhaites avoir un support papier à côté de toi.

Mais surtout, surtout, commence par te définir un PETIT objectif et essaye. Lance toi et quand ça coince vient poser une question ici, tu trouveras jour et nuit de l'aide. T'as pas ça avec tous les langages !
Attention ... un petit objectif :). Rien de pire que de se lancer dans un truc énorme qui n'aboutira jamais et qui te dégoutera de continuer. Alors que tu pourras sourire et t'auto féliciter (ne jamais oublier de le faire !) quand tu auras déjà réussi à écrire par macro 1, 2, 3, 4, 5 dans A1, A2, A3, A4, A5 :)
bienvenue au club ! Presque tous les intervenants de ce forum ont je pense démarré par eux même en se lançant.
 

Modeste geedee

XLDnaute Barbatruc
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonsour®
Bonjour à tous,
Je vais sans doute poser une question déjà traitée et peu être un brin idiote :)confused: ?), mais tant pis !
Je me rends compte que la connaissance du langage VBA (Excel) peut être un véritable atout en entreprise,

:rolleyes: il est des entreprises (les grandes en général et possédant une Direction des Services informatiques) pour lesquelles le VBA et la bureautique ne sont pas considérés comme outils informatiques... :(

il te faudra plusieurs casquettes : connaissance en analyse, programmation structurée, méthode de conception ,
indépendante du langage...

pour ce type d'entreprises, personnellement je tablerai plus sur une connaissance exhaustive et avancée des fonctions standards EXCEL, WORD, ACCESS, Powerpoint, Outlook (produits supportant nativement VBA)
avant que de mettre en avant une quelconque expérience VBA...

pour ne pas rester sur une note pessimiste :
je suis un accro d'EXCEL et de VBA ...
mais ayant aussi mis les mains en tant qu'analyste programmeur également dans la conduite, la gestion de projet en bureautique, informatique répartie et traitements gros systèmes (IBM, MITRA, BULL) CICS, CMS, PL1, APL et SGBDR
domaine Gestion de production, logistique et robotique... :cool:

Alors Courage et pugnacité !!!
:cool:
 

Dranreb

XLDnaute Barbatruc
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonsoir.
Ce sera parfait de commencer directement en VBA, surtout, à mon avis, si on s'attache à toujours bien distinguer dès le début ce qui relève des possibilités du langage proprement dit de ce qui relève des classes d'objets mises à la disposition du développeur par l'application hôte. Une nette séparation entre ces deux aspects aide à une compréhension globale bien ordonnée.
 
Dernière édition:

Dormeur74

XLDnaute Occasionnel
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonjour tout le monde,

Je partage l'avis du plus grand nombre. Mieux vaut t'investir directement dans VBA et remettre à plus tard l'apprentissage l'un langage comme le C/C++ si la priorité du moment est de maîtriser à fond VBA.

VB.Net ? A apprendre un langage orienté objet, ce n'est pas celui que je choisirais (trop lié à Microsoft).
 

Modeste geedee

XLDnaute Barbatruc
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonsour® Dormeur74

:rolleyes:

en disant VBA on dit implicitement "Visual Basic for (Microsoft) Applications"
c'est un langage orienté objet en fait sous-ensemble de Visual Basic Microsoft...
qui est disponible avec les applications Microsoft et partie intégrante de chacune

il faut alors voir si l'on peut se passer de Microsoft : Open office, Google Apps
et si le langage fourni convient aux besoins des utilisateurs.

Chacun a son propre arbitre...

si l'on veut se lancer dans le développement d'application indépendantes des suites bureautiques utilisées voir alors des outils comme WinDev, Pascal, Delphi etc..

VBA ne vaut surtout que par sa gratuité, sa disponibilité et son intégration "by design" dans les produits des suites utilisées.

enfin une utilisation d'un langage quelconque au niveau d'une entreprise ne peut se concevoir sans etre accompagné d'une connaissance et pratique d'un SGBD (L4G, SQL...)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonjour à tous les intervenants de ce Fil, le Forum

Avoir des bases de programmation sert toujours, dans tous les langages. Maintenant tout dépends aussi ce que l'on veut faire au final. Le C, ou JAVA ou autres sont toujours très puissants mais comme dans mon PS2, plus bas, on en a rarement besoin en entreprise sauf si 2SI.

Pour ma part j'ai commencé avec du Basic sur un Commodore 64 et j'ai bien failli me dire, que je préfèrais la mécanique !

Mais finalement à une époque lointaine des premiers Excel 5 Contenant une première mouture VBA (les modules étaient dans le Classeur ! on pouvait même programmer en FR arf) J'ai finalement pu apprécier les heures (et les nuits) que je n'avais finalement pas complètement perdues sur mon Commodore... J'avais au moins appris la patience et l'obstination !

Maintenant l'Editeur VBE intégré (VB 6.3) dans toutes les applications Office est vraiment confortable et complet pour apprendre (Touche F1, Explorateur d'Objets, Fenêtres d'exécution, espions et autre débogueurs...) et je pense que l'on peut directement s'attaquer à faire des petits programmes VBA en commençant tout petit comme le dit si bien Misange (migratrice de Disciplus Simplex et MPFE où l'on s'était croisé :))

Bonne découverte du VBA
@+Thierry

PS1 En ce qui concerne les entreprises, par contre ca peut-être considéré comme un "plus" mais aussi comme un "moins" de programmer en VBA... tout dépend de ton entreprise et de sa taille comme dit Modeste Geede, mais dans la logique BCP (Business Continuity Plan) on n'aime pas trop les développements VB / VBA / VBS "in House" car derrière un "crac" VB c'est souvent très difficile de suivre si il quitte la société...(D'où l'idée de développer en binôme avec un backup)

PS2 le VB.net, (ou dotnet, ou c#), c'est autre chose et un autre but de développement d'applications WEB complètes, en général on n'en a pas besoin en entreprise sauf si c'est une 2SI... Le fait de connaitre des bases VB peut éventuellement faciliter la compréhension de ce langage, inversement et normalement on ne va pas en mode descendant.

PS3 Je me rapproche aussi de Modeste Geede à nouveau en ce qui concerne une bonne connaissane des Bases de Données (MS SQL Server entre-autre pour rester 100% Microsoft) qui sera un complément indispensable si tu es amené à faire de la bureautique. Avec la techno "ADO" tu pourras faire des choses sympas depuis VBA.
 

Dormeur74

XLDnaute Occasionnel
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonjour tout le monde,
en disant VBA on dit implicitement "Visual Basic for (Microsoft) Applications
.

Ah bon ? :) Pour quelqu'un qui démarre ab initio, il va falloir :
1) apprendre VB (4,5,6, .Net ou Dot)
2) apprendre les particularités de VBA qui n'existent pas en VB
3) apprendre les particularités de VB qui n'existent pas en VBA
4) et cerise sur le gâteau, apprendre les différents VBA selon la version Excel utilisée (qui peut être imposée par un admin).

J'ai démarré en VB 2.0 en partant à la retraite en 1993 et jeté l'éponge après avoir acheté VB 6.0 qui prétendait être "orienté objet", ce qui était bidon. Connu l'époque épouvantable de la version 4 avec ses API 16 ou 32 bits (#!@!%#$!!!). Fort heureusement, j'avais commencé sur un Z80 avec le C de Borland.
Bref, à mon avis, même Visual Basic Express en premier langage serait aujourd'hui, à mon avis, une pure perte de temps.
 

Modeste geedee

XLDnaute Barbatruc
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonsour®
.
Ah Bon ???

VB.Net ? A apprendre un langage orienté objet, ce n'est pas celui que je choisirais (trop lié à Microsoft).

:rolleyes:
je répondais simplement aux propos ci-dessus.(VBA est exclusivement lié à Microsoft©!!!)

je disais par ailleurs que VBA sur un CV n'était pas ce qui ferait pencher la balance.

:rolleyes: mais je partage et encourage ta conclusion...
Mieux vaut t'investir directement dans VBA
mon implication à ce sujet sur ce forum et sur la toile t'en persuadera. :cool:
 

Misange

XLDnaute Barbatruc
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Hello,

Oufti ! si avec tout ça Tgr a encore envie d'apprendre le VBA c'est qu'il a le coeur bien accroché je trouve...

Si les "informaticiens purs et durs" n'aiment pas VBA, (pas assez élitiste à leurs yeux ?), beaucoup d'utilisateurs d'ERP très sophistiqués sortent des tableaux excel qu'ils analysent avec un TCD ou powerpivot, ou du VBA.

Plein de MVP excel vivent du VBA et d'excel en général. Et ils ne bossent pas dans des petites boites. Boeing, les grandes banques... à peu près tous les grands secteurs en fait font appel à des spécialistes de VBA, soit à plein temps soit comme consultants pour des développements particuliers.

La version du VBA est un faux problème. Plus personne ne travaille avec des versions antérieures à excel 97 (il y en a encore dans certaines entreprises !!) et le VBA a certes évolué depuis mais rien qui ne soit un problème majeur.

Quel est vraiment ton l'objectif Tgr :
- si ton but c'est de devenir programmeur, de mettre en avant la capacité à programmer comme étant une CLE de ton CV, alors oui, interroge toi ++ sur le choix du langage à apprendre. VBA n'est pas considéré comme tu peux le voir par les informaticiens purs et durs comme un langage "sérieux". Si tu veux travailler dans un service informatique, alors ça se discute.

- si ton but c'est de pouvoir dire sur ton CV que tu maîtrises excel et que tu es capable d'utiliser des macros pour produire des outils qui facilitent la vie d'un service qui n'est pas un service informatique, alors là, c'est tout à fait différent. C'est très utile à beaucoup de métiers de savoir faire un formulaire de saisie pratique, de résoudre des rapprochements de tableaux complexes ou autre.
 

Dranreb

XLDnaute Barbatruc
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Bonjour.
VB 6.0 qui prétendait être "orienté objet", ce qui était bidon
Pas d'accord, j'ai toujours réussi à créer des classes d'objets dans VB6. Je ne vois que des différences infimes entre VB6 et VBA, avec un petit + pour VB6 : il permet d'emblée de préciser dans un userform plusieurs contrôles portant le même nom, formant ainsi un tableau, dont on récupère l'indice en 1er paramètre de leurs procédures évènements. Il y a les Timer qui n'existent pas en VBA. En revanche il est moins souple pour les paramètres de n'importe quel type explicite passés ByRef à des procédures les attendant Variant.
Cordialement.
 

Dormeur74

XLDnaute Occasionnel
Re : Apprentissage d'un langage pour ensuite glisser vers VBA : judicieux ?

Je ne considère pas comme un LOO un langage où l'héritage d'implémentation n'est pas pris en charge. Bon je n'irai pas plus loin sur le sujet car on quitte le sujet.
 

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 181
Membres
103 152
dernier inscrit
Karibu