SlideShare une entreprise Scribd logo

Cours Visual Basic.NET

Aziz Darouichi
Aziz Darouichi
Aziz DarouichiAssociate Professor à FST Marrakech

Un cours d'initiation en Visual Basic. Merci de me faire part de vos remarques et suggestions pour le parfaire et le perfectionner via mon email: pr.azizdarouichi@gmail.com

Cours Visual Basic.NET

1  sur  269
Télécharger pour lire hors ligne
Visual Basic.NET
1
Aziz DAROUICHI
UCA-Marrakech
mailto: pr.azizdarouich@gmail.com
Introduction
Pourquoi Visual Basic
L’un des langages de programmation les plus performants
et les plus simples à utiliser.
Créé par John G. Kemeny et Thomas E. Kurtz en 1963 et devient
vite un langage populaire.
2
Introduction
Pourquoi Visual Basic
Adapté sur PC par Bill Gates, au milieu des années 70.
La simplicité du langage VB explique son choix pour:
le développement d'interfaces.
Développement rapide d'applications
Accès aux bases de données
…
3
Introduction
Pourquoi Visual Basic
Les huit principes de conception du BASIC étaient :
Être facile d'utilisation pour les débutants (Beginner) ;
Être un langage généraliste (All-purpose) ;
Autoriser l'ajout de fonctionnalités pour les experts (tout
en gardant le langage simple pour les débutants) ;
Être interactif ;
4
Introduction
Pourquoi Visual Basic
Fournir des messages d'erreur clairs et conviviaux ;
Avoir un délai de réaction faible pour les petits
programmes ;
Ne pas nécessiter la compréhension du matériel de
l'ordinateur ;
Isoler l'utilisateur du système d'exploitation.
5
Introduction
Les dessous de Visual Basic
Microsoft a construit Visual Basic sur la base d’un langage de
programmation pour débutants : le BASIC.
6

Recommandé

Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1vangogue
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Méthode d'Agile: Scrum
Méthode d'Agile: ScrumMéthode d'Agile: Scrum
Méthode d'Agile: ScrumChaymaMghazli
 

Contenu connexe

Tendances

gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux fehmi arbi
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Yasmine Lachheb
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisationNassim Amine
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étudeDonia Hammami
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesTahani RIAHI
 

Tendances (20)

PROJET JAVA BD MySQL
PROJET JAVA BD MySQLPROJET JAVA BD MySQL
PROJET JAVA BD MySQL
 
Simplex rapport final1
Simplex rapport final1Simplex rapport final1
Simplex rapport final1
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 
Cours compilation
Cours compilationCours compilation
Cours compilation
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Diagramme d'activité en UML
Diagramme d'activité en UMLDiagramme d'activité en UML
Diagramme d'activité en UML
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
2 TUP
2 TUP2 TUP
2 TUP
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'Etudes
 

Similaire à Cours Visual Basic.NET

Newlook Suite - for IBM partners - FR
Newlook Suite - for IBM partners - FRNewlook Suite - for IBM partners - FR
Newlook Suite - for IBM partners - FRFresche Solutions
 
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Microsoft
 
Introduction à App Inventor
Introduction à App InventorIntroduction à App Inventor
Introduction à App InventorTeen-Code
 
La plateforme de développement Microsoft pour les nuls
La plateforme de développement Microsoft pour les nulsLa plateforme de développement Microsoft pour les nuls
La plateforme de développement Microsoft pour les nulsMicrosoft
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015FactoVia
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksJean-Sébastien Dupuy
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)Sanaa Guissar
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1DIALLO Boubacar
 
Développement d'applications mobiles.. Environnement de programmation visuelle
Développement d'applications mobiles.. Environnement de programmation visuelleDéveloppement d'applications mobiles.. Environnement de programmation visuelle
Développement d'applications mobiles.. Environnement de programmation visuelleREGIONAL ACADEMY OF EDUCATION AND TRAINING
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfmed_univ78
 
Composants d-une application Android.ppt
Composants d-une application Android.pptComposants d-une application Android.ppt
Composants d-une application Android.pptmahamaalej3
 
Programation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxProgramation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxDanielATCHADE
 
PRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxPRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxAleskaVargas2
 
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Philippe Beraud
 

Similaire à Cours Visual Basic.NET (20)

Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
.NET DotNet CF - 1
.NET DotNet CF - 1.NET DotNet CF - 1
.NET DotNet CF - 1
 
Newlook Suite - for IBM partners - FR
Newlook Suite - for IBM partners - FRNewlook Suite - for IBM partners - FR
Newlook Suite - for IBM partners - FR
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Windev
WindevWindev
Windev
 
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
 
Introduction à App Inventor
Introduction à App InventorIntroduction à App Inventor
Introduction à App Inventor
 
La plateforme de développement Microsoft pour les nuls
La plateforme de développement Microsoft pour les nulsLa plateforme de développement Microsoft pour les nuls
La plateforme de développement Microsoft pour les nuls
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer Talks
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
 
Développement d'applications mobiles.. Environnement de programmation visuelle
Développement d'applications mobiles.. Environnement de programmation visuelleDéveloppement d'applications mobiles.. Environnement de programmation visuelle
Développement d'applications mobiles.. Environnement de programmation visuelle
 
Hello droid
Hello droidHello droid
Hello droid
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
Composants d-une application Android.ppt
Composants d-une application Android.pptComposants d-une application Android.ppt
Composants d-une application Android.ppt
 
Programation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxProgramation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptx
 
PRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxPRESENTATION_webclient.pptx
PRESENTATION_webclient.pptx
 
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
 

Plus de Aziz Darouichi

Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en JavaAziz Darouichi
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaAziz Darouichi
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaAziz Darouichi
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Aziz Darouichi
 
Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Aziz Darouichi
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateursAziz Darouichi
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 

Plus de Aziz Darouichi (16)

Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en Java
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019
 
Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019
 
Partie2BI-DW2019
Partie2BI-DW2019Partie2BI-DW2019
Partie2BI-DW2019
 
Partie1BI-DW2019
Partie1BI-DW2019Partie1BI-DW2019
Partie1BI-DW2019
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateurs
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
Chapitre3 tableauxcpp
Chapitre3 tableauxcppChapitre3 tableauxcpp
Chapitre3 tableauxcpp
 
Chap2fonctionscpp
Chap2fonctionscppChap2fonctionscpp
Chap2fonctionscpp
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 

Dernier

Shelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave ManualShelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave ManualDomotica daVinci
 
Wave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdfWave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdfDomotica daVinci
 
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfConteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfHamida Rebai Trabelsi
 
JDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdfJDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdfAlexandre Contat
 
Débrief CES 2024 by Niji
Débrief CES 2024 by NijiDébrief CES 2024 by Niji
Débrief CES 2024 by NijiNiji
 
Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)benj_2
 

Dernier (6)

Shelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave ManualShelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave Manual
 
Wave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdfWave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdf
 
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfConteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
 
JDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdfJDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdf
 
Débrief CES 2024 by Niji
Débrief CES 2024 by NijiDébrief CES 2024 by Niji
Débrief CES 2024 by Niji
 
Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)
 

