Introduction
Ce cours va vous permettre de vous initier à la fois au logiciel et au langage. Il aborde donc des notions simples et générales. Libre à vous par la suite de vous procurer des ouvrages plus détaillés. Je vous conseille tout particulièrement l'excellent "Visual Basic 6" de "Le tout en Poche" aux éditions CampusPress. Vous n'avez besoin d'aucune connaissance particulière pour aborder ce cours, seulement maîtriser votre ordinateur. Connaître un autre langage de programmation vous facilitera tout de même grandement la vie. Certaines parties de ce cours simplifie volontairement certain concept : l'objectif est didactique, nul doute que vous serez revenir sur ces approximations le moment venu avec le recul nécessaire.Have fun !
Les bases de la programmation
Vous devez tout d'abord savoir que la programmation est la plus logique qui soit. Vous allez taper des instructions dans un éditeur : elles seront par la suite "lues" par un compilateur qui les interprètera et les transformera en affichant des informations, en calculant... La programmation en général manipule 3 types d'entités :
- Les valeurs
- Les variables
- Les commandes
Visual Basic
L'installation de VisualBasic ne présente pas de réel difficulté. L'utilisation de la version familiale ou professionnelle ne change rien à notre niveau. Exécutez donc VB : vous voyez apparaître une boîte de dialogue avec plein de trucs assez étrange à l'intérieur ... sélectionnez simplement "EXE Standard". Vous voyez maintenant plusieurs fenêtres, onglets et menus de toutes sortes. Nous allons clarifier la situation.
La fenêtre grise au centre avec comme titre "Form1" est tout simplement la représentation graphique de votre application comme elle apparaîtra une fois lancée : c'est la feuille de travail. Pour l'instant elle est vide, on a rien fait ! Vous voyez également une barre avec écrit "général" en haut. C'est la boîte à outil qui contient de nombreux contrôles comme des boutons, des menus, des images... tout ce qui pourra être inséré dans votre application. Vous devriez aussi voir un menu à droite, sous forme de tableau et de deux onglets : "Alphabétique" et "Par catégorie". Son titre est "Propriétés", et pour cause, c'est l'onglet Propriété qui donne les caractéristiques de la feuille ou de l'objet sélectionné. Il y a enfin un menu en haut à droite nomé "Projet - Projet1" : c'est l'onglet Projet qui comporte toutes les feuilles présentes pour votre application (boîte de dialogue, feuille...). Pour l'instant il n'y en a qu'une.
On récapitule donc les 4 menus visibles : La feuille de travail, la boîte à outil, l'onglet Propriétés et l'onglet Projet. Ces 4 menus vont être repris dans les 4 prochains chapitres.
La feuille de travail

Une application peut avoir plusieurs feuilles de travail. Cette feuille est composée de plusieurs parties. Tout d'abord la partie centrale, grise, est la zone du document. Il y aura par la suite des boutons, du texte, des graphiques, des images... En haut de la feuille vous voyez la barre de titre qui est pour le moment utilisée par un icône et "Form1". D'autres partie peuvent s'ajouter au fur et à mesure du développement de l'application : les barres de défilement, les barres d'état, les menus... On verra plus loin comment créer ces contrôles.
On appelle Interface Utilisateur le côté visuel de l'application.
La boîte à outils

La palette Boîte à outils contient de nombreux contrôles qui seront utilisés par le programmeur pour agrémenter l'interface utilisateur. Les contrôles présents par défaut dans la boîte à outils seront souvent les plus utilisés : Insertion d'une image, de texte, liste défilante, bouton, barre de défilement... D'autres contrôles moins utilisés tel que l'insertion de fichier Vidéo, de composants Internet ou de gestion de base de données sont aussi disponibles d'une manière un peu plus complexes, que je détaillerai plus loin.
Pour insérer un contrôle de la boîte outils sur le feuille, il suffit de cliquer sur son icône correspondant puis de tracer une zone rectangulaire de la taille du contrôle sur la feuille.
L'onglet Propriétés

L'onglet propriété liste les propriétés associés à la feuille ou au contrôle sélectionné. L'intérêt de cet onglet est qu'il est modifiable durant l'exécution du programme (grâce à des lignes de commandes) ou durant sa création. On va prendre un exemple simple. Cliquez sur la feuille, puis sélectionnez la ligne "Caption" de l'onglet Propriété. Cliquez sur Form1 puis changez-le par "Bonjour". Vous allez voir votre feuille qui va changer de titre. Cette manipulation a été faite durant l'édition de l'application, mais elle peut être faîte durant son exécution.
L'onglet Projet

