Académique Documents
Professionnel Documents
Culture Documents
Vous trouverez dans ce document les bases pour dbuter avec Visual Basic 6.
I - Prsentation............................................................................................................................................................ 3 II - VB6 sur developpez.com....................................................................................................................................... 3 III - La rubrique VB......................................................................................................................................................3 IV - Tlcharger Visual Basic 6.0................................................................................................................................4 V - Cration du projet..................................................................................................................................................4 VI - Excution du programme..................................................................................................................................... 6 VII - Enregistrement du programme............................................................................................................................7 VIII - Compilation du programme................................................................................................................................ 7 IX - Tlcharger l'application Hello..............................................................................................................................8 X - Quelques liens vers des articles connexes...........................................................................................................8 XI - Prsentation.......................................................................................................................................................... 9 XII - Type de donnes.................................................................................................................................................9 XIII - Dclaration de variables..................................................................................................................................... 9 Permissivit de VB6 vis vis des variables..........................................................................................................9 En quoi le type de variable est-t'il important ?...................................................................................................... 9 Option Explicit.......................................................................................................................................................10 Erreur de frappe..............................................................................................................................................10 Erreur de porte..............................................................................................................................................11 XIV - Les tableaux de variables................................................................................................................................ 13 XIV-A - Introduction aux tableaux........................................................................................................................ 13 XIV-B - Tableaux de taille fixe............................................................................................................................. 13 XIV-C - Tableaux de taille variable...................................................................................................................... 15 XV - Tlcharger l'application prjVariables................................................................................................................22 ZZ - Conclusion......................................................................................................................................................... 22 Z-A - Pour aller plus loin......................................................................................................................................22 Z-B - Remerciements........................................................................................................................................... 22
-2Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
I - Prsentation
Dbuter en VB6 en 2010 semble tre une hrsie. Cependant, au vue des nombreuses discussions ouvertes sur les forums VB de dvp, il m'a sembl utile d'crire ce document, permettant d'orienter les nouveaux utilisateurs de Visual Basic 6.
III - La rubrique VB La rubrique VB comporte plusieurs pages destines vous aider pour l'apprentissage du langage VB.
L'index VB ou page d'accueil: http://vb.developpez.com/ propose les actualits de la rubrique (news, annonces d'articles..) Les tutoriels VB6 : http://vb.developpez.com/cours/regroupent les articles crits par les membres de la rdaction La Faq VB6 : http://vb.developpez.com/faq/ comporte un ensemble de rponses vos questions labores partir des rponses pioches dans les forums VB. La page Source VB6 : http://vb.developpez.com/sources/ prsente un ensemble de sources fournies par les "contributeurs" des forums VB. La page Outils VB6 :http://vb.developpez.com/outils/ offre une slection d'outils gratuits pour VB6. La page Livres VB6 : http://vb.developpez.com/livres/ expose quelques critiques de livres effectues par les membres de la rdaction. Les pages contributeurs : Pages Contributeurs VB reprennent les productions des "gros" contributeurs des forums VB6. Le Wiki de developpez.com : le wiki de developpez.com dfinit et explique les outils et les termes utiliss en VB6. Vous pouvez y contribuer en ajoutant ou modifiant des entres. Les forum VB6 : VB 6 et antrieur permettent de consulter les questions/rponses ou de poser ses propres questions.
La rubrique VB a aussi en charge le langage VBScript (ou VBS). Voici quelques pages VBS :
La FAQ VBS : http://vb.developpez.com/faqvbs/ reprend un ensemble de rponses extraites du forum VBscript
(1) Voir Historiques des versions VB http://wiki.developpez.com/Visual_Basic_6 (2) Qu'est-ce que le .NET Framework ? (3) Comment savoir si l'on utilise VBA (Visual basic pour application) ou VB6 ?
-3Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
Les tutoriels VBScript : Pages cours VBScript regroupent quelques articles sur VBscript crit par les membres de la rdaction. Les forums VBScript : VBScript permettent la consultation ou la cration de discussions.
V - Cration du projet
Pour commencer, nous allons crer la classique application "Hello world". Au lancement de VB6, la fentre de slection de type de projet est affiche :
Dans ce document nous nous limiterons au projet standard, slectionnez donc "Exe standard", ce qui permet de crer une premire fentre "Form1".
Modifiez ensuite le code de cette fentre, pour accder au code qui lui est associ, vous pouvez "double-cliquer" sur celle-ci ou utiliser le menu "Affichage/Code"
-5Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
VI - Excution du programme
Une fois ce code saisi, utilisez la commande Excuter, pour lancer le projet. Vous trouverez cette commande dans le menu Excution :
-6Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
Ensuite slectionnez le rpertoire et le nom de fichier souhaits, grce la fentre "Enregistrer sous" qui vous permet en outre de crer le rpertoire de destination :
-7Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
-8Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
XI - Prsentation
Une variable permet de donner un nom significatif un espace mmoire utilis ensuite dans votre programme.
Rsultat (fentre excution CTRL+G) 1 : String = Une variable chaine 2 : Integer = 123
Code
Rsultat (fentre excution CTRL+G) Oprateur + appliqu 2 entier : Var1 + Var2 = 3 Oprateur + appliqu 2 chaine : Var1 + Var2 =12
Ce petit code nous montre un des problmes pouvant tre entrains par un oubli de la dclaration de variable. Cette dclaration s'effectue grce au mot clef Dim :
Dim stVar1 as string Dim stVar2 as string
-9Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
Dbuter en Visual Basic 6 par bbil (bbil.developpez.com) Dim iVar3 as integer Dim iVar4 as integer
On remarque la rptition du type pour chacune des variables, un raccourci souvent utilis par les dbutants :
Dim stVar1,stVar2 as string Dim iVar3, iVar4 as integer
ne donne pas le rsultat attendu comme le montre le code suivant : Code Rsultat (fentre excution CTRL+G) stVar1 : Empty stVar2 : String iVar3 : Empty iVar4 : Integer
Sub DeclareVariable() Dim stVar1, stVar2 As String 'Seule stVar2 est une String Dim iVar3, iVar4 As Integer 'Seul iVar4 est un entier Debug.Print "stVar1 : " & TypeName(stVar1) Debug.Print "stVar2 : " & TypeName(stVar2) Debug.Print "iVar3 : " & TypeName(iVar3) Debug.Print "iVar4 : " & TypeName(iVar4) End Sub
Option Explicit
En rendant obligatoire la dclaration des variables "l'option explicit" d'viter bien des erreurs de frappe et d'apprciation de portes de variables. Quelques petits exemples d'erreurs releves par option explicit :
Erreur de frappe
Voici un code o une erreur est survenue lors de la saisie du nom d'une variable qui passe de maVar MaVariable
Sub ErreurDeFrappe() Dim maVar As Integer maVar = 1 'Erreur sur nom de variable ici MaVar devient MaVariable !!! MsgBox MaVariable End Sub
Si on excute ce code sans utiliser Option Explicit, VB ne signale aucune erreur, la fentre message box s'affiche, sans le contenu de la variable MaVar.
Par opposition, aprs l'ajout de l'option Explicit, l'erreur est signale lors de l'excution dans l'IDE Visual basic ou lors de la compilation.
- 10 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
Aprs action sur le bouton OK de la message box, le code est affich signalant par une flche jaune la ligne en cours d'excution et surlignant en bleu le code en erreur.
Erreur de porte
Une variable dclare au mauvais endroit peut provoquer des erreurs de porte, ainsi une variable dclare dans une procdure, n'est pas accessible dans une autre. Code Rsultat (fentre excution CTRL+G) LanceMesProcedures Execute Procedure1 MaVar = [1] Execute Procedure2 MaVar = []
Sub LanceMesProcedures() Procedure1 Procedure2 End Sub Private Sub Procedure1() Dim maVar Debug.Print "Execute maVar = 1 Debug.Print "MaVar = End Sub Private Sub Procedure2() Debug.Print "Execute Debug.Print "MaVar = End Sub
Procedure1" [" & maVar & "]" Procedure2" [" & maVar & "]"
Si on excute ce code sans utiliser Option Explicit, VB ne signale aucune erreur, mais la variable MaVar n'tant pas accessible dans la deuxime procdure, la valeur affiche lors de l'excution de procdure2 est nulle, car il s'agit d'une "autre" variable cre automatiquement par VB. Cependant, aprs l'ajout de Option Explicit, l'erreur est signale lors de l'excution dans l'IDE Visual basic ou lors de la compilation, la fentre
- 11 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
suivante est affiche : Dans l'diteur VBE la variable MaVar utilise dans la deuxime procdure est surligne en bleu. Pour rendre ce code valide et faire en sorte que la variable MaVar soit accessible par les deux procdures, on peut dclarer en "global" cette variable en plaant la ligne de dclaration en dehors de toute procdure, tout en haut de la feuille de code : Code Rsultat (fentre excution CTRL+G) LanceMesProcedures Execute Procedure1 MaVar = [1] Execute Procedure2 MaVar = [1]
Option Explicit Dim maVar '(...) Sub LanceMesProcedures() Procedure1 Procedure2 End Sub Private Sub Procedure1() Dim maVar Debug.Print "Execute maVar = 1 Debug.Print "MaVar = End Sub Private Sub Procedure2() Debug.Print "Execute Debug.Print "MaVar = End Sub
Procedure1" [" & maVar & "]" Procedure2" [" & maVar & "]"
- 12 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
Taille fixe : le nombre d'lments du tableau est dfini au moment de la dclaration et ne peut tre modifi ensuite ; Taille dynamique : le nombre d'lments du tableau n'est pas dfini au moment de la dclaration, mais ensuite grce une instruction spcifique, ce nombre d'lments peut voluer en fonction des traitements du programme.
L'application prjVariables en tlchargement avec cet article permet de mieux apprhender l'utilisation des variables tableaux :
utilisez pour cela le bouton "Tableaux de taille fixe" L'instruction stop prsente dans le code permet de stopper l'excution du programme et de visualiser le code de dclaration, mais aussi grce la fentre "Variables locales" (accessible par le menu affichage de l'diteur Visual basic) d'observer les variables. Ainsi la dclaration :
' tableau une dimension bornes fixes Dim tbA(5 To 10) As Boolean
permet de dclarer une variable tableau nomme tbA contenant 6 lments de type boolen avec un index variant de 5 10.
- 13 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
La variable tableau tbB met en vidence la dclaration en mode "court" avec index bas 0 :
'Tableau une dimension utilisant la valeur par dfaut pour la borne basse Dim tbB(5) As String
Pour finir, le dernier tableau tbC nous montre que les tableaux ne sont pas limits une seule dimension :
'Tableau multi-dimensionnel Dim tbC(4, 2, 3) As String
- 14 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
Un appui sur la touche F5 permet de faire "repartir" le programme excutant la boucle d'affichage suivante :
'pour finir par une boucle montrant l'utilisation en lecture d'un tableau For i = LBound(tbB) To UBound(tbB) frmVariables.AjtLog "tbB(" & i & ") = " & tbB(i) Next
dont le rsultat est affich dans le textbox prsent sur la bote de dialogue :
Pour visualiser ce fonctionnement utiliser le bouton "Tableau de taille variable" dans l'application exemple lance dans l'diteur VB.
Au premier arrt du code, la fentre excution (CTRL+G) permet d'afficher le rsultat de l'instruction :
Debug.Print UBound(tbB)
et donc l'index du dernier lment du tableau (ici 6). Par ailleurs la fentre "Variable locales" permet d'afficher les 7 lments composants le tableau.
Sub DeclareTableauxVariable() Dim tbB() As String Dim i As Integer ReDim tbB(6) Debug.Print UBound(tbB) Stop 'Actionnez F5 pour "remplir le tableau"
- 16 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
Un appui sur la touche F5 permet d'excuter le code jusqu' la prochaine instruction Stop, ensuite l'affectation des diffrents lments du tableau est effectue grce une boucle.
- 17 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
Stop 'Actionnez F5 pour "remplir le tableau" For i = LBound(tbB) To UBound(tbB) tbB(i) = Chr(Asc("A") + i) Next Stop 'Visualisez dans la fentre "Variables locales" le contenu de tbB
- 18 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
On s'aperoit, en observant le tableau, que celui-ci a chang de taille (l'index du dernier lment est pass de 6 8) cependant, toutes les donnes contenues prcdemment ont t perdues et les divers lments ont pris la valeur par dfaut d'une variable de type string : ""
- 19 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
En retour on se retrouve avec un tableau dont les lments 0 8 ont comme valeur les lettres "A" "I", la suite dmontre l'utilisation de l'option Preserve avec Redim, option qui, comme son nom l'indique permet de prserver le contenu du tableau lors du redimensionnement.
- 20 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
On retrouve bien, suite au passage de 8 10 lments, deux lments supplmentaires tbB(9) et tbB(10) initialiss avec la valeur "", tandis que les lments d'index 0 8 n'ont pas t modifis. Le dernier code permet de modifier le nombre de dimensions du tableau :
'Le nombre de dimensions peut aussi tre modifi ReDim tbB(12, 2, 3) Stop ' dans ce cas (modification du nombre de dimensions) 'l'on ne peut utiliser l'option Preserve End Sub
- 21 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/
Z-B - Remerciements
Je tiens remercier Pierre Fauconnier, jacques_jean , blade159 ainsi que Caro-Line pour leur relecture.
- 22 Copyright 2010 - bbil. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://bbil.developpez.com/tutoriel/vb/debuter-vb6/