Cours Visual Basic.NET

  • 2. Introduction Pourquoi Visual Basic L’un des langages de programmation les plus performants et les plus simples à utiliser. Créé par John G. Kemeny et Thomas E. Kurtz en 1963 et devient vite un langage populaire. 2
  • 3. Introduction Pourquoi Visual Basic Adapté sur PC par Bill Gates, au milieu des années 70. La simplicité du langage VB explique son choix pour: le développement d'interfaces. Développement rapide d'applications Accès aux bases de données … 3
  • 4. Introduction Pourquoi Visual Basic Les huit principes de conception du BASIC étaient : Être facile d'utilisation pour les débutants (Beginner) ; Être un langage généraliste (All-purpose) ; Autoriser l'ajout de fonctionnalités pour les experts (tout en gardant le langage simple pour les débutants) ; Être interactif ; 4
  • 5. Introduction Pourquoi Visual Basic Fournir des messages d'erreur clairs et conviviaux ; Avoir un délai de réaction faible pour les petits programmes ; Ne pas nécessiter la compréhension du matériel de l'ordinateur ; Isoler l'utilisateur du système d'exploitation. 5
  • 6. Introduction Les dessous de Visual Basic Microsoft a construit Visual Basic sur la base d’un langage de programmation pour débutants : le BASIC. 6
  • 7. Introduction Les dessous de Visual Basic Définition BASIC = Beginner’s All-purpose Symbolic Instruction Code (code d’instructions symboliques multifonction pour débutants). 7
  • 8. Introduction Exemple d‘un programme BASIC 10 REM Ce programme calcule et affiche les 10 premiers carrés. 20 CLS 30 PRINT "Carrés de 1 à 10" 40 PRINT "Valeur", "Carré" 50 FOR i = 1 TO 10 60 PRINT i, (i*i) 70 NEXT i 80 PRINT 90 END 8
  • 9. Introduction Exemple d‘un programme BASIC Sortie du programme Carrés de 1 à 10 Valeur Carré 1 1 2 4 3 9 4 16 5 25 6 36 7 49 8 64 9 81 10 100 9
  • 10. Introduction Les dessous de Visual Basic Définition Un langage de programmation est un ensemble de commandes et d’options de commandes (les arguments) par lequel on envoie des instructions à l’ordinateur. Un langage de programmation doit être plus précis qu’un langage naturel. 10
  • 11. Introduction Les dessous de Visual Basic Multiples avatars:  MBASIC (pour Microsoft BASIC)  GWBASIC  BASICA (pour BASIC Avancé)  Quick-BASIC  Qbasic. 11
  • 12. Introduction Les versions de Visual Basic • Visual Basic 1.0: sortie en mai 1991 • Visual Basic 6.0: sortie en 1998 12
  • 13. Introduction Exemples des langages dérivés  Visual Basic pour Application (VBA): -Disponible avec MS Office (Excel, Access, Word,...) Visual Basic .NET: -Le successeur désigné de Microsoft à Visual Basic 6.0, et fait partie de la plate-forme Microsoft .NET. 13
  • 14. Introduction  Environnement de développement Visual Studio C’est une suite logicielle qui rassemble Visual Basic, Visual C++, Visual C#,… Microsoft nous propose généreusement une version « Express » gratuite de chaque logiciel de cette suite, Visual Studio Express. Visual Basic 2010 Express Télécharger Visual Basic Express edition sur le site de Microsoft, cette version est gratuite et sans limitation de temps. 14
  • 15. Introduction Langage interprété vs langage compilé Les langages interprétés, le programmeur peut exécuter immédiatement son programme, voir sans délais les résultats et les éventuelles erreurs. Les langages interprétés, vous permettent d’exécuter le programme à tout moment, alors que vous l’écrivez. 15
  • 16. Introduction Langage interprété vs langage compilé Les langages compilés s’exécutent plus rapidement et sont mieux appropriés au développement d’applications commerciales, mais requièrent beaucoup plus d’efforts et d’apprentissage. 16
  • 17. Introduction Langage interprété vs langage compilé Les langages compilés nécessitent des étapes supplémentaires, la compilation et la liaison, avant que le programmeur ne puisse exécuter son œuvre. La compilation transpose le programme du langage dans lequel il a été écrit au langage natif de l’ordinateur. 17
  • 18. Introduction Définitions Programme: Le programme, écrit dans un langage de programmation, est un jeu d’instructions qui dirige l’ordinateur. 18
  • 20. Introduction Définitions Code: Le code est un autre mot servant à désigner l’ensemble d’instructions du programme. 20
  • 21. Introduction Définitions Bogue: Un bogue (de l’anglais bug) est une erreur dans le programme. Si votre programme ne s’exécute pas correctement, il vous faudra le déboguer, c’est-à-dire éliminer une à une toutes les erreurs. 21
  • 22. Introduction Définitions Utilisateur: L’utilisateur est celui qui utilise le programme. Vous, le programmeur qui écrit les programmes, êtes aussi utilisateur de vos propres programmes et de ceux qu’écrivent les autres. 22
  • 23. Introduction Editions de Visual Basic Visual Basic Edition Entreprise Créée pour la programmation en équipe et les environnements client-serveur, où le traitement et les données sont distribués à plusieurs ordinateurs. 23
  • 24. Introduction Editions de Visual Basic Visual Basic Edition Professionnelle Conçue pour les programmeurs professionnels qui souhaitent exploiter pleinement l’environnement de programmation Visual Basic. 24
  • 25. Introduction Editions de Visual Basic Visual Basic Edition Initiation L’essentiel de Visual Basic, avec un jeu complémentaire d’outils standards-tout ce dont vous avez besoin pour vous lancer dans la programmation Visual Basic. 25
  • 26. Introduction Ecran de programmation Visual Basic 2010 26
  • 27. Introduction La nature visuelle de Visual Basic Visual Basic.NETest plus qu’un simple langage de programmation. Le secret de Visual Basic tient dans son nom : Visual. Dans les systèmes d’exploitation Windows d’aujourd’hui, les programmes doivent être capables d’interagir graphiquement avec l’écran, le clavier, la souris et l’imprimante. 27
  • 28. Introduction Remarque importante Souvenez-vous : vous ne pouvez simplement dire à l’ordinateur ce qu’il doit faire et attendre qu’il fasse le boulot pour vous. L’ordinateur n’est qu’une machine stupide et sans initiative ; il a besoin pour travailler que vous lui fournissiez une liste détaillée d’instructions. 28
  • 29. Introduction Remarque importante (suite) Vous lui communiquez ces instructions sous la forme d’un programme. Un programme Visual Basic est constitué de codes et d’éléments visuels qui définissent l’aspect de l’écran et les contrôles Windows avec lesquels l’utilisateur interagit lorsqu’il lance le programme. 29
  • 30. Introduction Le processus de programmation Étape 1: Déterminer ce que votre application devra faire en créant un schéma général (partie conception). Étape 2: Définir les caractéristiques ou propriétés des éléments visuels qui composent l’interface, les écrans et les menus avec lesquels l’utilisateur interagira (partie visuelle). 30
  • 31. Introduction Le processus de programmation Étape 3: Ecrire le code de programmation en Visual Basic pour un ou plusieurs éléments de l’interface en fonction des besoins, (partie codage). 31
  • 32. Introduction Le processus de programmation Étape 4: Tester l’application afin de déceler et d’éliminer tous les bogues (partie débogage). Étape 5: Une fois les tests effectués, compiler le programme et distribuer l’application compilée aux utilisateurs. 32
  • 33. Introduction Le processus de programmation Grâce à la nature visuelle de Visual Basic, vous ne touchez au clavier que bien plus tard dans le processus de programmation. Au lieu d’utiliser du papier, vous dessinez directement vos écrans à l’aide des outils Visual Basic. Pour créer un tel écran, aucun code n’est nécessaire : tout ce que vous avez à faire, c’est de faire glisser les divers contrôle sur la fenêtre Feuilles. 33
  • 34. Introduction Le processus de programmation 34
  • 35. Introduction La maintenance du programme La maintenance du programme est le terme employé pour désigner la mise à jour du programme après sa distribution. Cette mise à jour peut être le fait d’une demande des utilisateurs ou d’un changement dans la façon dont le programme doit opérer. 35
  • 36. Introduction La maintenance du programme Un programme est écrit une fois, mais retouché de nombreuses fois. Mieux vous assurez cette maintenance du programme, plus votre programme sera actuel et efficace. Vous pouvez décider de distribuer une nouvelle version du programme avec un numéro de version différent. 36
  • 37. Introduction La maintenance du programme Remarque: Il convient de commenter et de documenter votre code afin que d’autres programmeurs puissent comprendre votre code s’ils devaient le modifier par la suite. 37
  • 38. Introduction La programmation événementielle Une fenêtre de programme Windows 38
  • 39. Introduction La programmation événementielle L’utilisateur du programme de la Figure précédente pourrait cliquer sur l’un des boutons, cocher l’une des cases ou activer l’une des zones de liste déroulante. Pour répondre efficacement aux actions de l’utilisateur et aux autres activités propres à déclencher un événement, on emploie des techniques de programmation événementielle. 39
  • 40. Introduction La programmation événementielle Par événement, on désigne toute action qui se déclenche lors de l’exécution du programme : clic de souris, frappe au clavier, etc. Est orienté événement un programme qui réagit aux événements Windows. Un événement peut être provoqué par l’un des contrôles (boutons de commande, cases à cocher, zones de liste déroulante, barres de défilement...) 40
  • 41. Prise de connaissance La programmation événementielle Un programme Visual Basic est constitué de l’interface visuelle, fenêtres et contrôles, avec laquelle l’utilisateur interagit. Le code de programmation vient relier tout cela ensemble. 41
  • 42. Prise de connaissance La programmation événementielle Chacun des multiples contrôles est différencié par les propriétés que lui affecte le code. 42
  • 43. Prise de connaissance en VB Quiz 1) Sur quel langage Microsoft s’est-il fondé pour élaborer Visual Basic ? Visual Basic est fondé sur le langage BASIC. 2) Pourquoi Visual Basic est-il adapté aux débutants comme aux programmeurs confirmés ? Visual Basic est un environnement visuel et exploite un langage simple, dérive du BASIC. Mais il permet de créer de puissantes applications Windows. 43
  • 44. Prise de connaissance en VB Quiz 3) Qu’est-ce qui est le plus important pour les novices en Visual Basic : le langage de programmation ou l’interface visuelle ? La nature visuelle de Visual Basic prime sur le langage de programmation à plusieurs égards. L’interface visuelle donne à vos programmes leur "visage" particulier et interagit avec l’utilisateur. Le langage de programmation travaille en coulisses pour connecter l’ensemble des éléments visuels. 44
  • 45. Prise de connaissance en VB Quiz 4) Que signifient les termes bogue et déboguer ? Un bogue est une erreur dans le programme. Le débogage est le processus de correction des bogues. 5) Qu’est-ce qui s’exécute le plus vite : un programme écrit dans un langage interprété ou un programme écrit dans un langage compilé ? Les programmes écrits en langage compilé s’exécutent beaucoup plus rapidement que les programmes écrits en langage interprèté. 45
  • 46. Prise de connaissance en VB Quiz 6) Quelle est la différence entre un contrôle et la valeur de propriété d’un contrôle ? Les contrôles sont des objets tels que labels, boutons de commande, boutons d’option, etc., qui apparaissent sur la feuille. Les propriétés et valeurs de propriétés d’un contrôle sont ce qui définit son comportement et le distingue des autres. 46
  • 47. Prise de connaissance en VB Quiz 7) Les contrôles contiennent le code qui leur permet de réagir aux actions de l’utilisateur. Vrai ou faux ? Faux. Les contrôles ne contiennent pas de code. Les contrôles sont des objets visuels avec lesquels l’utilisateur interagit. 47
  • 48. Prise de connaissance Démarrage de VB Cliquer sur « Démarrer », sur « Programmes », puis sur le dossier « Microsoft Visual Studio 2010 Express» ou cliquer directement su l’icône de Microsoft Visual Studio 2010 Express existant sur le bureau. 48
  • 49. Prise de connaissance Page de démarrage 49
  • 54. Prise de connaissance Windows Forms Application 54
  • 55. Prise de connaissance L‘environement Visual Basic 55 Explorateur de solutions Boîte à outils Fenêtre de propriétés Concepteur de Windows Forms Formulaire
  • 56. Prise de connaissance Espace de travail -Créer nos fenêtres, entrer nos lignes de code, etc. 56
  • 57. Prise de connaissance La Boîte à outils Il s’agit d’une collection d’outils grâce auxquels vous disposez les contrôles standards et éventuellement ceux personnalisés sur la feuille.  La boîte à outils nous sera d'une grande utilité lorsque nous créerons la partie graphique de nos applications, mais inutile lors de l'écriture du code VB. 57
  • 58. Prise de connaissance La Boîte à outils 58
  • 59. Prise de connaissance La Boîte à outils Parmi les contrôles de la boîte à outils de Windows Forms : 59 ◦ Button: bouton de commande ◦ CheckBox: Affiche une case à cocher et une étiquette pour le texte. Généralement utilisé pour définir des options. ◦ CheckedListBox: Affiche une liste déroulante d'éléments accompagnés chacun d'une case à cocher. ◦ ComboBox : Affiche une liste déroulante d'éléments ◦ DateTimePicker: Affiche un calendrier graphique permettant aux utilisateurs de sélectionner une date ou une heure. ◦ Label : Affiche du texte que les utilisateurs ne peuvent pas directement modifier.
  • 60. Prise de connaissance La Boîte à outils Parmi les contrôles de la boîte à outils de Windows Forms : 60 ◦ ListBox : Affiche une liste d'éléments texte et graphiques (icônes). ◦ PictureBox: Affiche dans un frame des fichiers graphiques tels qu'images bitmap et icônes. ◦ RadioButton: Affiche une case d'option qui peut être activée ou désactivée. ◦ TextBox : Affiche un texte entré au moment du design et pouvant être modifié par les utilisateurs au moment de l'exécution ou par programme. ◦ RichTextBox: Permet l'affichage du texte au format texte brut ou RTF. ◦ MaskedTextBox : Contraint le format d'entrée d'utilisateur.
  • 61. Prise de connaissance Concepteur Windows Forms C’est dans le Concepteur Windows Forms, appelé aussi formulaire (ou feuille), que vous effectuerez la plupart de vos opérations. Vous pouvez ajuster la fenêtre Formulaires (ou Feuilles) de façon à donner aux fenêtres créées à l’intérieur les dimensions voulues. Il permet d’afficher les formulaires que contient votre projet, avec leurs contrôles. 61
  • 63. Prise de connaissance Explorateur de solutions L’explorateur de solutions, ou Fenêtre de solutions, contient l’ensemble des composants de votre projet. 63
  • 64. Prise de connaissance Fenêtre Propriétés La fenêtre des Propriétés décrit chaque propriété du contrôle sélectionné. C’est la fenêtre des propriétés qui va nous permettre, en mode conception, de modifier les propriétés de nos objets. N.B: Vous pouvez appuyer sur la touche F4 de votre clavier pour afficher la fenêtre des propriétés. 64
  • 65. Prise de connaissance Fenêtre Propriétés présente la liste des propriétés du contrôle sélectionné par ordre alphabétique et affiche le choix des événements du contrôle concerné. 65
  • 66. Prise de connaissance Outils de débogage Lors de la compilation (Build) de votre application, les erreurs importantes seront listées au niveau de cet onglet. 66
  • 67. Prise de connaissance Préfixes courants à placer en tête des noms d’objets 67
  • 68. Prise de connaissance Préfixes courants à placer en tête des noms d’objets(suite) 68
  • 69. Prise de connaissance Préfixes courants à placer en tête des noms d’objets(suite) 69
  • 70. -4- Test et débogage de l'application -5- Création d'un fichier exécutable -6- Création d'un programme d'installation Processus de développement d’un projetProcessus de développement d’un projet avec VB.netavec VB.net Propriétés Valeurs Name BackColor Autosize Visible Font TextBox1 Blue True True Microsoft sansSérif 8pts -1- Création de l'interface utilisateur -2- Définition des propriétés des objets de l'interface utilisateur Private Sub Form1_Load(………..) Handles Form1.Load 'Ajoutez votre code ici End Sub -3- Écriture de code pour l'ajout de fonctionnalités
  • 71.  Une feuille de travail « Form » représente une fenêtre ou une boîte de dialogue qui compose l'interface utilisateur d'une application.  Quelques propriétés : Les Feuilles de travailLes Feuilles de travail (Form) (1/2)(Form) (1/2) ◦ BackColor: la couleur d'arrière-plan ◦ Font : la police du texte dans le contrôle ◦ Name: nom ◦ Size: la taille du formulaire ◦ Text : le texte associé à ce contrôle ◦ WindowState: indique si un formulaire est réduit, agrandi ou normal. Au moment de l‘exécution
  • 72.  Quelques événements : Les Feuilles de travailLes Feuilles de travail (Form) (2/2)(Form) (2/2) ◦ Closed: Se produit lorsque le formulaire est fermé. ◦ KeyPress : Se produit lorsqu'une touche est enfoncée alors que le contrôle a le focus. ◦ LostFocus: Se produit lorsque le contrôle perd le focus. ◦ Load: Se produit avant l'affichage de la feuille (au moment de son chargement dans la RAM). ◦ Shown : Se produit après l'affichage de la feuille.
  • 73.  Le contrôle Button Windows Forms permet à l'utilisateur d'effectuer une action en cliquant dessus.  Quelques propriétés : Les boutons de commandeLes boutons de commande (Button) (1/2)(Button) (1/2) ◦ BackColor: Obtient ou définit la couleur d'arrière-plan du contrôle. ◦ Font :Obtient ou définit la police du texte affiché par le contrôle. ◦ Name: Obtient ou définit le nom du contrôle. ◦ Image: Obtient ou définit l’image affichée sur le contrôle button. ◦ Text : Obtient ou définit le texte associé à ce contrôle.
  • 74.  Quelques événements : Les boutons de commandeLes boutons de commande (Button) (2/2)(Button) (2/2) ◦ Click: Se produit suite à un clic sur le bouton ◦ DragDrop : Se produit lors d'une opération de glisser-déplacer. ◦ LostFocus: Se produit lorsque le contrôle perd le focus. Private Sub BTN_Msg_Click( …….) Handles BTN_Msg.Click 'Ajoutez votre code ici End Sub L’événement « Click »: Lorsque l'utilisateur clique sur le bouton, ce dernier réagit comme s'il était enfoncé puis relâché. Chaque fois qu'un utilisateur clique sur un bouton, le gestionnaire d'événements Click est appelé.
  • 75. Atelier 1:Atelier 1: Familiarisation EDI et Bouton de commandeFamiliarisation EDI et Bouton de commande Utilisation de l’EDI de VB a. Examinez un formulaire dans le Concepteur Windows Forms, ses propriétés et l'éditeur de code b. Examinez les paramètres des propriétés des contrôles c. Ouvrez, fermez, rouvrez et masquez la boîte à outils Utilisation de formulaire et bouton de commande a. Créer la feuille suivante: 75
  • 76. Créer une application à partir de zéro Atelier 2: Affichage Salam, tout le monde On va créer un petit programme qui affiche: Salam, tout le monde! dés qu‘on clique sur le button. 76
  • 77. Créer une application à partir de zéro Atelier 3: Affichage Salam, tout le monde dans une zonte de texte 77
  • 78. Créer une application à partir de zéro Atelier 3: Version ameliorée Afficher le nouveau message centré  Changer la couleur, le texte, la position, la taille Solution: txt1.ForeColor = Color.Red txt1.TextAlign = HorizontalAlignment.Center txt1.Text = "Salam, tout le monde" txt1.Left = 10 txt1.Top = 10 txt1.Height = 50 txt1.Width = 50 78
  • 79. Créer une application à partir de zéro Atelier 3: Version ameliorée avec With Solution: With txt1 .ForeColor = Color.Red .Text = "Salam, tout le monde" .Left = 10 .Top = 10 .Height = 50 .Width = 50 End With 79
  • 80. Créer une application à partir de zéro Atelier 3: Version ameliorée avec Me Solution: Me.txt1.ForeColor = Color.Red Me. txt1.TextAlign = HorizontalAlignment.Center Me. txt1.Text = "Salam, tout le monde" Me. txt1.Left = 10 Me. txt1.Top = 10 Me. txt1.Height = 50 Me. txt1.Width = 50 Remarque: L'objet Me (autrement dit la fenêtre), il faut le lier au reste, utilisons donc le caractère « . » : nous allons donc accéder aux objets et contrôles de cette fenêtre. 80
  • 81. Créer une application à partir de zéro Atelier 3: Version ameliorée avec Me et With Solution: With Me.txt1 .ForeColor = Color.Red .Text = "Salam, tout le monde" .Left = 10 .Top = 10 .Height = 50 .Width = 50 End With 81
  • 82. Créer une application à partir de zéro Atelier 5: Affichage d‘une image avec la commande Quitter 82
  • 83. Créer une application à partir de zéro Atelier 6: Placer des contrôles sur une feuille 83
  • 84. Créer une application à partir de zéro Atelier 7: Mot de passe 84
  • 85. Créer une application à partir de zéro Atelier 8: Mot de passe avec message d‘erreur 85
  • 86. Analyse des données Définition: Module Un module est un fichier contenant du code de procédures. Le fichier qui contient la feuille et son code est un module de feuille. Vous avez donc, sans le savoir, déjà travaillé avec des modules. Module de feuille = contient la feuille et son code. 86
  • 87. Analyse des données Définition: Module Remarque: Un projet qui contient plusieurs feuilles contient plusieurs modules de feuilles. 87
  • 88. Analyse des données Les données en Visual Basic Les calculs peuvent impliquer différents types de données. Par exemple, vous pouvez travailler sur des noms, des adresses, des sommes d’argent, de grands et de petits nombres, et des données logiques du type vrai/faux, oui/non, etc. 88
  • 89. Analyse des données Les données en Visual Basic Afin de répondre à tous les besoins des différents programmes, Visual Basic supporte plusieurs types de données. 89
  • 90. Analyse des données Les données numériques En règle générale, les données numériques relèvent d’une de ces deux catégories : Entiers: nombres entiers sans décimale, tels que 614 , 0, –934 ou 3 918 938. Les entiers peuvent exprimer un âge, un numéral, un nombre d’années, etc. En anglais, "entier" se dit integer. 90
  • 91. Analyse des données Les données numériques Décimaux: nombres décimaux pouvant exprimer une valeur fractionnaire, tels que 8.709, 0.005 ou –402.35534. Les décimaux peuvent exprimer une température, une somme d’argent, un taux d’intérêt, etc. Les décimaux exigent la virgule, même si la partie décimale, située après la virgule, est zéro. 91
  • 92. Analyse des données Attention Visual Basic stocke et traite différemment les entiers et les décimaux, même si la différence n’est pas toujours évidente pour nous autres humains. Par exemple, –8 n’est pas la même chose, pour Visual Basic, que –8.00. 92
  • 93. Analyse des données Les types de données numériques supportés par Visual Basic 93 Type Stockage Plage Byte 1 octet De 0 à 255 Integer 2 octets De –32 768 à 32 767 Long 4 octets De –2 147 483 648 à 2 147 483 647 Single 4 octets De –3.402823E+38 à –1.401298E–45 1.401298E–45 à 3.402823E+38 Double 8 octets •–1.79769313486232E+308 à –4.94065645841247E– 324 •4.94065645841247E–324 à 1.79769313486232E+308 Currency 8 octets –922 337 203 685 477.5808 à 922 337 203 685 477.5807
  • 94. Analyse des données Suffixes Visual Basic désignant les types 94 Suffixe Type de données & Long ! Single # Double @ Currency
  • 95. Analyse des données Autres types de données Les types de données non numériques sont plus faciles à comprendre que les types numériques, surtout si vous n’êtes pas spécialement fort en maths. Le Visual Basic, laisse tous les autres langages loin derrière lui quand il s’agit de traiter les chaînes de texte. 95
  • 96. Analyse des données Définition: Chaîne de caractères Une chaîne est une série de caractères (une chaîne de zéro caractère est encore une chaîne). Si ces caractères peuvent être des chiffres, le contenu d’une chaîne ne peut jamais être utilisé dans un calcul. En revanche, il est possible de se servir des chaînes pour des noms, des adresses, des codes, des numéros de sécurité sociale, etc. 96
  • 97. Analyse des données Types de données non numériques supportés par Visual Basic 97 Type Stockage Plage Char 2 octets String Longueur de la chaîne Chaînes de caractères dont la longueur ne peut excéder 231 caractères Date 8 octets Du 1er janvier 100 au 31 décembre 9999 Boolean 2 octets True ou False
  • 98. Analyse des données Exemples des chaînes de caractères "Hilare or de cymbale à des poings irrités "  "44-51-54-48"  "666, rue de la Bête" " " 98
  • 99. Analyse des données Remarque sur les chaînes de caractères Une chaîne nulle est une chaîne d’une longueur de zéro octet, dont on se sert parfois pour réinitialiser le contenu d’une chaîne (lui donner la valeur zéro). 99
  • 100. Analyse des données Remarque sur les chaînes de caractères La valeur spéciale Null représente ce type de chaînes. Visual Basic supporte aussi une valeur de chaîne spéciale dite chaîne vide, représentée par le mot clé Empty. 100
  • 101. Analyse des données Remarque sur les chaînes de caractères Les chaînes vides sont semblables aux chaînes nulles, mais sont traitées d’une manière un peu différente : une propriété de contrôle qui contient le mot clé Empty sera interprétée comme n’ayant encore jamais été initialisée par quelque valeur que ce soit, pas même une chaîne nulle. 101
  • 102. Analyse des données Exemples de type Date #4 juillet 1776# #7:11 pm# #19:11:22# #1-2-2003# #5-Déc-99# 102
  • 103. Analyse des données Les variables Définition Une variable est une zone de stockage temporaire en mémoire, désignée par un nom unique. On peut y stocker pratiquement tout ce qu'on veut, comme par exemple des nombres, des phrases, des tableaux, etc. Les variables reçoivent les valeurs et les calculs intermédiaires attribués aux contrôles de la feuille et générés par eux. 103
  • 104. Analyse des données Déclaration des variables Définition Une variable est une zone de stockage temporaire en mémoire, désignée par un nom unique. Les variables reçoivent les valeurs et les calculs intermédiaires attribués aux contrôles de la feuille et générés par eux. 104
  • 105. Analyse des données Déclaration des variables Par défaut, la déclaration de variables est obligatoire Possibilité de déclaration implicite (Non recommandée): Option Explicit Off Possibilité de déclaration sans préciser le type: Option Infer On 'déduction suite à la 1ère affectation Exemple : Dim Numero = 9 ⇔ Dim Numero As Integer = 9 105
  • 106. Analyse des données Syntaxe de déclaration des variables Dim NomDeLaVariable As TypeDonnee NomDeLaVariable: le nom donné à la variable. TypeDonnee: l’un des types de données présentés aux Tableaux précédents. 106
  • 107. Analyse des données Préfixes décrivant le type de données d’une variable 107 Type Stockage Exemple bln Boolean blnBoutonEnabled byt Byte bytLength cur Currency curSales98 dte Date dteOverdue dbl Double dblScientificAmt int Integer intYear2011 lng Long lngWeatherDistance sng Single sngSales1stQte str String strFirstName
  • 108. Analyse des données Quelques conventions de nommage des variables Ne comporte que des lettres, nombres ou _ Commence par une lettre ou _ Ne peut être un mot clé Longueur limitée à 33 caractères Ne commence jamais par un nombre Toujours préfixer la variable par son type de données. 108
  • 109. Analyse des données Exemples de déclarations de variables possibles 1) Dim intTotal As Integer Dim curSales99 As Currency Dim dteFinal As Date Dim strName As String Dim blnIsChecked As Boolean 2) Dim intTotal As Integer, curSales99 As Currency 109
  • 110. Analyse des données Initialisation d’une variable Dim var, var2 As Integer var=25 var2=50 Dim var3 As Integer=5 110
  • 111. Analyse des données Les commentaires Une ligne est considérée comme commentée si le caractère « ' » (autrement dit, une simple quote) la précède ; une ligne peut aussi n'être commentée qu'à un certain niveau. 'Commentaire maVariable = 3* 4 ' Multiplie 3 et 4, et entre le résultat dans maVariable 111
  • 112. Analyse des données Remarque sur variable locale et variable globale Si vous déclarez une variable à l’intérieur d’une procédure (qu’il s’agisse ou non d’une procédure événementielle), alors la variable est disponible pour toute la procédure, et seulement pour cette procédure. Les autres procédures n’ont aucun accès à la variable, qui ainsi reste locale, c’est-à-dire valable uniquement pour la procédure qui la contient. 112
  • 113. Analyse des données Remarque sur variable locale et variable globale Si, en revanche, vous déclarez une variable dans la section de déclarations du module, cette variable sera disponible pour toutes les procédures du module. La variable est alors globale pour le module. 113
  • 114. Analyse des données Déclaration des constantes Const nomDeLaConstante As TypeDeDonnée= valeur Exemples: 1) Const pi As Single=3.14 2) Const x As Integer =140 Remarque: Ajouter le mot clé Public pour la rendre publique 114
  • 115. Analyse des données Les opérateurs Visual Basic 115 Opérateur Signification Exemple Résultat ^ Puissance 2^3 8 * Multiplication 2*3 6 / Division 6/2 2 + Addition 2+3 5 - Soustraction 5-2 3 Mod Modulo 11 Mod 3 2 Division entière 113 3 + ou & Concaténation de chaînes "Bon" & "jour" "Bonjour"
  • 116. Analyse des données L’ordre des opérateurs 116 Priorité Opérateur Exemple Résultat 1 Parenthèses () (2 + 3) * 7 35 2 ^ 2 ^ 3 + 1 9 3 *, /, , Mod 2 + 3 * 7 23 4 +, – 10 – 4 * 2 + 1 3
  • 117. Analyse des données Les opérateurs Visual Basic Opérateurs abrégés X += 6  X=X+6 Valable aussi pour les autres opérateurs : -= *= /= = ^= &= 117
  • 118. Analyse des données Déclaration des chaînes Dim strNomDeLaChaine As String Exemples de déclarations de variables à longueur variable: Dim strNomVille As String Dim strNomBoulvard As String 118
  • 119. Opérateurs et instructions de contrôle Les opérateurs conditionnels 119 Opérateur Description Exemple Résultat = Egal à 7 = 2 False > Supérieur à 6 > 3 True < Inférieur à 5 < 11 True >= Supérieur ou égal à 23 >= 23 True <= Inférieur ou égal à 4 <= 21 True <> Différent de 3 <> 3 False
  • 120. Opérateurs et instructions de contrôle Comparaison des chaines de caractères Les comparaisons de chaînes suivent ces règles générales : Les lettres capitales valent moins que les minuscules ; ainsi, "BONJOUR" vient avant "bonjour".  Les lettres se comparent selon l’ordre alphabétique ; ainsi, "A" vaut moins que "B", et le nom "Walter" passe avant le nom "William".  Les nombres valent moins que les lettres ; ainsi, "3" est plus petit que "trois". 120
  • 121. Opérateurs et instructions de contrôle Comparaison des chaines de caractères Remarque: Une instruction spéciale peut apparaître dans la section de déclarations d’un module : Option Compare Text Cette instruction, éventuellement associée à l’instruction Option Explicit, a pour effet que les capitales et les minuscules sont égales en comparaison. 121
  • 122. Opérateurs et instructions de contrôle Combinaison d’opérateurs conditionnels et logiques 122 Opérateur Description Exemple Résultat And Chaque terme de l’expression doit être True (2 < 3) And (4 < 5) True Or L’un des deux termes doit être True (2 < 3 ) Or (6 < 7) True Xor OU exclusif: une seule des deux conditions doit être vraie pour que le résultat soit Vrai ( 1 = 1) XOR (2 = 2) ( 2 > 1) XOR (3 < 1) False True Not Nie l’expression Not (3 = 3) False
  • 123. Opérateurs et instructions de contrôle Les instructions If ...Then... Syntaxe If condition Then Bloc d’instructions Visual Basic End If Remarque: Dans une instruction If, les parenthèses ne sont pas nécessaires autour de la condition; en revanche, elles désignent clairement la condition à interroger, et en cela clarifient le code. 123
  • 124. Opérateurs et instructions de contrôle Les instructions If ...Then... Remarque: Dans une instruction If, les parenthèses ne sont pas nécessaires autour de la condition; en revanche, elles désignent clairement la condition à interroger, et en cela clarifient le code. 124
  • 125. Opérateurs et instructions de contrôle Les instructions If ...Then...Else Syntaxe If condition Then Bloc d’instructions 1Visual Basic Else Bloc d’instructions 2Visual Basic End If 125
  • 126. Opérateurs et instructions de contrôle Instructions If... Else imbriquées Syntaxe If condition1 Then Bloc d’instructions Visual Basic ElseIF condition2 Then Bloc d’instructions Visual Basic Else Bloc d’instructions Visual Basic End If 126
  • 127. Opérateurs et instructions de contrôle Instructions If... Else imbriquées Exemple Dim moyenne As Short Dim appreciation As String If moyenne <10 Then appreciatioon= "Echec" ElseIf moyenne<=15 Then appreciation= "Moyen" Else appreciation="Excellent" EndIf 127
  • 128. Opérateurs et instructions de contrôle Les instructions Select Case L’instruction Select Case est la plus appropriée pour vérifier des conditions multiples. L’imbrication successive de trois ou quatre instructions If... Else complique considérablement le programme. 128
  • 129. Opérateurs et instructions de contrôle Les instructions Select Case Select Case expression Case condition Bloc d’instructions Visual Basic [ Case condition1 Bloc d’instructions Visual Basic] [ Case condition2 Bloc d’instructions Visual Basic] : [ Case conditionN Bloc d’instructions Visual Basic] [Case Else Bloc d’instructions Visual Basic] End Select 129
  • 130. Opérateurs et instructions de contrôle Les instructions Select Case Select Case choisit entre plusieurs conditions. Le nombre de ces conditions, indiqué dans le corps [ Case condition#...], varie selon la situation. Si aucune des conditions n’est remplie, le corps de Case Else (s’il y en a un) s’exécute. 130
  • 131. Opérateurs et instructions de contrôle Les instructions Select Case comparent des valeurs multiples Dim Age As Integer Select Case Age Case 18 Label1.text = "conduire" Case 23 Label1.Text = "travailler" Case 60 Label1.Text="retraite " End Select 131
  • 132. Opérateurs et instructions de contrôle Les instructions Select Case comparent des valeurs multiples Select Case txtGrade.Text Case "A" lblAnnounce.Text= "Très bien " Case "B" lblAnnounce. Text = "Bien " Case "C" lblAnnounce. Text = "Peut mieux faire" Case "D" lblAnnounce. Text= "Médiocre " Case "E" lblAnnounce. Text= "Mauvais" Case Else lblAnnounce. Text = "Note non validée" End Select 132
  • 133. Opérateurs et instructions de contrôle Les instructions Select Case Visual Basic supporte un autre format de Select Case, qui permet de spécifier, par le mot clé Is, un opérateur conditionnel pour chaque condition. 133
  • 134. Opérateurs et instructions de contrôle Comparaisons conditionnelles dans Select Case Select Case txtGrade.Text Case Is >= 18 lblAnnounce. Text = "Très bien " Case Is >= 15 lblAnnounce.Text = "Bien" Case Is >= 12 lblAnnounce. Text = "Peut mieux faire" Case Is >= 10 lblAnnounce. Text = "Médiocre" Case Else lblAnnounce. Text = "Mauvais" End Select 134
  • 135. Opérateurs et instructions de contrôle Remarque Les instructions Select Case ne conviennent pas à tous les types de comparaisons. Les opérateurs d’inclusion ou logiques ne sont pas supportés ; les conditions Case ne peuvent donc pas être interrogées par And, Or, ni Not. Pour cela, la seule solution consiste à imbriquer des instructions If... ElseIf... End If. 135
  • 136. Opérateurs et instructions de contrôle Comparaisons de valeurs séquentielles dans Select Case Select Case txtGrade.Text Case 0 To 9 lblAnnounce. Text = "Mauvais" Case 10 To 11 lblAnnounce. Text = "Médiocre" Case 12 To 14 lblAnnounce. Text = "Peut mieux faire" Case 15 To 17 lblAnnounce. Text = "Bien" Case Else lblAnnounce. Text = "Très bien" 136
  • 137. Opérateurs et instructions de contrôle Remarque d’or On peut combiner les différents formats de Case à l’intérieur d’une même instruction Select Case. Voici un exemple : Case 101, 102, 201 To 205, Is > 300 Si l’expression spécifiée dans Select Case renvoie une valeur égale à 101, 102, 201, 202, 203, 204, 205, ou supérieure à 300, le corps de Case s’exécute. 137
  • 138. Opérateurs et instructions de contrôle Les boucles Do Test antérieur: Boucle Tant Que…Faire Do While condition Bloc d’instructions Visual Basic Loop Exemple Dim Nom As String Do While Nom <> "Fin" Nom = InputBox ("saisir texte ou taper Fin") If Nom<> "Fin" Then Label1.Text=Nom EndIf Loop 138
  • 139. Opérateurs et instructions de contrôle Les boucles Do Test antérieur: Boucle TantQue…Faire La boucle Do est une instruction multiligne. Comme l’instruction If, l’instruction Do supporte différents formats . 139
  • 140. Opérateurs et instructions de contrôle Les boucles Do Test antérieur: Boucle TantQue…Faire Do While condition Bloc d’instructions Visual Basic Loop Exemple: Do While MotProposé <> MotDePasse MotProposé = InputBox("Donnez votre mot de passe") Loop 140
  • 141. Opérateurs et instructions de contrôle Les boucles Do Test antérieur: Boucle TantQue…Faire Do Until condition Bloc d’instructions Visual Basic Loop Exemple: Do Until MotProposé <> MotDePasse MotProposé = InputBox("Donnez votre mot de passe") Loop 141
  • 142. Opérateurs et instructions de contrôle Les boucles Do Test postérieur: Boucle Faire…TantQue Do Bloc d’instructions Visual Basic Loop While condition Exemple: Do MotProposé = InputBox("Donnez votre mot de passe") Loop While MotProposé <> MotDePasse 142
  • 143. Opérateurs et instructions de contrôle Les boucles Do Test postérieur: Boucle Faire …TantQue Do Bloc d’instructions Visual Basic Loop Until condition Exemple: Do MotProposé = InputBox("Donnez votre mot de passe") Loop Until MotProposé <> MotDePasse 143
  • 144. Opérateurs et instructions de contrôle Remarque Vous devez, d’une manière ou d’une autre, modifier la condition contenue dans le corps de la boucle ; autrement, la boucle s’exécuterait indéfiniment. Si d’aventure vous écrivez une boucle sans fin, votre application se bloque jusqu’à ce que vous cliquiez sur le bouton Fin de Visual Basic ou sur le bouton de fermeture de l’application. Si rien, dans le corps de la boucle, ne permet de modifier la condition testée, la boucle continuera de s’exécuter. 144
  • 145. Opérateurs et instructions de contrôle Les boucles For For compteur = ValeurInitiale To ValeurTerminale [Step PasIncrementation] Bloc d’instructions Visual Basic Next [compteur] 145
  • 146. Opérateurs et instructions de contrôle Exemples 1) For i = 1 To 10 lblOut. Text = i Next 2) For i = 10 To 100 Step 5 lblOut. Text = i Next 3) For i = 1000 To 0 Step -100 lblOut. Text = i Next 146
  • 147. Opérateurs et instructions de contrôle Exemples For Out = 1 To 4 For In = 1 To 10 ‘Ici, le bloc de code Next In Next Out 147
  • 148. Opérateurs et instructions de contrôle Les instrucitons Exit Il arrive parfois, selon les données, qu’une procédure (événementielle ou autre) doive être précipitamment interrompue. 148
  • 149. Opérateurs et instructions de contrôle Les instrucitons Exit Voici le format de l’instruction Exit : Exit Sub/Function/Do/For 149
  • 150. Opérateurs et instructions de contrôle Les instrucitons Exit Exemple: Exit for For i=1 To 10 Nom = InputBox (" Votre nom ou Fin pour quitter") if Nom = "Fin" Exit For Label1.Text=Nom Next i 150
  • 151. Opérateurs et instructions de contrôle Les instrucitons Exit Exemple: Exit Sub Private Sub cmdCalc() If (txtSales.Text < 50000) Then Exit Sub ’ Interrompt la procédure Else lblBonus. Text = txtSales.Text * .05 End If End Sub 151
  • 152. Support avancé du clavier et de l’écran Les fonctions internes La fonction MsgBox() MsgBox() est une fonction qui affiche une boîte de message. Une boîte de message contient une icône, un message, et au moins un bouton de commande. Ce bouton de commande laisse à l’utilisateur le temps de prendre connaissance du message ; lorsqu’il aura fini sa lecture, il cliquera sur le bouton. 152
  • 153. Support avancé du clavier et de l’écran Les fonctions internes Exemple 153
  • 154. Support avancé du clavier et de l’écran Les fonctions internes La fonction MsgBox() Voici le format de la fonction MsgBox() : IntResponse = MsgBox(Prompt, intStyle, strTitle]) IntResponse: indique le type de l’entier renvoyé par la fonction. strPrompt: c’est une chaîne (ou un contrôle qui contient une chaîne) spécifiant le message qui s’affichera dans la boîte de message. intStyle: détermine le style des boutons. strTitle: spécifie le libellé qui apparaîtra dans la barre de titre. 154
  • 155. Support avancé du clavier et de l’écran Les fonctions internes Exemple: 155
  • 156. Support avancé du clavier et de l’écran Valeurs entières permettant de spécifier le style des boutons Chr(13): représentant des retours à la ligne 156 Valeur Constante nommée Description 0 vbOKOnly Bouton OK 1 vbOKCancel Boutons OK, Annuler 2 vbAbortRetryIgnore Boutons Abandonner, Réessayer, Ignorer 3 vbYesNoCancel Boutons Oui, Non, Annuler 4 vbYesNo Boutons Oui, Non 5 vbRetryCancel Boutons Réessayer, Annuler
  • 157. Support avancé du clavier et de l’écran Exemples intRéponse = MsgBox("Prêt pour l’impression ?", 1, "pjtFonctionInterne") intRéponse = MsgBox("Prêt pour l’impression ?", vbOKCancel, "pjtFonctionInterne") 157
  • 158. Support avancé du clavier et de l’écran Exemples intRéponse = MsgBox("Prêt pour l’impression ?", 2, "pjtFonctionInterne") 158
  • 159. Support avancé du clavier et de l’écran Exemples intRéponse = MsgBox("Prêt pour l’impression ?", 3, "pjtFonctionInterne") 159
  • 160. Support avancé du clavier et de l’écran Exemples intRéponse = MsgBox("Prêt pour l’impression ?", 1, "pjtFonctionInterne") If (intRéponse = 1) Then ’ Ici, le code chargé de gérer ’ le clic sur le bouton OK. Else ’ Ici, le code chargé de gérer ’ le clic sur le bouton Annuler. End If 160
  • 161. Support avancé du clavier et de l’écran Les valeurs renvoyées indiquent quels boutons ont été cliqués Remarque: Echap = Annuler 161 Valeur Constante nommée Description 1 OK L’utilisateur a cliqué sur OK 2 Cancel L’utilisateur a cliqué sur Annuler 3 Abort L’utilisateur a cliqué sur Abandonner 4 Retry L’utilisateur a cliqué sur Réessayer 5 Ignore L’utilisateur a cliqué sur Ignorer 6 Yes L’utilisateur a cliqué sur Oui 7 No L’utilisateur a cliqué sur Non
  • 162. Support avancé du clavier et de l’écran Les boutons par défaut Le premier bouton d’une boîte de message est toujours le bouton par défaut. Visual Basic met automatiquement le focus sur le premier bouton (le plus à gauche), et le déclenche dès que l’utilisateur appuie sur Entrée. 162
  • 163. Support avancé du clavier et de l’écran Les boutons par défaut intRéponse = MsgBox("L’imprimante est-elle allumée", vbYesNoCancel + vbDefaultButton1) 163
  • 164. Support avancé du clavier et de l’écran Ces arguments permettent de spécifier le bouton par défaut 164 Valeur Constante nommée Description 0 vbDefaultButton1 Premier bouton par défaut 256 vbDefaultButton2 Deuxième bouton par défaut 512 vbDefaultButton3 Troisième bouton par défaut
  • 165. Support avancé du clavier et de l’écran Les icônes Valeurs spécifiant l’icône de la boîte de message 165 Valeur Constante nommée Description Icône 16 vbCritical Erreur critique 32 vbQuestion Question 48 vbExclamation Avertissement 64 vbInformation Information
  • 166. Support avancé du clavier et de l’écran Exemple en utilisant les icônes intRéponse = MsgBox("L’imprimante est-elle allumée ?", vbYesNoCancel + vbQuestion + vbDefaultButton2, "Une petite question") 166
  • 167. Support avancé du clavier et de l’écran La fonction InputBox() La fonction InputBox() affiche une boîte de message qui permet à l’utilisateur de répondre "dans le texte ". Cette combinaison d’une boîte de message et d’une sorte de zone de texte est appelée boîte d’entrée. 167
  • 168. Support avancé du clavier et de l’écran La fonction InputBox() Seuls les boutons OK et Annuler apparaissent dans une boîte d’entrée. Les boîtes d’entrée n’affichent pas non plus d’icône, contrairement aux boîtes de message. 168
  • 169. Support avancé du clavier et de l’écran La fonction InputBox() Voici le format de la fonction InputBox() : strRéponse = InputBox(Prompt, Titre, texteParDefaut, Xposition,Yposition) InputBox() renvoie une valeur de type chaîne. La chaîne renvoyée est la réponse saisie par l’utilisateur dans le champ. Prompt: Le message ou la question qui s’affiche dans la boîte d’entrée. La longueur maximale de Prompt est de 1024 caractères. 169
  • 170. Support avancé du clavier et de l’écran La fonction InputBox() Voici le format de la fonction InputBox() : strRéponse = InputBox(Prompt, Titre, texteParDefaut, Xposition,Yposition) Titre: Le texte qui apparaît dans la barre de titre. A défaut de titre, Visual Basic affiche le nom du projet. texteParDefaut: Contenu par défaut du champ de saisie. L’utilisateur peut accepter cette réponse par défaut, qui sera alors la valeur renvoyée ; il peut la modifier, ou saisir une réponse entièrement nouvelle. On se sert d’une valeur par défaut lorsque la réponse est prévisible et n’attend que d’être validée par le bouton OK. 170
  • 171. Support avancé du clavier et de l’écran La fonction InputBox() Voici le format de la fonction InputBox() : strRéponse = InputBox(Prompt, Titre, texteParDefaut, Xposition,Yposition) Xposition, Yposition: Coordonnées en twips de la boîte d’entrée. Il est préférable, quand la question posée renvoie à d’autres feuilles ou boîtes de dialogue déjà à l’écran, de ne pas afficher la boîte d’entrée par-dessus. Si vous ne spécifiez pas de coordonnées, Visual Basic affiche par défaut la boîte d’entrée au centre de l’écran. Remarque: twips = 1/567 de centimètre 171
  • 172. Support avancé du clavier et de l’écran Exemple de la fonction InputBox() strRéponse = InputBox("Quel est le nom du client ? ","Identité client") 172
  • 173. Support avancé du clavier et de l’écran Exemple de la fonction InputBox() strRéponse = InputBox("Quel est le nom du client ?", "Identité client", "Joumana Souiri", 500, 750) 173
  • 174. Support avancé du clavier et de l’écran Exemple de la fonction InputBox() strRéponse = InputBox("Quel est le nom du client ?", "Identité client", "Joumana Souiri", 500, 750) If (strRéponse <> "") Then ’ Code chargé de gérer l’entrée utilisateur Else ’ Code chargé de gérer le clic sur Annuler End If Remarque: Empty="" 174
  • 175. Support avancé du clavier et de l’écran Les cases à cocher Définition Une case à cocher (check box, en anglais) est une option proposée sur la feuille. La case est cochée lorsque l’option est sélectionnée, décochée lorsque l’option est désélectionnée. Les cases à cocher offrent à l’utilisateur le choix entre deux valeurs possibles : True/False, Enabled/Disabled, etc. 175
  • 176. Support avancé du clavier et de l’écran Les cases à cocher Remarque Une case à cocher est soit cochée, soit décochée. Checked est la propriété du contrôle Check-Box qui détermine l’état de la case. Si la propriété Checked vaut True, l’option est sélectionnée et la case est cochée. Si Checked vaut False, l’option est désélectionnée et la case décochée. 176
  • 177. Support avancé du clavier et de l’écran Les cases à cocher L’état d’une case à cocher peut être interrogé par une instruction If du format suivant : If (chkUnder.Checked = true) Then ’ Code chargé de gérer l’état "coché" Else ’ Code chargé de gérer l’état "décoché" End If 177
  • 178. Support avancé du clavier et de l’écran Exemple 1: 178
  • 179. Support avancé du clavier et de l’écran Exemple 1: Police de caractères (ou Font) Une 'Font' est définie par: - Un nom. - Une taille. - Un style (gras, italique, souligné..) 179
  • 180. Support avancé du clavier et de l’écran Exemple 1: Police de caractères (ou Font) -Pour modifier la police de caractère utilisée dans un contrôle, il faut lui assigner un objet 'Font‘: label1.Font = New System.Drawing.Font("Arial", 10) -On indique le nom de la font et la taille, on aurait pu ajouter un troisième argument: le style (gras, italique, souligné): label1.Font = New System.Drawing.Font("Arial", 10, FontStyle.Bold ) 180
  • 181. Support avancé du clavier et de l’écran Les boutons d’option Les boutons d’option donnent à l’utilisateur la possibilité de choisir parmi plusieurs options. A l’inverse des cases à cocher, en revanche, un seul bouton d’option peut être sélectionné à la fois. Les boutons d’option offrent un choix unique parmi plusieurs options. N.B: la propriété pour voir quel bouton radio est coché est la même qu’une case à cocher. 181
  • 182. Support avancé du clavier et de l’écran Exemple 182
  • 183. Support avancé du clavier et de l’écran Le contrôle Frame et les groupes d’options 183
  • 184. Support avancé du clavier et de l’écran Exemple 2 184
  • 185. Support avancé du clavier et de l’écran Exemple 3 185
  • 186. Gestion de la souris et contrôles avancés Les contrôles ListBox Voici les différents types de zones de liste : zone de liste simple ; ComboBox liste déroulante ; ComboBox simple ; ComboBox déroulante. 186
  • 187. Gestion de la souris et contrôles avancés Les zones de liste simples Le contrôle zone de liste simple permet à l’utilisateur de sélectionner un ou plusieurs éléments dans une liste prédéfinie. Pour ajouter une zone de liste simple à votre feuille, double-cliquez sur le contrôle ListBox de la Boîte à outils. 187
  • 188. Gestion de la souris et contrôles avancés Les zones de liste simples Quelques propriétés: Name: nom de la liste. SelectMode: indique le nombre d'éléments qu'on peut sélectionner et le mode de sélection. None: aucune sélection n'est possible. One: sélection d'un seul élément (valeur par défaut) MultiSimple: sélection de plusieurs éléments par un simple clic. MultiExtended: sélection de plusieurs éléments avec un clic en appuyant sur la touche Shift (ou Ctrl). 188
  • 189. Gestion de la souris et contrôles avancés Les zones de liste simples Quelques propriétés: Items: une collection (possède des propriétés et des méthodes) qui permet d'accéder aux éléments de la liste. SelectedItem: l'élément sélectionné dans la liste (si SelectionMode= One) SelectedIndex: indice de l'élément sélectionné (= -1 si aucun élément n'est sélectionné) SelectedItems: une collection représentant les éléments sélectionnés dans la liste (si SelectionMode=MultiSimple ou MultiExtended) SelectedIndices: une collection représentant les indices des éléments sélectionnés. Sorted: indique si la liste est triée (True) ou non (False) 189
  • 190. Gestion de la souris et contrôles avancés Les zones de liste simples Initialisation du contrôle listbox Dans la fenêtre Propriétés, cliquez sur la propriété Items d’un contrôle ListBox : une liste s’affiche, dans laquelle vous pouvez ajouter des valeurs. 190
  • 191. Gestion de la souris et contrôles avancés Les zones de liste simples Initialisation du contrôle listbox Méthode assistée Lors du clic sur la liste simple, elle apparaît sélectionnée et une petite flèche apparaît en haut à droite de cette sélection, comme à la figure suivante. Cliquez maintenant sur Modifier les éléments pour lui en attribuer. 191
  • 192. Gestion de la souris et contrôles avancés Les zones de liste simples Pour ajouter des éléments à une liste, on se sert de la méthode Items.Add. 192
  • 193. Gestion de la souris et contrôles avancés Les zones de liste simples Private Sub Form_Load() ’ Initialise les valeurs du contrôle. lstCouleurs.Items. Add "Rouge" lstCouleurs.Items. Add "Bleu" lstCouleurs.Items. Add "Vert" lstCouleurs.Items. Add "Jaune " lstCouleurs.Items. Add "Orange" lstCouleurs.Items. Add "Blanc" End Sub 193
  • 194. Gestion de la souris et contrôles avancés Les zones de liste simples Pour ajouter la couleur Aqua à la liste: lstCouleurs.Items.Add "Aqua" Pour Ajouter '4' : lstCouleurs.Items.Add(4.Tostring) Pour insérer ‘Kiwi’ en 4ème position : lstCouleurs.Items.Insert(4, "Kiwi") Pour ajouter plusieurs éléments en une seule fois on utilise Items.AddRange: Dim tabPays() As String {"Maroc", "Tunisie", "Lybie" } Me.ListBox1.Items.AddRange(tabPays) 194
  • 195. Gestion de la souris et contrôles avancés Les zones de liste simples Pour trier les éléments de liste simples, on utilise la proprieté Sorted lstCouleurs.Sorted=True 195
  • 196. Gestion de la souris et contrôles avancés Les zones de liste simples Remarque importante: L’élément sélectionné est mis en surbrillance et sa valeur est stockée dans lstCouleurs.text (également dans lstCouleurs.SelectedItem ) 196
  • 197. Gestion de la souris et contrôles avancés Les zones de liste simples Exemple: 197
  • 198. Gestion de la souris et contrôles avancés Les zones de liste simples Le code: Private Sub lstCouleurs_Click() ‘Copie l’élément sélectionné dans la zone de texte. txtCouleurs.Text = lstCouleurs.SelectedItem End Sub 198
  • 199. Gestion de la souris et contrôles avancés Les zones de liste simples Chaque élément de la zone de liste se voit affecter une valeur index, pour être distingué des autres. L’index commence à 0 pour le premier élément, et ainsi de suite. La méthode IndexOf de la zone de liste permet de déterminer la valeur d’index de l’élément. L’index de l’élément sélectionné est stock é dans SelectedIndex. 199
  • 200. Gestion de la souris et contrôles avancés Les zones de liste simples Pour accéder à un élément de la zone de liste: lstCouleurs.Items(3).ToString 200
  • 201. Gestion de la souris et contrôles avancés Les zones de liste simples Pour retirer le troisième élément de la liste, voici ce que serait le code : lstCouleurs.Items.RemoveAt(2) Pour retirer l’élément sélectionné de la liste: lstCouleurs.Items.Remove(lstCouleurs.SelectedItem) Pour retirer l'élément "Blanc": 201
  • 202. Gestion de la souris et contrôles avancés Les zones de liste simples Pour vider la liste: lstCouleurs.Items.Clear() 202
  • 203. Gestion de la souris et contrôles avancés Les zones de liste simples 1) Supprime les cinq éléments de la liste: For I = 0 To 4 lstCouleurs. Items.RemoveAt(I) Next I 2) Supprime tous les éléments de la liste: intTotal = lstCouleurs.Items.Count ‘Stocke le nombre total des éléments de la liste. For I = 1 To intTotal lstCouleurs. Items.RemoveAt(0) Next I 203
  • 204. Gestion de la souris et contrôles avancés Les contrôles ComboBox  Combinaison d'une liste simple et une zone de texte.  On peut sélectionner une seule valeur de la liste ou saisir une dans la zone de texte. Exemple 204 Zone de texte Bouton pour dérouler la liste
  • 205. Gestion de la souris et contrôles avancés Les contrôles ComboBox Quelques propriétés: Name: nom de la liste. DropDownStyle: indique l'apparence et le mode d'utilisation de la liste: Simple: possibilité de saisie et tous les éléments de la liste sont visibles. DropDown: possibilité de saisie et seul l'élément sélectionné sera visible (valeur par défaut) DropDownList: pas de possibilité de saisie, on ne peut que sélectionner un élément de la liste. 205
  • 206. Gestion de la souris et contrôles avancés Les contrôles ComboBox Le contrôle ComboBox est disponible en trois types:  ComboBox liste déroulante ;  ComboBox simple (fonctionne comme une combinaison de zone de liste et de zone de texte.);  ComboBox déroulante. 206
  • 207. Gestion de la souris et contrôles avancés Les contrôles ComboBox Les ComboBox liste déroulante supportent les mêmes méthodes et les mêmes propriétés que les zones de liste. 207
  • 208. Gestion de la souris et contrôles avancés Le contrôle Timer Le contrôle Timer vous permet de générer des réponses sur la base des valeurs envoyées par l’horloge interne du PC. le code peut s’exécuter sur la base d’intervalles de temps, indépendamment de la vitesse du PC, parce que le temps est une constante. 208
  • 209. Gestion de la souris et contrôles avancés Le contrôle Timer Le contrôle Timer reçoit les événements timer et y répond en fonction des propriétés que vous avez définies. Lorsque vous disposez le contrôle Timer sur la feuille, vous déterminez la fréquence des événements timer. 209
  • 210. Gestion de la souris et contrôles avancés Le contrôle Timer Cet intervalle correspond à l’une des propriétés du contrôle Timer. Lorsque ce laps de temps s’est écoulé, le contrôle Timer déclenche la procédure événementielle appropriée. 210
  • 211. Gestion de la souris et contrôles avancés Le contrôle Timer Remarque: Le contrôle Timer ne peut être dimensionné, et n’apparaît pas sur la feuille lors de l’exécution. 211
  • 212. Gestion de la souris et contrôles avancés Le contrôle Timer La seule propriété réellement spécifique au contrôle Timer est Interval. La propriété Interval spécifie la fréquence à laquelle le contrôle répondra aux événements. Cet intervalle en millisecondes peut être défini lors de la création ou lors de l’exécution. 212
  • 213. Gestion de la souris et contrôles avancés Le contrôle Timer Exemple: vous affectez à la propriété Interval la valeur 1000, les événements timer se produiront toutes les 1 000 millisecondes, soit une fois par seconde environ. N.B: le contrôle Timer connaît quelques limites. La propriété Interval ne peut contenir que des valeurs situées entre 0 et 64,767. L’intervalle maximal sera donc de 65 secondes, pas plus. 213
  • 214. Gestion de la souris et contrôles avancés Le contrôle Timer Exemple: 214
  • 215. Gestion de la souris et contrôles avancés Le contrôle Timer Propriétés: Timer 1: Text1(resp. 2): Interval: 1000 Name: txtTime1(resp. 2) Name: tmrTimer1 Text = 1 Timer 2: Police = 18 Interval: 500 Alignement= Center Name: tmrTimer2 Width = 1000 215
  • 216. Gestion de la souris et contrôles avancés Le contrôle Timer Le code pour tmrTimer1: Private Sub tmrTimer1_Tick() ’ Ajoute 1 à la valeur affichée. txtTimer1.Text = txtTimer1.Text + 1 End Sub 216
  • 217. Gestion de la souris et contrôles avancés Le contrôle Timer Le code pour tmrTimer1: Private Sub tmrTimer2_Tick() ’ Ajoute 1 à la valeur affichée. txtTimer2.Text = txtTimer2.Text + 1 End Sub 217
  • 218. Gestion de la souris et contrôles avancés Le contrôle Timer Lebels pour chaque Timer: Lent pour Timer1 Rapide pour Timer2 218
  • 219. Gestion de la souris et contrôles avancés Le contrôle Timer Résultat: 219
  • 220. Application multi-feuilles • Une application contient généralement plusieurs feuilles dont une est feuille de démarrage. • Le raccourci permet d'ajouter une feuille. Dans la fenêtre qui sera affichée, cliquer sur le bouton Ajouter (Add) • Dans le menu principal, utiliser Project/ NomApplication Properties pour choisir la feuille de démarrage en utilisant la liste Startup Form 220 Nouvelle feuille
  • 221. Application Multi-feuilles • Afficher une deuxième feuille à partir d'une première o NomFeuille.Show( ) On peut utiliser les deux feuilles o NomFeuille.ShowDialog( ) On ne peut pas utiliser que la deuxième feuille (feuille modale). Pour revenir à la première, on doit fermer la deuxième. Exemple: - Form1 et Form2 deux feuilles - Cmd1 un bouton de commande sur Form1. Objectif: Clic sur Cmd1  Afficher Form2 221
  • 222. Application Multi-feuilles Private Sub cmd1_Click(…..) Handles cmd1.Click Form2.Show() ' on peut accéder aux deux feuilles Form1 et Form2 End Sub Ou Private Sub cmd1_Click(…..) Handles cmd1.Click Form2.ShowDialog() ' on ne peut pas accéder à Form1 tant que Form2 est End Sub ' affichée 222 Name= Form1 Name= Form2 Name= Cmd1
  • 223. Application Multi-feuilles • Fermer une feuille NomFeuille.Close( ) Exemple: Form2.Close( ) 223
  • 224. Les Menus • Dans les applications multi-feuilles, on utilise généralement des menus et des feuilles MDI. Exemple: Dans ce projet par exemple, on a trois feuilles On va créer un menu dans Form3 pour accéder aux feuilles Form1 et Form2. o Ouvrir Form3 en mode conception (Design) o Mettre sa propriété Text à "Accueil" et IsMdiContainer à True. Cela signifie que les deux autres feuilles vont s'afficher à l'intérieur de Form3. 224
  • 225. Les Menus o Utiliser le contrôle pour créer graphiquement un menu dans Form3 o Cliquer sur le cadre du menu pour avoir une zone de texte pour la première option du menu o Saisir &Gestion dans cette zone de texte o Saisir &Informations et &Aide dans les deux autres zones de texte. 225 Cadre du menu Zone de texte
  • 226. Les Menus o Chaque option du menu a des propriétés qu'on peut modifier o Cliquer sur la première option Gestion pour avoir ses propriétés o Mettre la propriété Name à OptionGestion o Mettre la propriété ToolTipText à "Charger Form1 ou Form2". C'est le texte qui s'affichera dans une info-bulle lorsqu'on passera le pointeur de la souris sur l'option pendant l'exécution. 226 Name de l'option Text de l'option
  • 227. Les Menus o Cliquer sur l'option Gestion pour avoir une zone de texte afin de créer une sous-option. o Saisir dans cette zone de texte "Première Feuille" o Saisir dans la deuxième zone de texte "Deuxième Feuille" 227
  • 228. Les Menus o Cliquer sur la sous-option Première Feuille afin de modifier ses propriétés: o Name = SOptionFeuille1 (nom de la sous-option) o Shortcutkeys = Ctrl + F1 ( raccourci de la sous-option) o Image = une image de votre choix (icône de la sous-option) o Faire de même pour la sous-option Deuxième Feuille: o Name = SOptionFeuille2 o Shortcutkeys = Ctrl + F2 o Image = une image de votre choix 228
  • 229. Les Menus o Ajouter la sous-option Quitter: o Modifier le code de l'événement Load de la feuille Form1 Private Sub Form1_Load(…) Handles Me.Load Me.MdiParent = Form3 ' La feuille From1 s'affichera à l'intérieur de Form3 End Sub o Faire de même pour l'événement Load de la feuille form2 229 Name = SOptionQuitter
  • 230. Les Menus o Dans Form3, faire un double-clic sur la sous-option "Première Feuille" pour avoir son événement Click: Private Sub SOptionFeuille1_Click(…..) Handles SOptionFeuille1.Click Form1.Show() End Sub o Faire de même pour l'événement Click de la sous-option "Deuxième Feuille": Private Sub SOptionFeuille2_Click(…..) Handles SOptionFeuille2.Click Form2.Show() End Sub o Choisir Form3 comme feuille de démarrage. o Exécuter votre projet et cliquez sur les deux sous-options. o Essayer ShowDialog au lieu de Show et exécuter votre projet. 230
  • 231. Les Menus o Dans Form3, faire un double-clic sur la sous-option Quitter pour avoir son événement Click: Private Sub SOptionQuitter_Click(…..) Handles SOptionQuitter.Click End 'fin de l'application End Sub o Exécuter votre projet et cliquez sur la sous-option Quitter. 231
  • 232. Gestion de la souris et contrôles avancés Déclaration des tableaux Public NomDuTableu(Dimensions) As TypeDonnées Ou Dim NomDuTableau(Dimensions) As TypeDonnées Ou Dim NomDuTableau(PremierIndice To DernierIndice) As TypeDonnées Cette instruction déclare un tableau NomDuTableau de taille Dimension+1. Remarque: Par défaut, le premier indice est 0. 232
  • 233. Gestion de la souris et contrôles avancés Déclaration des tableaux Exemples: Dim intTab(5) As Integer 'Tableau de 6 entiers Dim intCounts(1 To 5) As integer 'Tableau de 5 entiers Dim Employes (9) As String 'Tableau de 10 chaînes de caractères Public strCustName(200 To 999) As String Dim Mat(10, 10) As Single 'Matrice de 10 lignes et 10 colonnes Dim T(0 to 19) As Integer 'Tableau de 20 entiers Dim Matrice(4,3) As Integer 'Matrice de 5 lignes et 3 colonnes 233
  • 234. Gestion de la souris et contrôles avancés Déclaration des tableaux Initialisation d‘un tableau: 1) Dim intTab(5) As Integer ‘Déclaration du tableau intTab(0)=5 intTab(1)=10 intTab(2)=15 intTab(3)=20 intTab(4)=25 intTab(5)=30 234
  • 235. Gestion de la souris et contrôles avancés Déclaration des tableaux Initialisation d‘un tableau: 2) Dim Employes () As String = {"Marrakchi", "Souiri", "Soussi"} Remarque : La taille 3 du tableau est déduite 235
  • 236. Gestion de la souris et contrôles avancés Déclaration des tableaux Accéder aux éléments d’un tableau Employes (5) ‘l’élément d'indice 5 dans le tableau Matrice(0,2) ‘la cellule à la 1ère ligne et 2nd colonne de la m 236
  • 237. Gestion de la souris et contrôles avancés Manipulation des tableaux Redimensionner un tableau La taille d'un tableau peut être redimensionnée au cours d'une application Redim intTab(30) Redim Preserve intTab(30) Remarque Le redimensionnement du tableau ⇒ la perte des données existantes. Pour pouvoir conserver le contenu d'un tableau lors d'un redimensionnement, il faut spécifier le mot-clé Preserve après Redim. 237
  • 238. Gestion de la souris et contrôles avancés Manipulation des tableaux Vider un tableau Array.Clear(nomDuTableau, premierIndice, nombreDeCasesAVider) nombreDeCasesAVider : le nombre de cases à vider Exemple Array.Clear(intTab, 0, 5) 238
  • 239. Gestion de la souris et contrôles avancés Manipulation des tableaux Inverser le sens du tableau Array.Reverse(nomDuTableau) Exemple Dim Tab() As Integer={1,2,3,4} Array.Reverse(Tab) ‘le tableau Tab contient maintenant 4,3,2,1 239
  • 240. Gestion de la souris et contrôles avancés Manipulation des tableaux Copier un tableau dans un autre: Copy Pour copier un tableau dans un autre tableau, on utilise la fonction Copy Array.Copy(tableauDuSource, tableauDuDestination, nbreElement) nbreElement: le nombre d’éléments à copier depuis l'élément 0. Exemple Array.Copy(tab1, tab2, 7) Array.Copy(tab1, tab2, 7) 240
  • 241. Gestion de la souris et contrôles avancés Manipulation des tableaux Trier un tableau: Sort Pour trier les elements d’un tableau, on utilise la fonction Sort Array.sort(tab) ‘Trie le tableau tab 241
  • 242. Gestion de la souris et contrôles avancés Manipulation des tableaux La méthode IndexOf Recherche un objet spécifié dans un tableau unidimensionnel (trié ou non) retourne l'index de la première occurrence. Exemple Dim myIndex As Integer = Array.IndexOf(myArray, myString) Remarque Retourne -1 si l'élément n'est pas trouvé. LastIndexOf fait une recherche à partir de la fin. 242
  • 243. Gestion de la souris et contrôles avancés Manipulation des tableaux Fonctions Ubound et Lbound Ubound : Retourne le plus grand indice disponible pour la dimension indiquée d'un tableau Lbound : retourne la limite inférieure ( = 0 ) Exemple: A = Ubound (NomTableau) 243
  • 244. Gestion de la souris et contrôles avancés Manipulation des tableaux Tableaux dynamiques La taille du tableau est définie au moment de l’exécution avec Redim Exemple: Dim Temperature () As Single Dim Jours As Short Jours = InputBox ("Combien de jours? ") Redim Temperature (Jours-1) 244
  • 245. Gestion de la souris et contrôles avancés Manipulation des tableaux La fonction Length Length retourne un entier qui représente le nombre d'éléments total dans le tableau. Pour un tableau à une dimension Length-1 retourne l'indice du dernie élément. Exemple: Tab.Length 245
  • 246. Fonctions de chaînes La fonction Len() Voici le format de Len() : Len(Expression) Len() renvoie (retourne) la longueur en nombre de caractères de la variable chaîne, de la constante chaîne ou de l’expression chaîne située entre les parenthèses. Exemples: La fonction MsgBox() affiche le résultat 6 : intMsg = MsgBox(Len("abcdef")) 246
  • 247. Fonctions de chaînes Fonctions de conversion de chaînes Remarque: CStr() et Str() convertissent leurs arguments en chaînes. La différence est que Str() fait précéder d’un blanc (espace) les nombres positifs convertis en chaîne. 247 Fonction Description CStr() Convertit l’argument en chaîne. Str() Convertit un argument numérique en chaîne (plus précisément en Variant exploitable comme chaîne). Val() Convertit un argument chaîne en nombre (si la chaîne passée contient bien un nombre).
  • 248. Fonctions de chaînes Fonctions de sous-chaînes Les fonctions de sous-chaînes renvoient une partie de la chaîne. Right() renvoie les caractères à partir de la droite, Left() à partir de la gauche. Mid() prélève les caractères à partir du milieu de la chaîne. Voici le format des fonctions de sous-chaînes : Left(chaineDeCaracteres, valeurNumerique) Right(chaineDeCaracteres, valeurNumerique) Mid(chaineDeCaracteres, startPosition[, length]) 248
  • 249. Fonctions de chaînes Fonctions de sous-chaînes Exemples: Le code suivant illustre le comportement de Left() : strA = "abcdefg" partSt1 = Left(strA, 1) ’ Renvoie (Retourne) "a". partSt2 = Left(strA, 3) ’ Renvoie "abc". partSt3 = Left(strA, 20) ’ Renvoie "abcdefg". 249
  • 250. Fonctions de chaînes Fonctions de sous-chaînes Exemples: Right() fait la même chose en sens inverse : strA = "abcdefg" partSt1 = Right(strA, 1) ’ Renvoie "g". partSt2 = Right(strA, 3) ’ Renvoie "efg". partSt3 = Right(strA, 20) ’ Renvoie "abcdefg". 250
  • 251. Fonctions de chaînes Fonctions de sous-chaînes Exemples: Mid() peut prélever n’importe quel nombre de caractères depuis n’importe quel point de la chaîne. Voici un exemple : strA = "Visual Basic FORTRAN COBOL C Pascal« lang1 = Mid(strA, 1, 12) ’ Renvoie "Visual Basic". lang2 = Mid(strA, 14, 7) ’ Renvoie "FORTRAN". lang3 = Mid(strA, 22, 5) ’ Renvoie "COBOL". lang4 = Mid(strA, 28, 1) ’ Renvoie "C".  lang5 = Mid(strA, 30, 6) ’ Renvoie "Pascal". 251
  • 252. Fonctions de chaînes Fonctions UCase() et LCase() Exemples: UCase() renvoie l’argument chaîne en lettres capitales. LCase() le renvoie en lettres minuscules. La fonction MsgBox() suivante affiche VISUAL BASIC : intMsg = MsgBox(UCase("Visual Basic")) 252
  • 253. Fonctions de chaînes Les fonctions LTrim() et RTrim() LTrim() et RTrim() suppriment les espaces au début et à la fin de la chaîne. LTrim() renvoie l’argument chaîne sans les espaces de début, RTrim() sans les espaces de fin. La fonction Trim() supprime les espaces de début et de fin. Voici le format de ces fonctions :  LTrim(stringExpression)  RTrim(stringExpression)  Trim(stringExpression) 253
  • 254. Fonctions de chaînes Les fonctions LTrim() et RTrim() Exemples: Les instructions suivantes suppriment les espaces de début, de fin, et des deux : st1 = LTrim(" Bonjour") ’ Renvoie "Bonjour". st2 = RTrim("Bonjour ") ’ Renvoie "Bonjour". st3 = Trim(" Bonjour ") ’ Renvoie "Bonjour". 254
  • 255. Fonctions de chaînes La fonction ReverseIt() La fonction ReverseIt() suivante inclut plusieurs des fonctions de chaînes présentées ci-dessus. Cette fonction inverse un certain nombre de caractères dans la chaîne passée. Exemples: Supposons que la fonction ReverseIt() soit appelée par l’instruction suivante : newStr = ReverseIt ("Visual Basic", 6) Si tout se passe bien, la chaîne newStr prendra comme contenu 255
  • 256. Procédures et fonctions Fonctions internes Fonctions numériques:  Int(valeurNumerique)  Fix(valeurNumerique) Exemples: 1) intAns1 = Int(6.8) ’ 6 2) intAns2 = Fix(6.8) ’ 6 3) intAns3 = Int(-6.8) ’ -7 4) intAns4 = Fix(-6.8) ’ -6 256
  • 257. Procédures et fonctions Fonctions internes Méthodes de la classe Math Utiliser l’instruction : Imports System.Math 257 Abs(n) Renvoie la valeur absolue de n Atan(n) Renvoie l’arc tangente de n en radians Cos(n) Cosinus de n en radians Exp(n) Constante e élevée à la puissance n Sign(n) -1 si n négatif / +1 si n positif Sin(n) Sinus de n en radians Sqrt(n) Racine carrée de n Tan(n) Tangente de n en radians
  • 258. Procédures et fonctions Fonctions internes Fonctions de type de données  IsDate(): vérifie si son argument est de type Date (ou s’il peut être correctement converti en date). IsEmpty(): vérifie si son argument a été initialisé. IsNull(): vérifie si son argument contient une valeur Null. IsNumeric(): vérifie si son argument est d’un type numérique (ou s’il peut être correctement converti en nombre). 258
  • 259. Procédures et fonctions Fonctions internes La fonction abrégée IIf(): Syntaxe: IIf(condition, TrueBody, FalseBody) N.B: IIf() ne doit être utilisé qu’en remplacement d’instructions If... Else courtes. 259
  • 260. Procédures et fonctions Fonctions internes La fonction abrégée IIf(): Exemple 1: If (curSales < 5000.00) Then curBonus = 0.00 Else curBonus = 75.00 End If équivalent à curBonus = IIf(curSales < 5000.00, 0.00, 75.00) 260
  • 261. Procédures et fonctions Fonctions internes La fonction abrégée IIf(): Exemple 2: Dim Note As Single Dim Reponse As String Note = InputBox (" Tapez votre note ") Reponse = IIf (Note >= 10, " Admis ", " Ajourné ") MsgBox (Réponse) 261
  • 262. Procédures et fonctions Procédures privées et publiques 1) Private Sub ReportIt() 2) Public Sub ReportIt() Remarque:  Une procédure déclarée comme Private n’est exploitable qu’à l’intérieur de son propre module.  Une procédure déclarée comme Public peut être appelée depuis n’importe quelle autre procédure de l’application. 262
  • 263. Procédures et fonctions Procédures privées et publiques 1) Private Sub ReportIt() 2) Public Sub ReportIt() Remarque:  Une procédure déclarée comme Private n’est exploitable qu’à l’intérieur de son propre module.  Une procédure déclarée comme Public peut être appelée depuis n’importe quelle autre procédure de l’application. 263
  • 264. Procédures et fonctions Comment déclarer une fonction Syntaxe : Public|Private Function nomDeLaFonction(Arg) As typeDeRetour Exemple: Public Function SalesTax(curTotal As Currency, sngRateDisc As Single) As Currenc 264
  • 265. La syntaxe pour déclarer une fonction Appel de la fonction TotalImpot Dim PrixTotal, PrixVente As Single PrixVente = 500 PrixTotal = PrixVente + TotalImpot (PrixVente) 265 Function NomFonction ([arguments]) As Type Liste d’instructions NomFonction = Expression End Function __________________________________ Type : Type de la valeur retournée Possibilité d’utiliser l’instruction Return Function TotalImpot(ByVal Prix as Single) As Single Dim ImpotNational, ImpotLocal As Single ImpotNational = Prix*0,05 ImpotLocal = Prix*0,015 TotalImpot = ImpotNational+ImpotLocal ‘ ou Return ImpotNationale+ImpotLocal End Function Procédures et fonctions
  • 266. Procédure Sub Appel d’une procédure Sub VoeuAnniversaire ("Lina") 266 Sub NomProcédure ([arguments]) Instructions End Sub Sub VoeuAnniversaire (ByVal Personne As String) Dim Msg As String If Personne <> " " Then Msg = " Joyeux anniversaire" & Personne & "!" Else Msg = "Nom non spécifié" EndIf MsgBox = (Msg, , "Meilleurs voeux") End Sub Procédures et fonctions
  • 267. Dans une procédure/fonction, les arguments sont passés soit par valeur, soit par référence  Arguments passés par valeur (par défaut) : Mot clé ByVal Tout changement apporté à une variable passée par valeur n’est pas renvoyé à la procédure/fonction appelante.  Arguments passés par référence : Mot clé ByRef Tout changement apporté à une variable passée par référence est renvoyé à la procédure/fonction appelante Exemple Sub CoutPlusInteret (ByVal Cout As Single, ByRef Total As Single) Cout = Cout * 1,05 Total = Int (Cout) ‘Arrondit à l’entier End Sub 267 Procédures et fonctions
  • 268. Modules et Procédures Modules Un module est un fichier destiné à comporter du code utile à la conception du programme. Il comporte les déclarations de variables et de procédures/fonctions afin d’étendre leur portée sur tout le projet. Par défaut, les fonctions déclarées dans un module sont publiques. Création d’un module Accessible depuis le Menu Projet (Ajouter un nouvel élément) 268
  • 269. Références 1. Visual Basic 6. Créez des applications efficaces en VB6, Greg Perry, Pearson Education France, 2009 . 2. https ://openclassrooms.com/fr/courses/993975-apprenez-a-programmer-e 3. https://vb.developpez.com/cours/ 269

Notes de l'éditeur

  1. Tip: Add your own speaker notes here.
  2. Tip: Add your own speaker notes here.
  3. Tip: Add your own speaker notes here.
  4. Tip: Add your own speaker notes here.
  5. Tip: Add your own speaker notes here.
  6. Tip: Add your own speaker notes here.
  7. Tip: Add your own speaker notes here.
  8. Tip: Add your own speaker notes here.
  9. Tip: Add your own speaker notes here.
  10. Tip: Add your own speaker notes here.
  11. Tip: Add your own speaker notes here.
  12. Tip: Add your own speaker notes here.