View
236
Download
0
Category
Preview:
Citation preview
8/18/2019 BR VB Concepts
1/91
B.ROCHE / IIRIAM 10/00 Page 1 / 92 BR_VB_concepts.doc
V I S U A L B A S I CL E S C O N C E P T S F O N D A M E N T A U X
INTRODUCTI ON _______________________________________________________________ 4
I- Présentation ___________________________________________________________________ 4
II- Les versions de Visual Basic ______________________________________________________ 4
III- Les concurrents de Visual Basic___________________________________________________ 5
IV- généralités sur le langage ________________________________________________________ 5
Le projet_______________________________________________________________________ 9
I- Présentation_____________________________________________________________________ 9II- Notion de module_________________________________________________________________ 9
III- Méthode de programmation_______________________________________________________ 11
L 'éditeur Visual Basic___________________________________________________________ 13
I- Utilisation de l'éditeur____________________________________________________________ 13
II- Principes d'écriture______________________________________________________________ 14
Les éléments du l angage_________________________________________________________ 16
I- Les variables ___________________________________________________________________ 16
II- Types utilisateurs _______________________________________________________________ 18
III- Les tableaux__________________________________________________________________ 18
IV- Structures algorithmiques_______________________________________________________ 19
V- Les opérateurs__________________________________________________________________ 21
VI- Les procédures _______________________________________________________________ 22
VII- Les fonctions prédéfinies________________________________________________________ 26
Notions d'objets________________________________________________________________ 29
I- Définition d'objet________________________________________________________________ 29
II- Convention d'écriture des objets ___________________________________________________ 29
III- Les Classes d'objets ___________________________________________________________ 30
IV- Les propriétés d'un objet _______________________________________________________ 30
V- Les méthodes d'un objet__________________________________________________________ 36
VI- Evénements et procédures d'événement ___________________________________________ 37
Les objets propres àun projet_____________________________________________________ 38
I- L'objet App ____________________________________________________________________ 38
Les Feuil les Vi sual Basic ________________________________________________________ 41 I- Présentation____________________________________________________________________ 41
8/18/2019 BR VB Concepts
2/91
B.ROCHE / IIRIAM 10/00 Page 2 / 92 BR_VB_concepts.doc
II- Méthodes et événements d'une feuille _______________________________________________ 42
III- Les Boîtes de dialogue__________________________________________________________ 44
Les contrôles __________________________________________________________________ 49
I- les contrôles standards ___________________________________________________________ 49
II- Les contrôles de listes et fichiers ___________________________________________________ 56
le Gl isser - Déplacer (Drag and drop) ______________________________________________ 59
I- principe _______________________________________________________________________ 59
II- Propriétés, événements, méthodes __________________________________________________ 59
L 'accès aux données : le contrôle Data _____________________________________________ 62
I- Introduction____________________________________________________________________ 62
II- Le contrôle Data ________________________________________________________________ 62
III- Les contrôles dépendants _______________________________________________________ 64
IV- Les contrôles dépendants spécifiques______________________________________________ 66
L 'accès aux données : les f ichi ers _________________________________________________ 73
I- Introduction____________________________________________________________________ 73
II- Fonctions relatives aux fichiers_____________________________________________________ 73
III- Les fichiers séquentiels _________________________________________________________ 74
IV- Les fichiers aléatoires __________________________________________________________ 76
V- Les fichiers binaires _____________________________________________________________ 77
Les appli cations MDI ___________________________________________________________ 78
I- Présentation____________________________________________________________________ 78
II- Création d'une feuille MDI________________________________________________________ 79
III- Organisation des feuilles-enfants _________________________________________________ 79
La gestion des erreur s___________________________________________________________ 80
I- Introduction____________________________________________________________________ 80
II- Intercepteur d'erreur ____________________________________________________________ 80
III- Ecriture d'une routine de gestion d'erreur _________________________________________ 81
IV- Sortie d'une routine de gestion d'erreur ___________________________________________ 81
V- Erreurs inattendues______________________________________________________________ 82
Le débogage___________________________________________________________________ 85
I- Introduction____________________________________________________________________ 85
II- Types d'erreurs _________________________________________________________________ 85
III- Aide fournie par les outils de débogage ____________________________________________ 86
IV- La fenêtre de débogage _________________________________________________________ 88
Les menus ____________________________________________________________________ 90
I- Présentation____________________________________________________________________ 90
II- Conception_____________________________________________________________________ 91
8/18/2019 BR VB Concepts
3/91
B.ROCHE / IIRIAM 10/00 Page 3 / 92 BR_VB_concepts.doc
III- Conventions d'affectation des noms de menus_______________________________________ 92
8/18/2019 BR VB Concepts
4/91
B.ROCHE / IIRIAM 10/00 Page 4 / 92 BR_VB_concepts.doc
INTRODUCTION
I- PRESENTATION
Visual Basic de Microsoft est à la fois un langage et un atelier de développement.
On retrouve le langage dans chaque produit de la gamme Office : Word, Excel, Access. Dans lesversions antérieiures à office 97, on le trouvait sous le nom de VBA (Visual Basic for Application)L’environnement de développement Visual Basic permet de créer des applications en modegraphique (GUI, Graphical User Interface) pour toutes les versions de Windows (3.x, 95, NT).
C'est donc un langage de haut niveau, simple à mettre en œuvre, contrairement aux langages Cet C++. En effet, Visual Basic se charge de faire appel et de passer les paramètres aux API(fonctions de base) de Windows.
Que l'on ait l'intention de créer un petit utilitaire ou une application pour une entreprise ou mêmedes applications partagées internationales sur Internet, Visual Basic met à disposition tous lesoutils nécessaires :
Ô Les fonctions d'accès aux données, qui permettent de créer des bases de données et desapplications pour les formats de base de données les plus utilisés (Microsoft ou autres),
Ô La technologie ActiveX™ qui permet d'utiliser les fonctionnalités offertes par d'autresapplications, telles que le traitement de texte, le tableur et autres applications Windows,
Ô Les fonctionnalités Internet facilitent l'accès à des documents et à des applications sur Internetdepuis l'application.
Visual Basic permet de créer un pseudo-code exécutable, c'est à dire que l'application finale estun véritable fichier .exe qui utilise à l'exécution une bibliothèque de liaisons dynamiques (DLL,Dynamic-Link Library ) qui sont libres de diffusion.
Les applications développées avec Visual basic peuvent donc être distribuées librement.
Visual Basic répond certainement à la grande majorité des besoins de développementnotamment en informatique de gestion.Il n’offre cependant pas le degré de finesse et de souplesse nécessaire à la production de
logiciels universels comme Word ou Excel. Ce domaine reste du ressort du langage C++.
II- LES VERSIONS DE VISUAL BASIC
C'est seulement à partir de la version 3.0 que Visual Basic permet d'accéder aux bases dedonnées. C'est à partir de ce moment que Visual Basic a connu un réel succès.
La version 4 intègre également les nouvelles versions du moteur de base de données JET (2.5en 16 bits et 3.0 en 32 bits) permettant la gestion de l'intégrité référentielle, et les mises à jour encascade.
Visual Basic est disponible en trois versions :
8/18/2019 BR VB Concepts
5/91
B.ROCHE / IIRIAM 10/00 Page 5 / 92 BR_VB_concepts.doc
Ô L'édition Initiation permet aux programmeurs de créer facilement de puissantes applicationspour Microsoft Windows 95 et Windows NT. Elle comprend tous les contrôles intrinsèquesainsi que les contrôles Grid, Tab et les contrôles dépendants.
Ô L'édition Professionnelle offre une gamme d'outils aux fonctionnalités complètes permettant dedévelopper des solutions autonomes. Elle comprend toutes les fonctionnalités de l'ÉditionInitiation ainsi que des contrôles ActiveX supplémentaires, notamment les contrôles Internet, etle module Crystal Reports.
Ô L'édition Entreprise permet de créer des applications partagées fiables au sein d'une équipe.Elle comprend toutes les fonctionnalités de l'Édition Professionnelle, ainsi que le module Automation Manager, le Gestionnaire de composants, des outils de gestion de base dedonnées, le système de contrôle de version orienté projet Microsoft Visual SourceSafe, et bienplus encore.
III- LES CONCURRENTS DE VISUAL BASIC
Visual Basic connaît de nombreux concurrents, nous n'en citerons que quelques uns :
Ü AccessÜ DelphiÜ Powerbuilder Ü WindevÜ Oracle / Developper 2000
IV- GENERALITES SUR LE LANGAGE
1. UN LANGAGE ORIENTE OBJETS
VB est un langage orienté objet.Les feuilles et contrôles sont des objets, tout comme les bases de données et beaucoupd'autres choses. En fait on utilise en permanence des objets en VB. il est même facile de créer ses propres objets à partir des classes que l'on définit, et d'utiliser des objets pour simplifier lecode et augmenter le taux de réutilisation du code.
2. UNE PROGRAMMATION EVENEMENTIELLE
VB est un langage de programmation événementielle, c'est à dire que ce sont les actions desutilisateurs sur les objets apparaissant à l'écran qui déclenchent l'exécution de procédures.L'enchaînement des procédures n'est pas prédéfini à l'avance comme dans un langage deprogrammation procédural. On peut donc dire que c'est l'utilisateur qui pilote l'application commebon lui semble et non comme le programmeur l'a écrit dans une programmation classique.
3. UNE PROGRAMMATION GUIDEE ET ASSISTEE
VB permet de faire une partie de la programmation d'une application sans écrire de code. Eneffet, l'utilisation de la souris et des icônes va grandement simplifier la programmation.
8/18/2019 BR VB Concepts
6/91
8/18/2019 BR VB Concepts
7/91
B.ROCHE / IIRIAM 10/00 Page 7 / 92 BR_VB_concepts.doc
Il est composé des parties suivantes :
Ô La barre de menusElle est composée d'un menu et d'icônes, permettant de mettre en œuvre les principalesfonctionnalités de VB.
Ô La boîte à outilsElle contient les outils que l'on peut utiliser pour dessiner des contrôles sur les feuilles. Chacunde ces outils représente un contrôle.
Ô L'éditeur de feuilles
Représente une feuille de travail, c'est à dire l'interface homme/machine. C'est par le biais defeuilles que vont s'effectuer les entrées/sorties. Sous access, on les appelle les formulaires.
Ô La fenêtre de projetElle recense tous les composants d'un projet
Ô La fenêtre des propriétésElle recense toutes les propriétés relatives à l'objet sélectionné (feuille, contrôle,...). Onremarquera que la signification de la propriété sélectionnée apparaît automatiquement en bas decette fenêtre.
Ô La fenêtre présentation des feuilles :Elle indique la position de la feuille courante quand elle apparaîtra à l'écran en mode application.Cette fonctionnalité n'a d'importance que lorsque la fenêtre ne doit pas apparaître en plein écran.
8/18/2019 BR VB Concepts
8/91
B.ROCHE / IIRIAM 10/00 Page 8 / 92 BR_VB_concepts.doc
On pourra également faire apparaître d'autres fenêtres, comme la fenêtre de palette de couleursou la fenêtre de débogage. On verra ces fenêtres ultérieurement dans le cours.
Toutes ces fenêtres peuvent être simultanément ouvertes.
8/18/2019 BR VB Concepts
9/91
B.ROCHE / IIRIAM 10/00 Page 9 / 92 BR_VB_concepts.doc
LE PROJET
I- PRESENTATION
* Toute application Visual basic est appelée pro je t .Plusieurs fichiers seront créés pour chaque projet, à savoir :
Ô un fichier de projet qui répertorie tous les composants (.VBP)Il est obligatoire, et sert à mémoriser la liste de tous les fichiers nécessaires au projet, ainsique les options d'environnement du projet. C'est un fichier texte dont on peut afficher lecontenu.
Ô Un ou plusieurs fichiers contenant des contrôles ActiveX. Ces contrôles étaient auparavantappelés contrôles OLE ou contrôles personnalisés. Les éditions professionnelles et
entreprises contiennent un grand nombre de contrôles ActiveX et offrent aussi la possibilité decréer ses propres contrôles. D'autres contrôles ActiveX destinés à de multiples usages sontdisponibles auprès de nombreux fournisseurs.
Ô un fichier en données binaires pour chaque feuille contrôlant les propriétés ayant des donnéesbinaires comme valeurs (.FRX)
Ô un fichier de ressources unique (.RES)
Ô Des fichiers modules (.FRM, .BAS ou .CLS)
II- NOTION DE MODULE
Dans Visual Basic, le code est stocké dans des modules. Il existe trois types de modules :Ô module de feuille,Ô module standard,Ô module de classe.
Chaque module de feuille, standard et de classe peut contenir les éléments suivants :
å Des déclarations : on peut inclure des déclarations de constantes, de types, de variables et de
procédures de bibliothèque de liaison dynamique (DLL) de niveau module pour les modules defeuille, de classe ou standard.å Des procédures : de type Sub, Function ou Property qui contiennent des morceaux de code quipeuvent être exécutés en bloc et plusieurs fois dans l'application.
1. MODULES DE FEUILLE
Les modules de feuille (dont le nom de fichier possède l'extension .FRM) sont le fondement de laplupart des applications VB. Ils peuvent contenir des procédures qui gèrent :å des événements,å des procédures générales,
å des déclarations de niveau feuille de variables, de constantes, de types et de procéduresexternes.
8/18/2019 BR VB Concepts
10/91
B.ROCHE / IIRIAM 10/00 Page 10 / 92 BR_VB_concepts.doc
Le code que l'on écrit dans un module de feuille est propre à l'application à laquelle la feuilleappartient. Il peut aussi faire référence à d'autres feuilles ou objets internes à cette application.
2. MODULES STANDARD
Les modules standard (dont le nom de fichier possède l'extension .BAS) sont des conteneurs de
procédures et de déclarations généralement utilisés par d'autres modules internes à l'application.Ils peuvent contenir des déclarations de variables, de constantes, de types, de procéduresexternes et de procédures globales.Le code écrit dans un module standard n'est donc pas nécessairement lié à une applicationparticulière. Un module standard peut être réutilisé dans plusieurs applications différentes, àcondition de ne pas faire référence aux feuilles et aux contrôles par leur nom.On peut visualiser aisément le contenu, puisque c'est un fichier ASCII.Un projet aura de zéro à n modules standards.On trouvera souvent un module .BAS (appelé souvent main), qui contiendra les déclarations devariables globales au projet.
3. MODULES DE CLASSE
Les modules de classe (dont le nom de fichier possède l'extension .CLS) sont le fondement de laprogrammation orientée objet dans VB; On écrit du code dans les modules de classe pour créer de nouveaux objets, qui peuvent inclure ses propres méthodes et propriétés personnalisées.
* remarques :Ô on pourra donner le nom que l'on veut à chacun de ces fichiers (modules), mais il estfortement conseillé de leur attribuer le nom spécifié dans la propriété name de la feuille.
Ô une fois le projet terminé, il est possible de créer un fichier exécutable (.EXE) en choisissant
dans le menu Fichier la commande Créer un fichier EXE. Tous les fichiers créés deviendrontalors inutiles, à l'exception des fichiers .DLL, .VBX et .OCX qui devront être stockés dans undossier accessible par un path.
III- ERREUR! SIGNET NON DEFINI.RACCOURCIS CLAVIER
Raccourci FonctionF5 Exécution
Ctrl+PauseBascule en mode arrêt, très utile en cas deverrou (boucle infinie sur une msgbox par ex.).
F7Bascule vers le module de code d'unefeuille.
Shift+F7 Bascule du code vers l'objet.Shift+F2 en étant positionné sur unnom de procédure
Affiche le code de la procédure appelée.
Ctrl+Shift+F2 Affiche la procédure précédemmentconsultée.
Ctrl+J
Affiche à nouveau la liste automatique desméthodes et propriétés d'un objet. Sepositionner dans la méthode ou lapropriété à changer.
Ctrl+Shift+Initiale d'une propriété Accès immédiat dans la fenêtre des
8/18/2019 BR VB Concepts
11/91
B.ROCHE / IIRIAM 10/00 Page 11 / 92 BR_VB_concepts.doc
propriétés sur celle commençant par l'initiale choisie.
IV- METHODE DE PROGRAMMATION
Les points suivants ne représentent que des conseils que le programmeur est libre de suivre oude ne pas suivre.
Toutefois, il est conseillé de travailler avec rigueur et de faire une bonne analyse du problème àgérer, surtout si l'application à développer est complexe.
Il est recommandé de suivre les étapes suivantes :
* créer le projetCréer sur le disque un dossier (répertoire) qui ne contiendra que les fichiers propres au projet.
Dès le lancement de VB, faire Fichier / Enregistrer le projet sous... dès lors qu'il s'agit d'unnouveau projet
* créer les fenêtresIl est préférable, au préalable, d'avoir conçu le schéma d'enchaînement des fenêtres del'application.On créera alors l'ensemble des fenêtres du schéma et on les laissera vierges pour l'instant.Il faudra, pour chaque feuille, lui attribuer trois noms :
Ü le nom en clair, qui apparaîtra dans le bandeau de la feuille
Ü le nom raccourci, qui est le nom qui apparaîtra dans les programmes (15 caractèresmaximum).
Ü le nom de sauvegarde, qui représente le nom sous lequel la feuille sera sauvegardéesur le disque. ( 8 caractères maximum).
Il est nécessaire d'attribuer les noms de manière rigoureuse et selon un principe établi au préalable,afin de faciliter dans un premier temps la programmation et dans un deuxième temps la maintenance.
* placer les contrôlesSur chaque feuille, en leur donnant leur taille et leur emplacement définitifs. Pour les aligner, on
peut choisir l'option afficher la grille dans Outils / Options / Environnement .Initialiser alors les propriétés de chaque contrôle, dont notamment le nom (propriété name)
Mettre à true la propriété cancel de tous les boutons Annuler Mettre à true la propriété Default de tous les boutons OK des fenêtres de saisie.Mettre à true la propriété cancel de tous les boutons Annuler des fenêtres de demande deconfirmation.
* programmer et tester les procédures d'événementNe pas programmer tout en même temps, mais au contraire, programmer de manièreprogressive, en testant le programme le plus souvent possible, afin de n'avoir pas trop de
difficultés à trouver une erreur.
8/18/2019 BR VB Concepts
12/91
B.ROCHE / IIRIAM 10/00 Page 12 / 92 BR_VB_concepts.doc
Faire des indentations (décalages à droite) pour les structures si, tant que ,...Ne pas hésiter à commenter le programme notamment sur les points suivants :
Ü titres de paragraphes afin de bien faire ressortir la structure du programme,
Ü explications détaillées pour toutes les sections de programmes complexes.
Tester et déboguer
* créer l'aide en ligne
* imprimer la documentation automatique du projet
* créer le programme exécutable
* créer les disquettes d'installation
* rédiger la notice d'installation
* rédiger la notice d'utilisation
* former les utilisateurs au projet
8/18/2019 BR VB Concepts
13/91
B.ROCHE / IIRIAM 10/00 Page 13 / 92 BR_VB_concepts.doc
L'EDITEUR VISUAL BASIC
Il est important de maîtriser la mécanique de l'écriture du code dans VB, afin de réduire les tempsde saisie de code, par exemple, l'éditeur de code de VB fournit automatiquement des
informations sur le code que l'on tape. Ainsi, si on tape le nom d'un contrôle suivi de l'opérateur point (.), les propriétés et méthodes de ce contrôle s'affichent automatiquement dans une zonede liste. De même, quand on tape le nom d'une fonction dans la fenêtre Code, VB indiqueautomatiquement la syntaxe de celle-ci.
Comme tous les autres langages de programmation, VB possède ses propres règlesd'organisation, de modification et de formatage du code. On va les détailler maintenant.
I- UTILISATION DE L'EDITEUR
L'Éditeur de code de Visual Basic est une fenêtre dans laquelle on écrit la majeure partie ducode. Elle se présente sous la forme :
Liste objet Liste procédure
Boutons de sélection d'affichage
8/18/2019 BR VB Concepts
14/91
B.ROCHE / IIRIAM 10/00 Page 14 / 92 BR_VB_concepts.doc
II- PRINCIPES D'ECRITURE
1. ACHEVEMENT DE L'ECRITURE DE CODE
Visual Basic facilite l'écriture du code, grâce à des fonctionnalités capables de compléter
automatiquement les instructions, les propriétés et les arguments. Au fur et à mesure que l'on tape le code, l'éditeur aff iche les choix, les valeurs ou les prototypesde fonction ou d'instruction appropriés.On peut activer ou désactiver ces options ainsi que d'autres valeurs du code à l'aide de l'ongletÉditeur de la boîte de dialogue Options, à laquelle on accède à l'aide de la commande Optionsdu menu Outils.
Quand on spécifie le nom d'un contrôle dans le code, le Complément automatique desinstructions affiche une liste déroulante des propriétés disponibles pour ce contrôle. Il suffit alorsde taper les premières lettres du nom de la propriété pour sélectionner automatiquement cettedernière dans la liste. La touche TAB termine automatiquement la frappe.
Cette option s'avère aussi utile lorsque l'on ne connaît pas avec certitude les propriétésdisponibles pour un contrôle donné.
La fonctionnalité Info express automatique affiche la syntaxe des instructions et des fonctions.Quand l'on tape le nom d'une instruction ou d'une fonction valide, la syntaxe apparaîtimmédiatement en dessous de la ligne courante tandis que le premier argument s'affiche en gras.Une fois que l'on a spécifié la valeur du premier argument, le deuxième apparaît en gras.
2. ÉCRITURE DES INSTRUCTIONS
On peut répartir une instruction sur plusieurs lignes dans la fenêtre de l'Éditeur de code en
utilisant le caractère de continuation de ligne (un espace suivi d'un trait de soulignement).Ô Exemple : Data1.RecordSource = _ "SELECT * FROM Titles, Publishers" _ & "WHERE Publishers.PubId = Titles.PubID" _ & "AND Publishers.State = 'CA'"
On peut aussi placer plusieurs instructions sur une ligne si on les sépare par deux-points (:)Ô Exemple :Text1.Text = "Bonjour" : Red = 255 : Text1.BackColor = Red
* Remarque : Il est néanmoins préférable de placer chaque instruction sur une lignedistincte afin d'améliorer la lisibilité de votre code.
Les commentaires peuvent figurer à la suite d'une instruction, sur la même ligne, ou occuper une ligne entière.
3. CONVENTION D'AFFECTATION DE NOMS DANS VISUAL BASIC
Les noms de ces procédures, variables et constantes déclarées dans VB doivent se conformer aux règles suivantes :å · Ils doivent commencer par une lettre.å · Ils ne peuvent pas contenir de point ni de caractère de déclaration de type (caractères
spéciaux qui spécifient un type de données).
8/18/2019 BR VB Concepts
15/91
B.ROCHE / IIRIAM 10/00 Page 15 / 92 BR_VB_concepts.doc
å · Ils ne peuvent pas dépasser 255 caractères. Les noms des contrôles, feuilles, classes etmodules sont limités à 40 caractères.
å · Ils ne peuvent pas être identiques à des mots clés avec restrictions.
Un mot clé avec restrictions est un mot qui fait partie du langage Visual Basic. Il s'agit desinstructions prédéfinies (comme Interface et Loop), des fonctions (comme Len et Abs) et desopérateurs (comme Or et Mod).
On peut utiliser les crochets pour faire référence à une feuille ou à un contrôle mais pas pour déclarer une variable ou une procédure portant le même nom qu'un mot clé avec restrictions. Lescrochets permettent aussi d'obliger Visual Basic à accepter les noms issus d'autres bibliothèquesde types et qui entrent en conflit avec des mots clés avec restrictions.On retrouve cette notion dans le code VB Applications
On se rapportera également page 29 : Convention d'écriture des objets
8/18/2019 BR VB Concepts
16/91
B.ROCHE / IIRIAM 10/00 Page 16 / 92 BR_VB_concepts.doc
LES ELEMENTS DU LANGAGE
I- LES VARIABLES
1. LE NOM DES VARIABLES
Le nom d'une variable commence par une lettre et doit comporter au plus 255 caractères
2. DECLARATION IMPLICITE OU EXPLICITE
Il n'est pas obligatoire de déclarer les variables utilisées dans un programme VB.C'est la déclaration implicite.VB alloue automatiquement une place en mémoire dès qu'il trouve une variable. C'est simple,
mais cela peut causer quelques problèmes. En effet, si on fait une faute de frappe dans leprogramme, pour faire appel à une variable, VB allouera automatiquement un deuxièmeemplacement (ex : réfcli et refcli). Le programme fonctionnera très bien, mais il ne donnera pasles résultats attendus. La recherche de l'erreur peut s'avérer bien longue et compliquée...
Il est donc préférable de déclarer les variable de manière expl ici te .
Pour que VB vérifie qu'une variable est déclarée avant une première utilisation, il suffit de cocher la case Declare Variable Declaration de la boîte de dialogue OPTIONS (onglet environment ),accessible par le menu OUTILS.En fait lorsque cette option est active, VB ajoute dans tous les modules la ligne Option Explicit .
* Remarque : Visual Basic ne différencie pas les minuscules des majuscules. Ainsi, il ne fait pasde différence entre la variable nomcli et Nomcli ou NomCli
3. DECLARATION EXPLICITE
Dans le cadre d'une déclaration explicite, on utilise une des instructions suivantes :
Ô Dim : variable dont la portée est limitée au domaine à l'intérieur duquel elle est déclarée. Cedomaine peut être une procédure, une fonction, un module ou une feuille. La durée de vie dela variable est alors limitée au domaine à l'intérieur duquel elle est déclarée.
Ô Static : Fonctionne sur le même principe qu'une variable déclarée avec Dim, mais sa durée devie est celle du projet. Elle conserve sa valeur en mémoire tout au long du projet, même si àmoment elle n'est pas accessible du fait de sa portée.
Ô Publ ic : variable devant être déclarée dans la section déclaration d'un module, qui sera diteglobale à l'application, et qui sera accessible de n'importe quel endroit de l'application.
8/18/2019 BR VB Concepts
17/91
B.ROCHE / IIRIAM 10/00 Page 17 / 92 BR_VB_concepts.doc
4. LES TYPES DE VARIABLES
Les différents types sont :
Type codetype
Définition
Byte 17 entier non signé sur 1 octet : de 0 à 255Integer 2 entier signé sur 2 octets : de -32768 à +32767
Long 3 entier signé sur 4 octets
Boolean(à partir de V4)
11 True ou False sur 2 octets
Single 4 nombre décimal à virgule flottante, signé, sur 4 octets
Double 5 nombre décimal à virgule flottante, signé, sur 8 octets
Currency 6 virgule fixe signé (4 chiffres décimaux) sur 8 octets
String 8 chaîne de caractères longueur variable
String * n 8 Chaine de caractères de longueur fixe (n étant la longueur)
Date 7 Date et/ou heure, sur 8 octets
Object référence à un objet quelconque
Variant 12 tout type (numérique, chaîne, objet, tableau)à utiliser avec prudence !...
* Remarques :Ô Une chaîne de caractères s'écrit entre guillemets ("ceci est en exemple de chaîne")
Ô Une simple quote sur une ligne implique que le reste de la ligne est du commentaire ( ' )Ô La taille d'une chaîne peut aller jusqu'à 65400 octets, une chaîne est de taille fixe ou
variable.Ô La valeur True équivaut au nombre entier 0Ô La valeur False équivaut au nombre entier -1Ô Le type variant admet tout type de données. VB associe à cette variable le type de la
valeur attribuée lors de l'affectation.
On peut tester le type de la variable avec la fonction VarType. En plus des valeurs vues cidessus, on pourra trouver les valeurs suivantes :
vbObject 9 OLE Automation object.vbError 10 Error.vbDataObject 13 Non-OLE Automation object.vbArray 8192 Array.
5. EXEMPLES
dim nom as string ' ceci est une chaîne de taille variable (adaptée à son contenu)dim ville as string * 20 ' ceci est une chaîne de taille fixe égale à 20static Heure as dateDim numcli as integer, adresse as string, ville, cp as string
Dans ce cas là, ville sera du type variant car on n'a pas défini de type.
8/18/2019 BR VB Concepts
18/91
B.ROCHE / IIRIAM 10/00 Page 18 / 92 BR_VB_concepts.doc
6. CAS PARTICULIER : LES CONSTANTES
On utilise l'instruction const
exemple : const Maxi = 100
II- TYPES UTILISATEURS
Il peut arriver que l'on ait besoin de se créer des types particuliers.On utilise alors l'instruction Type , commençant apr le mot clé type et se finit par end type.On déclare généralement les types utilisateurs dans la procédure déclarations du module.Ces types de données peuvent contenir un ou plusieurs éléments d'un type de donnéesprédéfini, d'un type de tableau ou d'un autre type précédemment défini par l'utilisateur
Ô exemple :type enr_pers
nom as string * 20prenom as string * 15end type
Une fois la déclaration de type faite, on peut déclarer des variables ayant ce type:
dim personne as enr_pers
personne est une variable nécessitant 35 octets en mémoire.
On peut accéder à un champ de la manière suivante :
Affectation : personne.nom = "Dupont"
III- LES TABLEAUX
Le tableau est un type complexe permettant de regrouper des informations de même nature.Visual Basic admet jusqu'à 60 dimensions, mais il est bien évident qu'il faut éviter de travailler sur de telles structures !!!
La déclaration d'un tableau se fait tout simplement par l'instruction Dim (ou Static ou Public).
L'indice d'un tableau commence toujours à 0. On peut toutefois, ne travailler qu'à partir de l'indice1, ce qui laisse les vide les emplacements d'indice 0.
Ô exemples :dim tab_eleves (20) as string*20 'tableau à 1 dimension, à 21 éléments de 20 caractères 'dim tab_notes (10,20) As integer 'tableau à 2 dimensions 11 lignes et 21 colonnes d'entiers'dim tab_noms (5) 'tableau à 1 dimension, de type variant '
Ce tableau permet de stocker 200 valeurs numériques.
8/18/2019 BR VB Concepts
19/91
8/18/2019 BR VB Concepts
20/91
B.ROCHE / IIRIAM 10/00 Page 20 / 92 BR_VB_concepts.doc
Ô exemples
If total >= 1000then remise = 0.2
end if
If total >= 1000then remise = 0.4else remise = 0.2
end if
if total < 1000then remise = 0.2elseif codecli = "G" then remise =0.3 else remise = 0.4
end if
select case remisecase 1000 to 2000
remise = 0.2case 2000 to 3000
remise = 0.3case else
remise = 0.35typeclient = "à suivre"
end select
2. LES BOUCLES
Algorithme Visual Basic
répéter suite d’actions à faire
jusqu’à
Dosuite d’actions à faire
Loop Until
Le programme fait au moins un passage dans la boucle. Il bouclera jusqu'à ce que la condition
soit satisfaite.
tant que fairesuite d’actions à faire
fin tant que
do While suite d’actions à faire
Loop
Le programme ne rentre pas forcément dans la boucle. Il y rentre si la condition est satisfaite etboucle tant qu'elle est vérifiée.
pour i de min à max fairesuite d’actions à fairefin pour
For i = min To maxsuite d’actions à faireNext
On utilise cette structure lorsque l’on sait le nombre de passages que l’on veut effectuer dans laboucle. A la place de min et max, on peut mettre des valeurs ou bien des expressions.L'incrémentation est automatique et la pas par défaut est 1.
8/18/2019 BR VB Concepts
21/91
B.ROCHE / IIRIAM 10/00 Page 21 / 92 BR_VB_concepts.doc
Variantes :For i = min To max Step 2
suite d’actions à faireNext
L'option step permet de faire varier le pas d'une autre valeur que 1. Ici le pas sera de 2.
On peut aussi avoir un pas négatif :
For i = max To min Step -1suite d’actions à faire
Next
V- LES OPERATEURS
1. OPERATEURS ALGEBRIQUES
+ somme de 2 nombres ou concaténation de 2 chaînes- soustraction de 2 nombres* multiplication de 2 nombres^ élévation à la puissance/ division de 2 nombres (le résultat est un flottant)\ division entière de 2 nombres (le résultat est l'arrondi de la
division de l'arrondi des opérandes)
Mod modulo, reste de la division entière (le résultat est le reste dela division entière des deux opérandes (ex 12.6 mod 3.1donnera 1)
& concaténation de 2 chaînes de caractères
2. OPERATEURS DE COMPARAISON
< inférieur à supérieur
>= supérieur ou égal à
= égal à différent deLike comme le modèle de chaîne fourni
Jokers : Utilisés avec l'opérateur like pour établir le modèle de chaîne :
* remplace de 0 à n caractères quelconques? remplace un seul caractère quelconque# remplace un seul chiffre
[liste de caractères] pour tout caractère unique qui se trouve dans laliste
[!liste de caractères] pour tout caractère unique qui ne se trouve pasdans la liste
8/18/2019 BR VB Concepts
22/91
B.ROCHE / IIRIAM 10/00 Page 22 / 92 BR_VB_concepts.doc
Ô exemples :if nomclient like "R[OA]" then...La condition sera vérifiée si le nom du client commence par RO ou RA
if nomclient like "T?[!OA]" then ...La condition sera vérifiée si le nom du client commence par T et n'a pas O ou A en troisièmeposition.
3. OPERATEURS LOGIQUES
Not non logique (pas) And et logique
Or ou logiqueXor ou exclusif Eqv équivalence logiqueImp implication logique() permet de rendre une comparaison prioritaire
Ô Equivalence logique :
resultat = expression 1 eqv expression2
Si expression1 est Et expression2 est résultat a la valeur True True TrueTrue False FalseFalse True FalseFalse False True
Ô Implication logique : (voir documentation VB)
VI- LES PROCEDURES
1. CLASSIFICATION DES PROCEDURES
On peut classer les procédures en deux catégories, bien qu'elles fonctionnent toutes sur le mêmeprincipe. Il est toutefois important de comprendre à quoi elles correspondent et où elles ont étécréées.
a) Les p ro cédu res d e feu ill e
On trouvera, dans chaque feuille :
Ô une procédure pour déclarer les variables
Ô autant de procédures que d'événements qui peuvent se produire sur la feuille (chargement,déchargement,...)
Ô autant de procédures que d'événements possibles sur chaque contrôle de la feuille (click,drag,..)
Ô autant de procédures et fonctions que le programmeur désire et qui ne sont pas liés à unévénement.
8/18/2019 BR VB Concepts
23/91
B.ROCHE / IIRIAM 10/00 Page 23 / 92 BR_VB_concepts.doc
b) Les p ro cédu res d e mod ule
On trouvera, dans chaque module autre que les feuilles :
Ô une procédure de déclarationÔ autant de procédures et de fonctions que le désire le programmeur.
Dans tous les cas, il est fortement recommandé de faire une programmation modulaire, afind'augmenter la lisibilité des programmes et leur maintenance.
On distinguera également les types suivants de procédures :
Ô Les procédures Sub : elles ne renvoient pas de valeur.Ô Les procédures Function : elles renvoient une valeur.
Ô Les procédures Property : elles peuvent renvoyer ou affecter des valeurs, et définir desréférences à des objets.
2. LES PROCEDURES SUB
a) Déclar at ion
[Private|Public][Static]Sub nom_procedure (liste des paramètres)
suite d’actionsEnd Sub
Par défaut, les procédures Sub sont des procédures Public dans tous les modules, ce qui signifiequ'elles peuvent être appelées à partir de n'importe quel endroit de l'application.
Dans Visual Basic, il est important de faire la distinction entre les deux types de procédures Sub,à savoir les procédures générales et les procédures d'événement .
b) Procédure générale
Une procédure générale indique à l'application la façon de mener à bien une tâche particulière.Une fois qu'une procédure générale est définie, elle peut être appelée par l'application. C'est lanotion de procédure telle qu'elle a été définie en cours d'algorithmique.
c) Procédure d 'événement
Une procédure d'événement, au contraire, reste inactive jusqu'au moment où elle est appeléepour réagir à des événements provoqués par l'utilisateur ou déclenchés par le système.Dans VB, lorsqu'un objet reconnaît qu'un événement s'est produit, il appelle automatiquement laprocédure d'événement dont le nom correspond à l'événement. Comme le nom associe les objetset le code, on dit que les procédures d'événement sont attachées aux feuilles et aux contrôles.
Toutes les procédures d'événement utilisent la même syntaxe générale:
8/18/2019 BR VB Concepts
24/91
B.ROCHE / IIRIAM 10/00 Page 24 / 92 BR_VB_concepts.doc
Syntaxe d'un événement de contrôle Syntaxe d'un événement de feuille
Private Sub controlname_eventname ( paramètres)
instructions
End Sub
Private Sub Form_ eventname ( paramètres)
instructions
End Sub
* Remarque :Il est aussi conseillé de définir la propriété Name des contrôles avant de commencer à écrire lesprocédures d'événement qui leur sont associées. En effet, si on modifie le nom d'un contrôleaprès lui avoir associé une procédure, on doit également modifier le nom de la procédure afinqu'elle corresponde au nouveau nom du contrôle. En effet, VB n'établit pas de lien entre lecontrôle et la procédure. Lorsqu'un nom de procédure ne correspond à aucun nom de contrôle, laprocédure devient une procédure générale.
d) Appel
call nom_procedure (liste des paramètres)
* Remarques :Ô le mot clé call est facultatif.Ô Si la procédure n'a pas de paramètres, on indique les parenthèses ouvrantes et
fermantes dans la déclaration. On ne les fait pas apparaître dans l'appel.
3. LES FONCTIONS : PROCEDURES FUNCTION
Visual Basic contient un certain nombre de fonctions prédéfinies telles que Sqr, Cos ou Chr.On peut toutefois écrire ses propres procédures Function grâce à l'instruction Function.La syntaxe d'une procédure Function est la suivante :
a) Déclar at ion
[Private|Public][Static]Function nom_fonction (liste des paramètres) as type_valeur_retournée
dim variablex as type_valeur_retournée
suite d’actionsvariablex = ...nom_fonction = variablex
End Function
b) Appel
valeur = nom_fonction (liste des paramètres)
* Remarque :
8/18/2019 BR VB Concepts
25/91
B.ROCHE / IIRIAM 10/00 Page 25 / 92 BR_VB_concepts.doc
Si on place le mot Static devant Sub ou Function, alors toutes les variables locales serontconsidérées comme statiques.
4. LE PASSAGE DE PARAMETRES
On peut passer un paramètre de deux façons :
Ô soit par valeur,Ô soit par référence.
Si l'on n'indique rien (ou si on indique ByRef ) devant un paramètre dans la déclaration de laprocédure ou de la fonction, le type de passage sera par référence.Si l'on veut effectuer un passage par valeur il suffit d'ajouter ByVal devant le nom du paramètre.
Ô Exemple :
Sub controle (Byval nomp1 As string, testp1 As Boolean, nump1 As Integer)
nomp1 est passé par valeur,testp1 et nump1 sont passés par référence.
* Remarque :on peut aussi déclarer des paramètres facultatifs avec le mot optional (depuis la version 4)
Sub test (v1 As Integer, Optional v2 As Integer)
On ne peut pas trouver de paramètre obligatoire après un paramètre facultatif.
VII- LES FONCTIONS PREDEFINIES
1. FONCTIONS DE CONVERSIONS
Fonction Description Asc retourne le code ASCII du premier caractère de la chaîne passée
en argument.Chr retourne le caractère correspondant au code ASCII (0 à 255) passé
en argument.Val convertit la chaîne passée en argument en donnée numérique
ex : val("1234") donne la valeur 1234.Str conversion d'un nombre en chaîne
Format formate une chaîne avec des instructions de formatage passéescomme arguments
Hex, Oct retourne une chaîne correspondant à une conversion Héxa ouOctale de l'argument numérique.
Cdbl convertit une expression en donnée de type double.Ccur convertit une expression en donnée de type currency.Cint convertit une expression en donnée de type integer.Clng convertit une expression en donnée de type long.
8/18/2019 BR VB Concepts
26/91
8/18/2019 BR VB Concepts
27/91
8/18/2019 BR VB Concepts
28/91
B.ROCHE / IIRIAM 10/00 Page 28 / 92 BR_VB_concepts.doc
NOTIONS D'OBJETS
I- DEFINITION D'OBJET
Un objet est une entité manipulable par l'ordinateur et à laquelle correspond :
Ô à une classe d'objetÔ des propres propriétésÔ des méthodesÔ des procédures d'événementÔ des procédures et fonctions
En fait on peut citer quelques objets :
Ô la fenêtre d'accueil de l'application,Ô la fenêtre de saisie d'un client,Ô le bouton de "quitter" de la feuille affichée à l'écran,...Ces exemples font directement référence aux objets manipulés par Visual Basic, on peuttoutefois en citer d'autres :Ô le client Dupont,Ô l'imprimante connectée au poste de Monsieur Dupont,Ô la facture n° 2345,...
* Chaque objet possède un nom.
Ô Exemples :* CmdQuit : nom du bouton de commande "quitter"* FrmAccueil : nom de la feuille d'accueil de l'application,...
II- CONVENTION D'ECRITURE DES OBJETS
Sous Visual Basic, on peut adopter la convention suivante pour nommer les objets :
Objet Préfixe Exemple
Feuille frm frmFileOpenCase à cocher chk chkReadOnlyListe modifiable cbo cboEnglishListe modifiable dépendante dbc dbcEnglishBouton de commande cmd cmdCancelDonnées dat datBiblioListe de répertoires dir dirSourceListe de lecteurs drv drvTargetListe de fichiers fil filSourceCadre fra fraLanguageGrille grd grdPrices
Grille dépendante dbg dbgPricesBarre de défilement horizontale hsb hsbVolume
8/18/2019 BR VB Concepts
29/91
B.ROCHE / IIRIAM 10/00 Page 29 / 92 BR_VB_concepts.doc
Objet Préfixe ExempleFeuille frm frmFileOpenDessin img imgIconEtiquette lbl lblHelpMessageLigne lin linVerticalZone de liste lst lstPolicyCodes
Zone de liste dépendante dbl dblPolicyCodeMenu mnu mnuFileOpenConteneur OLE ole oleObject1Bouton d'option opt optFrenchZone d’image pic picDiskSpaceForme (cercle, carré, ovale, rectangle, rectangle arrondiet carré arrondi)
shp shpCircle
Zone de texte txt txtGetTextMinuterie tmr tmrAlarmBarre de défilement verticale vsb vsbRate
Les noms d'objet et les noms de variable sont soumis aux mêmes règles, comme tout ce qui seracréé sous Visual Basic.
Les noms sous VB :Ô doivent commencer par une lettre ;Ô ne doivent contenir que des lettres, des chiffres et le trait de soulignement (_), mais pas
de caractères de ponctuation ni d’espaces ;Ô ne doivent pas dépasser 40 caractères.
III- LES CLASSES D'OBJETS
* Tout objet appartient à une classe
Dans une classe d'objets, on retrouve des objets de même nature.
Ainsi, sous Visual Basic, on manipulera, entre autre :
Ô des classes de feuilles,Ô des classes de contrôles .
Ainsi, les contrôles de la boîte à outils représentent chacun une classe d'objets.L'objet connu comme contrôle n'existe pas avant sa création sur une feuille. Lorsque l'on crée uncontrôle sur une feuille, on crée une copie (ou occurrence ou instance de la classe) de cecontrôle. Cette occurrence de la classe constitue l'objet auquel on fait référence dansl'application.La feuille que l'on utilise au moment de la création est une classe. Au moment de l'exécution,Visual Basic crée une occurrence ou instance de la classe de la feuille.
IV- LES PROPRIETES D'UN OBJET
A chaque classe d'objets sont affectées un certain nombre de propriétés (au moins le nom de
l'objet). Chaque objet de la classe a ses propres valeurs de propriétés.Chaque propriété a un nom, il faudra connaître les propriétés les plus courantes.
8/18/2019 BR VB Concepts
30/91
B.ROCHE / IIRIAM 10/00 Page 30 / 92 BR_VB_concepts.doc
Ô exemples :* la propriété caption qui représente le titre d'une fenêtre ou d'un bouton,* la propriété Font qui représente la police de caractère du titre d'une fenêtre ou d'un
bouton,...
La plupart des propriétés (mais pas toutes) sont modifiables aussi bien lors de la conception quelors de son exécution.
Lors de la conception on peut modifier la valeur d'une propriété via la fenêtre des propriétés.Si la feuille des propriétés n'est pas apparente, il suffit d'appuyer sur la touche F4 ou de cliquer sur l'icône propriétés :
Exemple de fenêtre de propriétés :
La modification de la valeur d'une propriété, pendant la phase d'exécution, se fait en utilisant lanotation pointée :
Ô Exemple :FrmAccueil.Cmdbouton1.Caption = "Quitter"
modifiera le texte du bouton de nom CmdBouton1 se trouvant dans la feuille de nom FrmAccueil .Si l'instruction précédante se trouve dans le module concernant la feuille FrmAccueil , on peutomettre FrmAccueil., ce qui donne :
Cmdbouton1.Caption = "Quitter"
Objet auquel serapporte la liste depropriétés
Nom de la propriété
Valeur
Définition de lapropriété
Classe de l'objet
Colonne des propriétésadmises pour cet objet
8/18/2019 BR VB Concepts
31/91
B.ROCHE / IIRIAM 10/00 Page 31 / 92 BR_VB_concepts.doc
En fait cette instruction modifie le texte du bouton de nom FrmAccueil se trouvant dans la feuillecourante.
Liste des principales propriétés, leur signification et les objets auxquels elles s'appliquent :
Propriétés Signification Objets
ActiveControl contrôle qui aurait le focus si le conteneur étaitactif. FormMDIForm ActiveForm feuille active pour une application MDI. MDIForm Align alignement automatique sur le bord de la feuille. Data
PictureBox Alignment cadrage du texte CheckBox
LabelOptionButtonTextBox
Appearance apparence 3D ou normale (à choisir dans la liste). tout contrôlevisible
AutoRedraw booléen indiquant si il y a mémorisation desdessins ou non, true mémorise au prix d'unaffichage très lent.
FormPictureBox
AutoShowChildren booléen indiquant si les feuilles enfants sontautomatiquement rendues visibles ou non.
MDIForm
AutoSize ajustement automatique des dimensions ducontrôle par rapport à son contenu.
LabelPictureBox
BackColor couleur de fond. tout contrôlevisible
BackStyle indique si un contrôle graphique est transparent ounon.
LabelShape
BorderStyle type de bordure (à choisir dans la liste). Form
GridImageLabelLinePictureBoxShapeTextBox
Caption chaîne de caractères apparaissant dans l'objet(barre de titre pour une feuille).
CheckBoxCommandButtonDataForm
FrameLabelMDIFormOptionButton
CellSelected indique si la cellule courante fait partie de lasélection.
Grid
ClipControls booléen indiquant si il faut tout redessiner (méthodes graphiques) en dehors des contrôlesnon graphiques.
FormFramePictureBox
Col n° de la colonne de la cellule courante. DBGridGrid
Cols nombre de colonnes. GridColWidth largeur des colonnes. Grid
DBGrid
8/18/2019 BR VB Concepts
32/91
B.ROCHE / IIRIAM 10/00 Page 32 / 92 BR_VB_concepts.doc
ControlBox booléen indiquant si le menu système est présentou non
Form
Controls tableau des contrôles contenus dans un contrôlede type conteneur. (collection).
FormPictureBoxFrameSStab
Count nombre de contrôles dans un conteneur. FormPictureBoxFrameSStab
CurrentX position de la souris en X. FormPictureBox
CurrentY position de la souris en Y. FormPictureBox
DataChanged booléen indiquant si le contenu du contrôle achangé ou non (pour un contrôle lié à une BD).
CheckBoxDBComboDBListImage
LabelPictureBoxTextBox
DataField champ de données auquel le contrôle est lié CheckBoxComboBoxDBComboDBGridDBListImageLabelListBox
PictureBoxTextBoxDataSource contrôle Data auquel le contrôle est lié. idemDragIcon icône utilisé pour une opération de glisser tout contrôle
visibleDragMode mode utilisé pour une opération de glisser
(automatique (vbautomatic ) ou manuel(vbmanual )).
tout contrôlevisible
DrawMode mode de dessin des traits (à choisir dans la liste). FormLinePictureBox
ShapeDrawStyle type de trait (à choisir dans la liste). FormPictureBox
DrawWidth largeur du trait de dessin. FormPictureBox
Drive unité de disque courante. DriveListBoxEnabled booléen indiquant si le contrôle peut être activé ou
non.tout contrôle
FillColor couleur de remplissage. FormPictureBoxShape
FillStyle motif de remplissage. FormGridPictureBox
8/18/2019 BR VB Concepts
33/91
B.ROCHE / IIRIAM 10/00 Page 33 / 92 BR_VB_concepts.doc
ShapeFixedCols nombre de colonnes fixes. GridFixedRaws nombre de lignes fixes. GridFont police de caractères active pour la méthode print . tout objet
pouvant contenir du texte
FontBold booléen indiquant si la police est en gras ou non. tout objetpouvant contenir du texte
FontItalic booléen indiquant si la police est en italique ounon.
tout objetpouvant contenir du texte
FontSize taille de la police. tout objetpouvant contenir du texte
FontStrikethru booléen indiquant si la police est barrée ou non. tout objetpouvant contenir du texte
FontTransparent booléen indiquant si le fond de la police esttransparent ou non.
tout objetpouvant contenir du texte
FontUnderline booléen indiquant si la police est soulignée ou non. tout objetpouvant contenir du texte
ForeColor couleur des caractères. tout objetpouvant contenir du texte
GridLines booléen indiquant si il y a affichage du quadrillageou non.
Grid
GridLineWidth largeur des traits de quadrillage. GridhDC Handle graphique attribué par Windows. Form
PictureBoxHeight hauteur d'un contrôle. tout contrôlehWnd Handle de la fenêtre attribué par Windows. contrôles listes
contrôles boutonsFormFrameGridH et VScrollBar MDIForm
PictureBoxTextBoxIcon fichier icône de la feuille. Form
MDIFormIndex numéro dans un groupe de contrôle. tout contrôle
visibleInterval périodicité de événement timer en millisecondes Timer KeyPreview booléen indiquant si la feuille doit recevoir les
événements clavier avant ses contrôle ou non.Form
Left coordonnée en X du bord supérieur gauche. tout contrôleList tableau des textes d'une liste. contrôles listes
ListCount nombre d'éléments d'une liste. contrôles listesListIndex indice de l'élément sélectionné dans une liste. contrôles listes
8/18/2019 BR VB Concepts
34/91
B.ROCHE / IIRIAM 10/00 Page 34 / 92 BR_VB_concepts.doc
Locked booléen indiquant si le contrôle est en lecture seuleou non.
Column (Grid)TextBox
Max valeur maximum de la propriété value. H et VScrollBar MaxButton booléen indiquant si le bouton d'agrandissement
est présent ou non.Form
MaxLenght nombre maximal de caractères acceptés TextBoxMDIChild booléen indiquant si la feuille est une feuille enfantdans une application MDI.
Form
Min valeur minimum de la propriété value. H et VScrollBar MinButton booléen indiquant si le bouton de réduction est
présent ou non.Form
MouseIcon image personnalisée pour le curseur de la souris. tout contrôlevisible
MousePointer image prédéfinie pour le pointeur de la sourislorsqu'il passe sur un contrôle.
tout contrôlevisible
MultiLine booléen indiquant si la saisie se fait sur plusieurslignes ou non.
TextBox
MultiSelect indique le mode de sélection multiple dans uneliste.
contrôles listes
Name identifie un objet. tout contrôleNewIndex indice de l'élément ajouté en dernier dans une liste. contrôles listesParent feuille où se trouve le contrôle. tout contrôlePasswordChar caractère utilisé pour l'affichage du texte ("" normal
ou un autre caractère).TextBox
Path chemin d'accès courant. DirListBoxFileListBox
Picture fichier du dessin de fond. FormImageMDIFormPictureBox
Row n° de la ligne de la cellule courante. GridDBGrid
RowHeight hauteur d'une ligne. GridDBGrid
Rows nombre de lignes. GridScrollBars booléen indiquant la présence de barres de
défilement ou non.Column (Grid)GridMDIFormTextBox
Selected tableau de booléens indiquant l'état de sélection dechaque élément d'une liste.
contrôles listes
SelEndCol n° de la colonne de la dernière cellule sélectionnée. GridDBGrid
SelEndRow n° de la ligne de la dernière cellule sélectionnée. GridSelLenght longueur de la sélection ComboBox
DBComboTextBox
SelStart position du premier caractère sélectionné. ComboBoxDBComboTextBox
SelStartRow n° de la ligne de la première cellule sélectionnée. Grid
8/18/2019 BR VB Concepts
35/91
B.ROCHE / IIRIAM 10/00 Page 35 / 92 BR_VB_concepts.doc
SelStartCol n° de la colonne de la première cellulesélectionnée.
GridDBGrid
SelText chaîne sélectionnée. ComboBoxDBComboTextBox
Shape figure géométrique (carré, rectangle...). ShapeSorted indicateur de tri ComboBoxListBox
Stretch booléen indiquant si il y a ajustement de l'imageaux dimensions du contrôle ou non.
Image
Style type de liste combinée (déroulante, simple,déroulante sans saisie).
ComboBoxDBCombo
TabIndex ordre d'activation des contrôle lors de l'utilisation dela touche tabulation.
tout contrôlepouvant avoir lefocus
TabStop booléen indiquant si il y a arrêt ou non sur lecontrôle lors de l'utilisation de la touche tabulation.
tout contrôlepouvant avoir lefocus
Tag chaîne de caractères disponible pour leconcepteur.
tout contrôle
Text contenu du champ de saisie. Column (Grid)contrôles listesGridDBGridTextBox
Top coordonnée en Y du bord supérieur gauche. tout contrôleValue valeur d'un contrôle. contrôles boutons
H et VScrollBar
Visible booléen indiquant si un contrôle est visible ou non. tout contrôlevisible !
Width largeur du contrôle. tout contrôleWindowState état de la fenêtre (normale, icône, plein écran). Form
MDIForm
V- LES METHODES D'UN OBJET
Une méthode correspond à un programme lié à un objet. C'est le programmeur qui écrit les
méthodes accessibles par un objet lorsqu'il crée une classe d'objet. Dans Visual Basic 4 Pro, iln'est pas possible d'écrire ou de modifier les méthodes d'une classe d'objets.Comme pour les propriétés, chaque objet pourra faire appel à certaines méthodes.
On pourra appeler une méthode dans un programme.
Ô Exemples :
FrmAccueil.Hide
La méthode Hide fermera la fenêtre citée (ici la fenêtre ayant pour nom FrmAccueil).
8/18/2019 BR VB Concepts
36/91
B.ROCHE / IIRIAM 10/00 Page 36 / 92 BR_VB_concepts.doc
FrmAccueil.show
affichera la feuille de nom FrmAccueil (si la propriété visible est égale à true).
LstListetitre.AddItem "Monsieur le Directeur"
On ajoutera la rubrique "Monsieur le Directeur" à l'objet LstListetitre qui correspond à une listedéroulante.
* Remarque :On utilise pour les méthodes la notation pointée, comme pour les propriétés.
VI- EVENEMENTS ET PROCEDURES D'EVENEMENT
Il existe plusieurs types d'événements, les plus simples à maîtriser et à comprendre sont lesévénements utilisateurs directs à savoir les actions sur le clavier ou la souris.
Par exemple, il se produira un événement click sur un bouton de commande lorsque l'utilisateur cliquera sur le bouton en question. De même, il se produira l'événement change sur une zone detexte lorsque l'utilisateur aura saisi un caractère sur cette zone de texte.
Lors d'une action sur le clavier ou la souris, Windows va générer des messages pour l'applicationconcernée (celle qui est active).
Par exemple, l'utilisateur va modifier la dimension d'une fenêtre en cliquant sur la bordure et endéplaçant la souris en maintenant le bouton gauche enfoncé. Le code exécutable qui fait quevous voyez le cadre suivre le curseur de la souris est du code Windows (contenu dans unensemble de DLL formant les APIs Windows). Il n'y a rien à écrire dans l'application VB. Par
contre, lorsque l'opération est terminée (relâchement du bouton gauche de la souris), Windowsgénère un ensemble d'événements (Resize, Paint...) à destination de l'application concernée.
Pour chaque objet, un ensemble d'événements est susceptible de se produire.Pour chacun de ces événements concernant un objet, il est possible d'écrire du code VB quis'exécutera lorsque l'événement se produira, il s'agit de la procédure événement.
Ô Exemple :Private Sub Command2_Click()calculette.HideForm1.Show
End Sub
8/18/2019 BR VB Concepts
37/91
B.ROCHE / IIRIAM 10/00 Page 37 / 92 BR_VB_concepts.doc
LES OBJETS PROPRES A UN PROJET
Les objets globaux sont des objets qui existent systématiquement. Ils correspondent à desfonctions du système d’exploitation tels que l’objet Screen, Printer ou Clipboard ou contiennent
des informations sur l’application elle-même.
I- L'OBJET APP
L'objet App permet de déterminer des informations relatives à l’application.
1. PROPRIETES ESSENTIELLES
EXEName Retourne le nom du fichier EXE en cours d’exécution ou le nom du projet.HelpFile Détermine le nom du fichier d’aide Windows d’une application.Hinstance Renvoie l’identificateur de l’instance de l’application.LogMode Détermine les modalités de journalisation.LogPath Renvoie le chemin et le nom du fichier de journalisation utilisé par la
méthode LogEvent.Path Détermine le chemin d’accès absolu en cours.PrevInstance Indique si une instance précédente (copie) de l’application fonctionne.StartMode Détermine si une application démarre en tant que projet autonome ou
comme serveur OLE Automation.TaskVisible Détermine si l’application apparaît dans la liste des tâches de Windows.Title Détermine le titre de l’application qui apparaît dans le gestionnaire de tâ-
ches de Windows.
ThreadID Renvoie l’identif icateur Win32 de la thread en cours d’exécution (utilisédans les appels à l’API Win32).
UnattendedApp Définit si une application sera exécutée sans interface utilisateur.
2. PROPRIETES LIEES A LA COMMUNICATION AVEC DES COMPOSANTS ACTIVEX (SERVEUROLE)
Lors de la communication de l’application avec un composant ActiveX, des boîtes de dialogue par défaut peuvent apparaître. Elles indiquent que le composant est occupé ou bien que la demandede l’application est en attente (c’est-à-dire en cours d’exécution).Les propriétés suivantes permettent de paramétrer les boîtes de dialogue devant apparaître :
OLERequestPendingMsgText Définit le texte de la boîte de dialogue. Demande en attente.OLERequestPendingMsgTitle Définit le titre de la boîte de dialogue. Demande en attente.
OLERequestPendingTimeOut Définit la durée au bout de laquelle la boîte de dialogue.Demande en attente apparaît.
OLEServerBusyMsgText Définit le texte de la boîte de dialogue Serveur occupé.OLEServerBusyMsgTitle Définit le titre de la boîte de dialogue. Serveur occupe.OLEServerBusyRaiseError Définît si une requête d’automation rejetée génère une erreur au
lieu d’afficher la boîte de dialogue. Serveur occupé.
OLEServerBusyTimeOut Définit la durée au bout de laquelle la boite de dialogue Serveur
8/18/2019 BR VB Concepts
38/91
B.ROCHE / IIRIAM 10/00 Page 38 / 92 BR_VB_concepts.doc
occupé apparaît.
3. METHODES
LogEvent Permet d’enregistrer un événement dans le journal de l’application.StartLogging Définit le journal et le mode de journaIisation.
II- SCREEN
Permet d’obtenir des informations sur l’écran et de contrôler le pointeur de la souris en dehorsdes feuilles de l’application exécutée.
1. PROPRIETES
ActiveControl Contrôle ayant le focus. ActiveForm Feuille ayant le focus.FontCount Nombre de polices de caractères de l’écran.Fonts Table des polices de caractères de l’écran.Height Hauteur de l’écran en twips (1440 twips/pouce, 567 twips/cm).MousePointer Définit l’apparence du pointeur de la souris.TwipsPerPixelX Indique le nombre pixel en abscisse.TwipsPerPixelY Indique le nombre pixel en ordonnée.Width Largeur de l’écran en twips.
Exemple
III- PRINTER / PRINTERS(COLLECTION)
Permet de réaliser des impressions contrôlées par l’application. L’objet Printer peut êtreconsidéré comme une page de l’imprimante sur laquelle on peut placer du texte et desgraphismes (comme dans une feuille).
1. PROPRIETES
ColorMode Détermine si l’impression sur une imprimante couleur est en couleurs oumonochrome.
Copies Détermine le nombre d’exemplaires à imprimer.
Count Renvoie le nombre d’objets Printer (imprimante) de la collection Printers.DeviceName Renvoie le nom du périphérique pris en charge par un pilote donné.DriverName Renvoie le nom du pilote associé à un objet Printer (imprimante).Duplex Détermine si une page est imprimée des deux côtés.FONTCOUNT Nombre de polices de caractères de l’imprimante.Fonts Table des polices de caractères de l’imprimante.Height Hauteur d’une page de l’imprimante en twips.Orientation Indique si les documents sont imprimés en orientation portrait ou paysage.Page Numéro de la page courante.PaperBin Indique le bac d’alimentation par défaut de l’imprimante.PaperSize Indique la taille du papier.
Port Détermine le nom du port de l’imprimante.PrintQuality Détermine la qualité d’impression.TrackDefault Détermine si l’objet Printer désigne toujours la même imprimante.
8/18/2019 BR VB Concepts
39/91
B.ROCHE / IIRIAM 10/00 Page 39 / 92 BR_VB_concepts.doc
TwipsPerPixelY Indique le nombre de twips pour un pixel en abscisse.TwipsPerPixelX Indique le nombre de twips pour un pixel en ordonnée.Width Largeur d’une page de l’imprimante en twips.Zoom Détermine le pourcentage d’agrandissement ou de réduction des données
imprimées.
2. METHODES
EndDoc Met fin à l’impression d’un document et l’envoie au périphérique d’impression ou auspooler.
KillDoc Arrête un travail d’impression.NewPage Met fin à la page en cours et passe à la suivante.PaintPicture Dessine le contenu d’un fichier graphique (.BMP, .WMF, .ICO, .EMF ou .DIB) sur
un objet Printer.
IV- CLIPBOARD
Permet de manipuler le contenu du Presse-papiers.
1. METHODES
Clear Efface le contenu du presse-papiers.GetData Renvoie une image depuis le presse-papiers.GetFormat Indique si le format des données contenues dans le presse-
papiers correspond au format spécifié.GetText Renvoie un texte depuis le presse-papiers.SetData Place une image dans le presse-papiers en précisant le
format.
V- DEBUG
Permet d’envoyer les données de sortie dans la fenêtre de débogage pendant l’exécution.
1. METHODES
Assert Suspend l’exécution du programme et affiche la ligne où cette méthode apparaît si
la valeur booléenne passée comme argument est à False. Ceci permet deprovoquer des arrêts conditionnels lors de l’exécution du programme mais en modedéveloppement seulement, car les lignes de code contenant cette méthode ne sontpas prises en compte par le compilateur.
Print Envoie des données dans la fenêtrede débogage.
8/18/2019 BR VB Concepts
40/91
B.ROCHE / IIRIAM 10/00 Page 40 / 92 BR_VB_concepts.doc
LES FEUILLES VISUAL BASIC
I- PRESENTATION
1. DEFINITION
La feuille VB représente l'interface avec l'utilisateur, dans quasiment tous les projets.Un projet peut comporter de nombreuses feuilles.
Une feuille peut jouer un rôle particulier, c'est la feuille de démarrage. C'est elle qui apparaîtralors du lancement du projet, si toutefois elle a été déclarée comme fenêtre de démarrage dans lemenu outil/option/projet . On peut aussi démarrer un projet par la procédure main. Il suffit de lesignaler dans le même menu.
Les principales propriétés sur les objets ont été décrites dans le chapitre précédent, il fautmaintenant voir les méthodes et événements.
2. FENETRE MODALE OU NON MODALE
Une fenêtre A est dite modale si elle doit être fermée avant d'afficher une autre fenêtre Bprécédemment chargée.Toutefois, une fenêtre modale A peut ouvrir une autre fenêtre C, à condition que celle-ci soit elleaussi modale.
Fenêtre B non modale
Fenêtre A modale Fenêtre A modale
Fenêtre A modale
Fenêtre A modale
Fenêtre B non modale
Fenêtre C modale
Non Possible
Possible
La plupart des feuilles seront modales. Toutes les feuilles d'information, de message d'erreur oude confirmation seront obligatoirement modales, puisque le programme a besoin de connaître laréponse du message pour pouvoir continuer à travailler.
8/18/2019 BR VB Concepts
41/91
B.ROCHE / IIRIAM 10/00 Page 41 / 92 BR_VB_concepts.doc
II- METHODES ET EVENEMENTS D'UNE FEUILLE
1. LES METHODES
Les méthodes les plus courantes sont les suivantes :
Méthode Description
Show Rend visible une feuille à l'écran. Si la feuille n'est pasprésente en mémoire, elle est chargée automatiquement.
Hide Cache une feuille tout en la gardant en mémoire
Move Déplace et redimensionne la feuille selon les coordonnéesfournies en paramètre.
PopupMenu Affiche le menu contextuel spécifié
Printform Imprime la feuille
SetFocus Donne le focus à la feuille spécifiée, à condition que la feuillesoit chargée en mémoire.
Ô Exemple :FrmCalcul.Show 1
Cette méthode affichera (après avoir éventuellement chargé) la feuille FrmCalcul. Le 1 signifieque la fenêtre est modale. Par défaut une fenêtre est non modale (valeur 0).
2. LES EVENEMENTS
Les événements présentés ici concernent uniquement la feuille et non les contrôles situés sur lafeuille.Le principaux événement sur une feuille sont les suivants :
Evénement Description
Load Il se produit au moment ou la feuille est chargée en mémoire,par l'instruction load. La feuille ne sera pas forcément affichée.
Unload Il se produit au moment ou la feuille est déchargée de lamémoire, par l'instruction unload.
Activate Il se produit lorsque la feuille devient active (quand on luidonne le focus), par les méthodes Show ou SetFocus.
Deactivate Il se produit lorsque lorsque la feuille n'est plus la feuille active.(déplacement du focus sur une autre feuille et nondéchargement de la feuille).
Click Il se produit lorsque l'utilisateur clique sur un bouton de lasouris et le relâche.
DblClick Idem, mais double cilck
Resize Il se produit lorsque l'utilisateur redimensionne la feuille.
8/18/2019 BR VB Concepts
42/91
B.ROCHE / IIRIAM 10/00 Page 42 / 92 BR_VB_concepts.doc
Ô Exemple :load FrmCalcul
Cette instruction chargera en mémoire la feuille FrmCalcul, sans toutefois l'afficher , etdéclenchera la procédure d'événement Form_Load().
III- LA VIE D'UNE FEUILLE DANS UN PROJET
La manipulation des feuilles nécessite une bonne connaissance des événements de la vie d'unefeuille. Les scénarios suivants présentent l'enchaînement des événements d'une feuille, leur signification et leur usage.
1. AFFICHAGE D'UNE FEUILLE QUI N' A JAMAIS ETE EXPLOITEE
Le terme feuille non exploitée signifie :Ø Aucune variable publique déclarée dans cette feuille n'a déjà été sollicitée par une
procédure extérieure.Ø Aucune propriété de la feuille ou de ses contrôles n'a été sollicitée par une procédureextérieure.Ø La feuille n'a jamais été affichée.
Lorsque cette feuille est affichée suite à une instruction "NomFeuille.show", les événementssuivants se produisent dans cet ordre :
À Form_Initialize : Signale que les variables publiques et privées déclarées dans lafeuille sont chargées en mémoire. On profite de cet événement pour attribuer desvaleurs à des variables dès leur création.
Á Form_Load : Signale que les propriétés de la feuille et de ses contrôles sont chargéesen mémoire. On en profite pour paramétrer dynamiquement des objets avant leur affichage. Attention, la feuille n'est pas encore présente à l'écran. Si on utilise cetévénement pour coder des méthodes graphiques comme .line, .circle, etc..., aucuneerreur ne se produira mais les méthodes n'auront pas d'effet.
 Form_Resize : Signale que la fenêtre est redimensionnée. La fenêtre n'est cependantpas encore visible. On peut en profiter pour attribuer une dimension précise à lafenêtre.