Cette boîte de dialogue donne la liste de toutes les feuilles qui constituent l'application. Pour le moment vous n'en avez qu'une.
Les origines
Commençons par le commencement : Le nom de "Visual Basic" a une origine bien précise. "Visual" correspond à la marque de Microsoft, dont tous les programmes de développement commence par Visual (Visual C++, Visual C#...). Le BASIC a une origine bien plus lointaine. Au début de la programmation, le BASIC était une star, une véritable innovation. Pour la première fois un langage utilisait des petits mots, compréhensibles par l'homme. C'est pour cette raison qu'on l'a baptisé Beginner All-purposes Symbolic Instructions Codes (Code d'instruction symbolique pour débutant et tout public). De nos jours, ce nom n'est plus vraiment d'actualité, car tous les langages, mis à part l'assembleur, utilise un code symbolique et non plus un code machine. C'est le compilateur qui se charge de la traduction.
Les fichiers
Le programme peut être enregistré sous plusieurs formats. Tout d'abord le .FRM. Ces fichiers texte enregistre toutes les propriété d'une feuille, il y a autant de .FRM que de feuille dans l'application, c'est le code source. Viens ensuite le .EXE, plus connu. L'exécutable réuni toutes les feuilles dans un seul et même fichier, qui lui n'a plus besoin de VB pour fonctionner, on dit qu'il est autonome (ou presque on verra plus loin pourquoi). Pour créer le fichier exécutable à partir de votre application, sélectionnez "Créer un fichier EXE" dans le menu "Fichier". Il y a une autre manière pour tester directement votre code source sans créer d'EXE. A tout moment, vous pouvez appuyer sur le touche F5 pour exécuter le projet (ou cliquez sur "Exécuter" dans le menu "Exécution").
Les valeurs et les variables
Les valeurs
Une petite indication sur les valeurs en Basic : Pour ce qui concerne le texte, il doit toujours être placés entre guillemets.
Les variables
Vous pouvez rentrer n'importe quelle valeurs dans une variable. Mais en fonction de la valeur, la variable va prendre un type différent. Il y a 6 types de variables différentes en VB :
| Type | Valeur | Symbole |
| integer | Nombre entier compris entre -32768 et 32767 | % |
| long | Nombre entier compris entre -2147483648 et 2147483647 | & |
| Single | Nombre réel avec 7 chiffres après la virgule | ! |
| double | Nombre réel avec 15 chiffres après la virgule | # |
| currency | Nombre réel avec 15 chiffres avant la virgule et 4 après | Ý |
| String | Chaîne de caractères dont la longueur est limitée à 2^31 caractères | $ |
L'utilité des symboles sera expliqué dans quelques lignes. Avant çà
attardons-nous sur la manière dont sont traités les types des variables.
En fait il y a 2 manières de définir une variable. La première est
implicite, vous pouvez écrire :
Var = "coucou"
Cette instruction va avoir pour effet de rendre
la variable Var de type String. Si vous écrivez :
Var = 5
La variable sera de type integer.
Il y a une autre manière de marquer le type d'une variable, vous pouvez
écrire :
Dim Var as Integer
Dans ce cas là, la variable
Var est du type Integer, mais elle ne possède pas encore de valeur.
Alors quelle est la différence entre ces 2 manières. On va prendre un
exemple, à un moment du programme, vous donnez une valeur à une
variable, sans l'avoir prédéfini :
Var = 30
Imaginons maintenant que plus loin dans le
programme, vous vouliez redéfinir cette variable :
Var = 50000
Il va se poser un problème, car en définissant
en premier lieu Var à 30, elle à pris le type Integer. En la redéfinissant
à 50000, elle doit prendre le type long. Pour éviter ce type de conflit,
mieux vaut écrire :
Dim Var as long
Var = 30
Après ces instructions, vous aurez tous le loisir d'attribuer n'importe
quelle valeur entrant dans le type long.
Pour simplifier cette démarche, on peut utiliser les symboles.
Dans l'exemple de tout à l'heure, il suffit d'écrire
Var& = 30
le & indique le type de la variable sans
passer par Dim.
Les tableaux
Les tableaux sont des variables un peu
spécial. je ne vais pas vous apprendre ce qu'est un tableau, sachez
juste qu'il faut passer par Dim pour les créer. De même que
pour les variables traditionnelle, il y a plusieurs types de tableau
en fonction des valeurs qu'il va prendre.
Pour déclarer un tableau
de 20 valeurs de type int, vous utiliserez cette instruction :
Dim VarTable(1 to 20) as Integer
Vous pouvez aussi créer des tableaux à plusieurs colonnes, par exemple
un tableau de type long de 20 X 1000 :
Dim VarTable2(1 to 20 , 1 to 1000) as Long
Pour accéder au valeurs d'un tableau, il suffit d'indiquer
son ou ses indices :
VarTable(5) = 60
VarTable2(5.100) = 65000
Les commentaires
Si vous désirez insérer un commentaire dans votre programme, qui
ne sera pas lu par le compilateur, utilisez l'apostrophe :
Var = 500 'Ceci est un commentaire
Les commentaires prendront toujours la couleur verte sous VB.
Les opérateurs
Opérateur d'affectation
Le principal est l'opérateur d'affectation, le =. Pour affecter la valeur 3 à la variable
Var :
Var = 3
Vous pouvez bien sûr affecter à une variable la valeur d'une autre variable,
la seule obligation est de ne mettre qu'une seule variable du côté
gauche de l'opérateur d'affectation. Ces propositions sont possibles :
Var = Var + 1
Var = Var2
Var = VarTable(3) + Var2
Les propositions suivantes ne sont pas possibles :
Var + 2 = 3
Var * 2 = Var
Opérateur de calcul
Les opérateurs de calcul (+, -, *, /, mod) s'utilisent de manière traditionnelle, vous pouvez utiliser autant de parenthèses que nécéssaire pour faire respecter les priorités.
Opérateur de comparaison
Les opérateurs de comparaison maintenant, il y en a 6 : =, <>, <, <=, >, >= ; respectivement égale, pas égale, inférieur, inférieur ou égale, supérieur, supérieur ou égale. Ils seront essentiellement utilisés avec les commandes de test.
Opérateur logique
Ce dernier type d'opérateur permet de simplifier les syntaxes. Il y en a 3 : Not, And et Or. Il sont très intuitif. Nous allons voir avec les commandes de test leur utilisation.
Les commandes de test
L'instruction de test la plus utilisé est sans doute la structure If Then Else dont voici la syntaxe :
If c1 then
Instruction 1
elseif c2 then
Instruction 2
elseif c3 then
Instruction 3
...
else
Instruction n
Si la condition c1 est vérifiée, le bloc d'instruction 1 est exécuté, dans le cas contraire, et si c2 est vérifiée, c'est le bloc d'instruction 2 qui est exécuté ... Si aucune des conditions situées après le If ou le Elseif n'est vérifié, c'est le bloc n qui sera exécuté.
Bien qu'un peu lourde, cette structure est assez simple d'emploi. Cependant lorsque l'action consiste à affecter une valeur ou une autre en fonction du résultat du test, mieux vaut opter pour la commande IIf (pour Immediate If) :
Variable = IIf(Condition, valeur si vrai, valeur si faux)
On va cette fois ci utiliser un exemple concret :
Var = IIf(a > 0, 2, 3)
La variable Var prendra la valeur 2 si a est supérieur à 0, si a est inférieur (ou égale) à 0, Var prendra la valeur 3.
Pour terminer avec ces commandes de test, sachez que si vous devez effectuer des tests répétitifs sur la valeur d'une variable, mieux vaut utiliser la commande Select Case :
Select Case Variable
Case Valeur1
Bloc d'instructions 1
Case Valeur2
Bloc d'instructions 2
...
Case Else
Bloc d'instructions n
End Select
Pour mieux comprendre, sachez que les deux blocs d'instruction ci-dessous sont équivalents
If a = 1 Then
b = 12
ElseIf a = 2 Then
b = 13
ElseIf a = 3 Then
b = 18
Else
b = 0
EndIf
Select Case a
Case 1
b = 12
Case 2
b = 13
Case 3
b = 18
Case Else
b = 0
Les boucles
Lorsqu'une même opération doit être répétée un certain nombre de fois, utilisez une boucle.
For
Cette boucle est la plus utilisé d'entre toutes, indiquez simplement une variable qui va être incrémenté d'une valeur initiale à une valeur finale. Quand la variable atteint cette dernière valeur, la boucle s'arrête et le programme reprend son cours. Par exemple la boucle qui suit affecte les valeurs 1 à 10 aux éléments d'indice 1 à 10 du tableau T :
Dim T(1 to 10) as Integer
For i = 1 to 10
T(i) = i
Next i
Do Loop et While Wend
2 autres commandes de boucles sont aussi possibles : Do Loop et While Wend. Les 2 blocs d'instructions suivants sont identiques au Bloc For précédent :
i = 1
Do
T(i) = i
i = i + 1
Loop Until i > 10
i = 1
While i < 10
T(i) = i
i = i + 1
Wend
Les conditions sont inversées dans les 2 instructions. Do Loop effectue un bouclage jusqu'à ce qu'une condition soit vraie, alors que While Wend effectue un bouclage tant qu'une condition est vraie.
L'accès aux propriétés des objets
Le VB est un langage orienté objet, ce qui signifie que chaque
élément de votre applications, tel que les boutons, les listes,
le texte ou même la fenêtre sont considérés comme des objets dont
les propriétés, tel que la taille, la couleur, la police... peuvent être
modifié. Pour modifier une propriété d'un objet, voici la syntaxe :
Nom.Propriété = Valeur
Par exemple pour redéfinir la hauteur de la fenêtre de votre application,
vous écrirez :
Form1.Height = 3000
Pour voir les propriétés d'un objet, par exemple la fenêtre, il suffit
de cliquer dessus puis de voir tous les renseignement qui figure
dans l'onglet Propriété. Cliquez sur un élément de cette liste pour voir
en dessous à quoi il correspond.
Les élément de cet onglet ne sont pas les seuls propriétés d'un élément, vous verrez plus tard un moyen de tous les dénombrer.
Le VB, un langage événementiel
Cet adjectif n'est pas là par hasard : un langage événementiel, c'est tous simplement le moyen qu'utilise VB pour fonctionner. En résumé : A chaque évènement correspond une série d'instruction à exécuter. Par exemple lorsque la souris bouge, il faut faire ceci, ou quand l'utilisateur clique sur cette zone, il faut faire cela. C'est bien sûr vous qui déterminé que faire pour tel ou tel évènement.
Notre premier programme
Enfin du concret. Voilà ce que devrait donner le programme une fois terminé :

C'est pas encore le logiciel Excel, mais c'est quand même un début. Vous allez
donc créer une nouvelle feuille. C'est à dire ouvrez VB puis sélectionnez
EXE standard. Vous vous trouvez devant votre feuille...vide. Cliquez sur
dans la boîte à outils. Là faîtes un rectangle
vers le haut et la gauche de votre feuille de travail. Refaites
la même opération en positionnant le bouton en haut à droite.
Enfin cliquez sur
pour faire une zone de texte.
Positionnez le rectangle vers le milieu de la feuille, assez large mais
pas haut (en gros refaites l'image du programme).
Voilà pour l'interface utilisateur. Si çà vous amuse, vous
pouvez même exécuter le programme (F5), mais les boutons ne marcheront
pas. Fermez donc l'embryon d'application pour revenir sous VB. Là
cliquez une fois sur le premier bouton (nommé "Commmand1"), puis dans
l'onglet propriété, changez la valeur de la propriété Caption,
qui était "Command1", en "Click1". Refaites l'opération avec
le 2ème bouton : cliquez dessus puis renommez le "Command2" en "Click2".
Vos deux boutons ont maintenant comme titre "Click1" et "Click2".
Cliquez maintenant sur la zone de texte puis supprimer la valeur de
la propriété "text". La zone de texte devrait maintenant être vide.
On va maintenant attaquer la programmation proprement dîtes. Double-cliquez sur le premier bouton, nommé "Click1". Une fenêtre devrait s'ouvrir, c'est le code source. Il ne devrait y avoir écrit que :
Private Sub Command1_Click()
EndSub
Vous allez donc écrire entre ces 2 lignes l'instruction suivant :
text1.text = "Tu as appuyé sur Click1"
Vous avez bien compris que lorsque l'utilisateur va cliquez
sur le bouton "Click1", il va s'afficher dans la zone de texte "Tu
as appuyez sur Click1".
Maintenant retourner sur la feuille de travail, puis
double-cliquez sur le deuxième bouton, nommé "Click2". Une fenêtre
devrait s'ouvrir, vous l'avez compris : c'est le code source.
Il ne devrait y avoir écrit
que
Private Sub Command2_Click()
EndSub
Cette ligne s'est ajoutée à celles qu'on a écrit tout à l'heure. Vous allez donc écrire entre ces 2 lignes l'instruction
text1.text = "Tu as appuyé sur Click2"
Je ne vous fais pas de dessin sur ce qui va se passer quand l'utilisateur va cliquer sur le bouton "Click2".
C'est donc fini, vous pouvez appuyer sur F5 pour contempler
votre oeuvre. Appuyez tant de fois que vous voulez sur les boutons.
On va rajouter une dernière petite option. Pour cela fermez votre programme puis rajoutez un bouton sous
la zone de texte avec la propriété Caption initialisé à "Quitter".
Double-cliquez sur le bouton pour faire apparaître le code source, rajoutez-y
la ligne
End
Cette fois-ci c'est bel et bien terminé. Lorsque
vous cliquerez sur le bouton "Quitter", Le terme End indique que
l'application va se terminé.
Code source du programme :
Private Sub Command1_Click()
text1.text = "Tu as appuyé sur Click1"
EndSub
Private Sub Command2_Click()
text1.text = "Tu as appuyé sur Click2"
EndSub
Private Sub Command3_Click()
End
EndSub
The End
Voilà c'est déjà la fin de ce tutoriel sur l'excellent Visual Basic 6.0.

Ajouter un commentaire