à Form_Paint : Signale un rafraîchissement du contenu graphique de la fenêtre. Elle est
visible à l'écran. On peut alors coder des méthodes graphiques.
2. M ASQUAGE D'UNE FEUILLE PRESENTE A L'ECRAN :
Si la feuille est affichée, ses variables et propriétés sont en mémoire. Masquer une feuille par l'emploi de sa méthode .hide entraine l'événement Form_DeActivate. Les variables et propriétéssont toujours en mémoire.
Déchargement d'une feuille avec l'instruction Unload :Ceci entraîne particulièrement deux événements :
À Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) : Signale que ledéchargement a été demandé. Il permet grâce à l'argument UnloadMode de savoir
8/18/2019 BR VB Concepts
43/91
B.ROCHE / IIRIAM 10/00 Page 43 / 92 BR_VB_concepts.doc
quelle est l'origine du déchargement (Windows, Feuille mère MDI, Instruction Unload,Utilisation des cases "système"). L'argument Cancel fonctionne comme un booléen. Enplaçant sa valeur sur True dans la procédure événementielle, le déchargement de lafeuille est annulé.
Á Form_Unload(Cancel As Integer) : signale le déchargement de la feuille. Peut êtreannulé par l'emploi de l'argument Cancel (Cancel=True). Sans annulation, l'événementUnload signifie le déchargement des propriétés, mais pas celui des variables quirestent chargées. Les variables publique, privées, statiques déclarées dans une feuillesurvivent donc à la fermeture de celle-ci.
3. DESTRUCTION DE L'INSTANCE D'UNE FEUILLE:
Pour obtenir une destruction définitive de toute référence à une feuille, on utilise l'instructionsuivante :
Set NomFeui l le = Nothing
l'événement Form_Terminate est activé. Il signale que les variables déclarées dans la feuillesont détruites. A utiliser pour éventuellement archiver des valeurs.
4. M ANIPULATION D'UNE VARIABLE D'UNE FEUILLE NON EXPLOITEE:
Si une procédure accède en consultation ou modification à une variable déclarée dans une feuillequi n'a encore jamais été exploitée d'une quelconque manière que ce soit, l'événementForm_Initialize se produira et toutes les déclarations de la feuille seront réalisées.
5. M ANIPULATION D'UNE PROPRIETE D'UNE FEUILLE NON EXPLOITEE:
Si une procédure accède en consultation ou modification à une propriété d'une feuille ou de ses
contrôles qui n'a encore jamais été exploitée d'une quelconque manière que ce soit, lesévénements Form_Initialize et Form_Load se produiront.Les variables.de la feuille seront donc chargées, puis les propriétés.Il n'est donc pas nécessaire qu'une feuille soit chargée par l'instruction LOAD pour pouvoir utiliser ses variables ou propriétés depuis une procédure extérieure.
IV- LES BOITES DE DIALOGUE
Les boîtes de dialogue sont des feuilles prédéfinies par Visual Basic et qui permettent d'afficher
des messages d'erreur, des messages à l'attention de l'utilisateur, de proposer des choix quiinfluenceront la suite du programme.
Deux types de boîtes de dialogue sont possibles :
Ô les MsgBox pour les messagesÔ les InputBox pour la saisie d'une valeur
1. LES BOITES DE DIALOGUE DE TYPE MSGBOX
L'affichage d'une boîte de dialogue de type MsgBox peut se faire soit par l'instruction MsgBox,
soit par la fonction MsgBox.
8/18/2019 BR VB Concepts
44/91
B.ROCHE / IIRIAM 10/00 Page 44 / 92 BR_VB_concepts.doc
Le principe est le même, sauf qu'avec la fonction MsgBox, il sera possible de savoir sur quelbouton l'utilisateur a appuyé, et ainsi de conditionner la suite du programme.
Ô Exemple : L'xemple ci-dessous montre une procédure qui utilise à la fois l'instruction MsgBox et la fonction.On notera que les paramètres ne sont pas les mêmes).
Titre
Prompt
8/18/2019 BR VB Concepts
45/91
B.ROCHE / IIRIAM 10/00 Page 45 / 92 BR_VB_concepts.doc
Private Sub Form_Load()Dim reponse As Integer Form1.Showreponse = MsgBox("ceci est un test de boîte de dialogue", 35, "Bienvenue")Select Case reponse Case 6 MsgBox ("vous avez appuyé sur OUI") Case 7 MsgBox ("vous avez appuyé sur NON") Case 2 MsgBox ("vous avez appuyé sur ANNULER")End SelectEnd Sub
* Remarque : avec la saisie assistée, on aurait pu se dispenser de calculer la valeur de lavariable boutons, en cliquant successivement sur les styles de boutons proposés par l'éditeur. Ainsi la commande devient :
reponse = MsgBox("Ceci est un test de boîte de dialogue", vbDefaultButton1 + vbQuestion +vbYesNoCancel, "Bienvenue")
Syntaxe :
MsgBox(prompt[, boutons][, titre][, helpfile, context])
Seul le prompt est précisé pour l'instruction. Helpfile et Context sont rarement utilisés.
Prompt : il s'agit du texte du message. Il ne doit pas excéder 1024 caractères . Le passage à la
ligne sera automatique, à moins d'introduire la caractère de code ASCII 13 pour forcer le passageà la ligne à l'endroit souhaité.
Boutons : C'est une valeur numérique égale à la somme des 4 indications suivantes :* sur les boutons
Code types de boutons0 OK1 OK et Annuler 2 Abandonner, répéter et Ignorer 3 Oui, Non et Annuler 4 Oui et Non5 Répéter et Annuler
* sur l'icôneCode types d'icône
16 Message critique "X"32 Confirmation "?"48 Avertissement "!"64 Information "i"
8/18/2019 BR VB Concepts
46/91
B.ROCHE / IIRIAM 10/00 Page 46 / 92 BR_VB_concepts.doc
* sur le bouton par défautCode bouton par défaut
0 Premier 256 Deuxième512 Troisième
* sur la modalité de la boîteCode modalité
0 La boîte est modale et il est possible de passer à uneautre application par ALT + TAB ou bien ALT + ESC
1 La boîte est modale et il est impossible de passer àune autre application par ALT + TAB ou bien ALT + ESC
On peut tester, avec la fonction MsgBox quel bouton a été activé par l'utilisateur.Les valeurs de retour sont les suivantes :
Code bouton sélectionné1 OK2 Annuler 3 Abandonner 4 Répéter 5 Ignorer 6 Oui7 Non
Titre : C'est le texte affiché dans le bandeau de la boîte de dialogue (son titre).
2. LES BOITES DE DIALOGUE DE TYPE INPUTBOX
L'affichage d'une boîte de dialogue de type InputBox ne peut se faire que par l'instermédiaire dela fonction InputBox.
Syntaxe
InputBox(prompt[, titre][, défaut][, xosx][, ypos][, helpfile, context])
Ici aussi, seuls Prompt , titre et défaut seront généralement utilisés.
Prompt et t i t re : même signification que pour une MsgBox.
Défaut : Valeur par défaut qui s'affichera dans la boîte de dialogue. Cet argument n'est pasobligatoire !
Dim reponse As String...
reponse = InputBox("Entrer le titre du client", "Saisie du client", "Monsieur")
8/18/2019 BR VB Concepts
47/91
B.ROCHE / IIRIAM 10/00 Page 47 / 92 BR_VB_concepts.doc
* Remarques :Ô Le type retourné par la fonction est du chaîne. Attention donc à éventuellement convertir la
valeur saisie.
Ô Si l'utilisateur appuie sur le bouton Annuler , la fonction retournera une chaîne vide.
8/18/2019 BR VB Concepts
48/91
B.ROCHE / IIRIAM 10/00 Page 48 / 92 BR_VB_concepts.doc
LES CONTROLES
Les principaux contrôles offerts par Visual Basic sont consignés dans la boîte à outils quiapparaît dans le projet.
On étudiera dans ce chapitre les principaux.
I- LES CONTROLES STANDARDS
Label
Cadre (frame)Case à cocher
Liste modifiable (combo box)
Minuteriel
Liste de répertoires
Forme (shape)
Dessin
Contrôleur OLE
Barre défilement horizontale
Liste modifiable dépendante accès aux données
SStab
Zone d'image
Texte (textBox)
Bouton de commandeCase d'option
Barre de défilement
Zone de liste d'unités
Zone de liste de fichiers
Ligne (line)
Donnée (data)
Zone de liste
Liste dépendante (DBList)
Dialogue commun
Grille dépendante(DBGrid)
Pointeur
1. LE POINTEUR
Permet de déplacer et de redimensionner des feuilles et des contrôles.(Il ne s'agit pas d'un contrôle.)
2. LE CONTROLE ETIQUETTE (LABEL)
Affiche du texte que l'utilisateur ne peut pas modifier et avec lequel il ne peut pasdialoguer. Ce contrôle ne peut recevoir le focusIl pourra être modifié par la propriété caption.
8/18/2019 BR VB Concepts
49/91
B.ROCHE / IIRIAM 10/00 Page 49 / 92 BR_VB_concepts.doc
On utilisera ce contrôle comme étiquette en regard d'un champ de saisie, comme titre, pour placer un commentaire ou afficher une donnée non modifiable.
Propriétés courantes Valeurs Description Alignement 0
12
texte aligné à gauchenombre aligné à droitecentré
Caption Texte Texte qui sera affiché dans le contrôleEnabled True ou False Affiche en grisé le contrôle si la valeur est
False. Le contrôle ne pourra réagir auxévénements générés par l'utilisateur
FontBold True ou False GrasFontItalic True ou False ItaliqueFontUnderline True ou False SoulignéFontName Police de caractèresFontSize Taille de la police de caractèresName Nom du contrôle (ne pas confondre avec le
contenu)Visible True ou False Visible sur la feuille ou nonDataSource (voir la paragraphe accès aux données)DataField (voir la paragraphe accès aux données)
* RemarquesÔ D'autres propriétés sont disponibles, qui se rapportent à la présentation du contrôle
(couleur, bordure,...), mais il est conseillé de se rapporter à la norme Windows et de s'yconformer.
3. LE CONTROLE ZONE DE TEXTE (TEXTBOX)
Fournit une zone pour taper ou afficher du texte. La différence avec un label est quel'utilisateur a la possibilité de modifier le contenu par l'intermédiaire du clavier, après avoir cliquésur le champ.
Propriétés courantes Valeurs Description AlignementEnabledFontBoldFontItalicFontNameFontSizeFontUnderlineNameVisibleDataSourceDataFieldIndex Numéro qui identifie de manière unique un
contrôle dans un groupe de contrôles.MaxLengh Nombre Nombre maximal de caractères pouvant être
saisisMultiline True ou False Autorise ou pas plusieurs lignes dans une zone
8/18/2019 BR VB Concepts
50/91
B.ROCHE / IIRIAM 10/00 Page 50 / 92 BR_VB_concepts.doc
Propriétés courantes Valeurs Descriptionde texte.
PasswordChar un caractère Caractère affiché dans un mot de passeScrollBars 0
12
3
pas de barre de défilementBarre de défilement horizontaleBarre de défilement vertical
Barres de défilement horizontale et verticale.TabIndex nombre numéro d'ordre des tabulations dans sa feuillemère.
TabStop True ou False Arrêt ou pas sur la zone de texte en cas detabulation
Text Texte qui sera affiché dans le contrôle.
* RemarquesÔ D'autres propriétés sont disponibles, qui se rapportent à la présentation du contrôle
(couleur, bordure,...), mais il est conseillé de se rapporter à la norme Windows et de s'yconformer.
Ô Il est possible de se positionner directement sur un champ de saisie en utilisant le etcommercial dans la propriété caption du label précédent le champ de saisie dansl'ordre des tabulations. Ce caractère sera alors souligné et on pourra se rendredirectement sur le champ de saisie par le raccourci clavier ALT + caractère souligné
4. BOUTON DE COMMANDE (COMMANDBUTTON)
Exécute une commande ou une action lorsque l’utilisateur le choisit.
Propriétés courantes Valeurs DescriptionCaptionEnabledDataChangedDataFieldDataSourceFontBoldFontItalicFontNameFontSizeFontUnderlineIndexNameTabIndexTabStopVisibleCancel True ou False Si la valeur est à true, la touche Echap équivaut
à un click sur ce bouton.Default True ou False Si la valeur est à true, la touche Entrée
équivaut à un click sur ce bouton.
8/18/2019 BR VB Concepts
51/91
B.ROCHE / IIRIAM 10/00 Page 51 / 92 BR_VB_concepts.doc
* RemarquesÔ D'autres propriétés sont disponibles, qui se rapportent à la présentation du contrôle
(couleur, bordure,...), mais il est conseillé de ne pas abuser de ces propriétés et delaisser les propriétés par défaut.
Ô On peut mettre, à la place du texte (propriété caption), une image ou une animation.Cela peut parfois être utile, mais attention aux abus et au côté gadget qui risque delasse l'utilisateur.
Ô Il est possible de faire précéder un caractère de la propriété caption d'un et commercial (&). Ce caractère sera alors souligné et on pourra sélectionner le bouton de commandepar le raccourci clavier ALT + caractère souligné (comme pour les menus).
Ô Il est conseillé d'utiliser la même valeur pour le nom du contrôle (propriété Name) etpour son contenu (propriété caption). Si on utilise un préfixe on fera précéder le nomdu préfixe (ex : Quitter / CmdQuitter).
Ô la propriété Cancel égale à True est généralement attribuée à un bouton du type Annuler et la propriété Default est généralement attribuée à un bouton du type OK
5. CASE A COCHER (CHECKBOX)
Affiche une option Vrai/Faux ou Oui/Non.Le nombre de cases à cocher que l'on peut activer simultanément est illimité.Le texte associé fait partie du contrôle. Ce n'est donc pas un label.
Propriétés courantes Valeurs Description Alignment 0 ou 1CaptionEnabledFontBoldFontItalicFontNameFontSizeFontUnderlineIndex
NameTabIndexTabStopVisibleValue 0
12
La case n'est pas cochéeLa case est cochéeLa case est grisée
* RemarqueÔ Les propriétés DataSource, DataField et DataChanged seront vues dans le paragraphe
accès aux données.
8/18/2019 BR VB Concepts
52/91
B.ROCHE / IIRIAM 10/00 Page
Recommended