Introduction à la programmation VB

Introduction à la programmation VB

Les tableaux et les boucles

 Structure d’un tableau
On a souvent besoin de travailler sur un ensemble de données.
Un exemple : les températures moyennes des 12 mois de l’année.
On pourrait déclarer 12 variables identiques :
Dim Temp1, Temp2, Temp3, Temp4, … … …, Temp12 as Single
On dispose d’une structure de données appelée Tableau qui permet de conserver dans une seule « entité » plusieurs valeurs de même type.
Le nom du tableau est une variable qu’il est recommandé de préfixer par Tab. Le nombre de valeurs de types identiques est à déclarer entre parenthèses. Exemple de déclaration d’un tableau à une dimension :
Dim TabTemp(12) As Single
 Boucles en nombre défini
Cette boucle est utilisée lorqu’on connaît à l’avance le nombre de fois qu’elle sera parcourue.
Syntaxe :
For Compteur = Début To Fin [Step Incrément]
Instructions
[ … Exit For]
[Instructions]
Next [Compteur]
Le test est effectué au début de la boucle.
La variable numérique Compteur est incrémentée à chaque fin de boucle du nombre indiqué par l’incrément. Si l’incrément n’est pas spécifié il est fixé à 1.
Si la valeur de Fin est inférieure à la valeur de Début l’incrément est négatif.
La valeur de Compteur peut être utilisée (par exemple pour numéroter le passage dans la boucle) mais ne doit pas être modifiée dans le corps de la boucle.
Exemple :
For i = 1 To 50
TabInitial(i) = 0 ‘ Initialisation de chaque case à 0
Next i
– Remplissage d’un tableau
Pour remplir un tableau on le balaye avec une boucle For … To … Next (car le nombre de cases est connu à l’avance).
Exemple 1 :
Dim TabTemp(12) As Single
Dim Compteur As Integer
For Compteur = 1 To 12
TabTemp(Compteur)=InputBox(« Température N°  » & Compteur)
Next Compteur
Exemple 2 :
Dim TabTirageLoto(6) As Integer
Dim Compteur As Integer
For Compteur = 1 To 6
TabTirageLoto (Compteur)=Rnd * 48 + 1
Next Compteur

Les boucles :

Si le programme doit exécuter un bloc d’instructions en nombre prédéfini on utilise la boucle For … To … Next.
Exemple :
For i = 1 To 49
TabLoto(i) = i ‘chaque case contient son numéro
Next i
Si le nombre de passages dans la boucle est inconnu au départ, mais dépend d’une condition dont la réalisation est imprévisible cette structure n’est pas adaptée.
Exemple 1 :
Demander le mot de passe tant que la réponse n’est pas le bon mot de passe.
Demander le mot de passe jusqu’à ce que la réponse soit le bon mot de passe.
Exemple 2 :
Demander la saisie d’une note tant que la réponse n’est pas un nombre entre 0 et 20.
Demander la saisie d’une note jusqu’à ce que la réponse soit un nombre entre 0 et 20.
Boucle tant que
Syntaxe première version :
Do While Condition
Instructions
[… Exit Do]
[Instructions]

Loop

La condition est ici testée au début c’est à dire à l’entrée de la boucle.
Avec While (tant que) la boucle est répétée tant que la condition est vraie.
Si la condition n’est pas vraie au départ les instructions de la boucle ne sont pas exécutées.
Exemple :
Do While MotProposé <> MotDePasse
MotProposé = InputBox(« Donnez votre mot de passe »)
Loop
Cela présuppose MotProposé initialisé par une valeur autre que MotDePasse (par exemple la valeur par défaut «  »).
Syntaxe deuxième version :
Do
Instructions
[… Exit Do]
[Instructions]
Loop While Condition
La condition est alors testée à la fin de la boucle.
Avec While (tant que) la boucle est répétée tant que la condition est vraie. Les instructions de la boucle sont donc exécutées au moins une fois. Exemple :
Do
MotProposé = InputBox(« Donnez votre mot de passe »)
Loop While MotProposé <> MotDePasse
Cet exemple ne présuppose aucune initialisation de MotProposé.
Les boucles Tant que , jusqu’à
Syntaxe première version :
Do while Condition
Instructions
[… Exit Do]
[Instructions]
Loop
La condition est ici testée au début c’est à dire à l’entrée de la boucle.
Avec while (tant que) la boucle est répétée tant que la condition n’est pas vérifiée. Si la condition est vraie dès le départ les instructions de la boucle ne sont pas exécutées. Exemple :
Do while MotProposé <> MotDePasse
MotProposé = InputBox(« Donnez votre mot de passe »)
Loop
Cela présuppose MotProposé initialisé par une valeur autre que MotDePasse (par exemple la valeur par défaut : «  »).
Syntaxe deuxième version :
Do
Instructions
[… Exit Do]
[Instructions]
Loop Until Condition
La condition est alors testée à la fin de la boucle.
Les instructions de la boucle sont donc exécutées au moins une fois.
Avec Until (jusqu’à) la boucle est répétée jusqu’à ce que la condition soit vraie.
Exemple :
Do
MotProposé = InputBox(« Donnez votre mot de passe »)
Loop Until MotProposé = MotDePasse
Cet exemple ne présuppose aucune initialisation de MotProposé.
Boucle For … Each … Next
C’est une extension de la boucle For … To … Next. Elle est utilisée pour parcourir les collections(ensembles).
Syntaxe :
For Each Elément In Ensemble
Instructions
[ … Exit For]
[Instructions]
Next [Elément]
Ensemble est le plus souvent un tableau.
Exemple :
Dim TabHasard(100) As Integer
Dim Cellule As Integer
Dim Réponse As String
Randomize
For Each Cellule In TabHasard
Cellule = Rnd * 100 + 1
Next
For Each Cellule In TabHasard
Réponse = Réponse & Cellule &  »  »
Next
MsgBox (Réponse)

Traitement des chaînes de caractères

Nécessité de ces traitements
Les données manipulées par un programme sont essentiellement de type numérique ou chaîne de caractères.
Si les types numériques sont très utilisés par les programmes scientifiques, le type chaîne est incontournable pour des étudiants en Lettres et Sciences Humaines.
Une variable chaîne de caractères se déclare de type String.
Exemple 1 :
Dim MotProposé As String
La variable contient alors une chaîne de longueur variable selon l’affectation qui suivra.
Exemple 2 :
Dim Lettre As String * 1
La variable contient alors une chaîne de longueur 1 c’est à dire un seul caractère.
Exemple 3 :
Dim Adresse As String * 30
La variable contient alors une chaîne de longueur 30. Si l’on n’affecte que 18 caractères dans une telle chaîne, le reste est rempli d’espaces. Si l’on affecte plus de 30 caractères le surplus est tronqué.

Comparaison des chaînes de caractères

Longueur d’une chaîne :
La longueur d’une chaîne est donnée par la fonction Len.
Exemple :
Phrase = « Visual Basic”
La fonction Len(Phrase) retournera la valeur 12.
Il est évident que si deux chaînes de caractères n’ont pas la même longueur elles sont différentes. Par contre deux chaînes de même longueur ne sont pas forcément identiques.
Comparaison binaire :
On compare deux chaînes par la fonction StrComp.
Elle renvoie la valeur numérique 0 si les deux chaînes sont rigoureusement identiques et la valeur numérique 1 si les chaînes diffèrent même par un seul octet.
Exemple :
Phrase1 = « Visual Basic. »
Phrase2 = « Visual basic. »
Phrase3 =  » Visual Basic.”
La fonction StrComp(Phrase1,Phrase2) retournera la valeur …
La fonction StrComp(Phrase1,Phrase3) retournera la valeur …

Recherche d’une chaîne de caractères

• La fonction InStr permet de rechercher si une chaîne de caractères existe à l’intérieur d’une autre chaîne de caractères. Si c’est le cas, elle retourne la position de la première occurrence de la chaîne recherchée.
Syntaxe :
InStr(Chaîne1, Chaîne2)
Chaîne1 est la chaîne de caractères à traiter (sur laquelle porte la recherche). Chaîne2 est la chaîne de caractères recherchée dans Chaîne1.
Exemple :
Chaîne1 = « Visual Basic et ses fonctions » Chaîne2 = « Basic »
Chaîne3 = « Basics »
La fonction InStr(Chaîne1,Chaîne2) retournera la valeur 8 La fonction InStr(Chaîne1,Chaîne3) retournera la valeur 0.
• La fonction Ucase met tout le texte en majuscules et permet de rechercher indépendamment une lettre minuscule ou majuscule.
• La fonction Lcase met tout le texte en minuscules et permet…
Extraction d’une chaîne de caractères
• La fonction Right donne la partie droite d’une chaîne de caractères. Le nombre de caractères de cette partie doit être précisé.
Exemple :
Chaîne = « Visual Basic et ses fonctions »
La fonction Right(Chaîne,5) retournera la valeur « tions »
• La fonction Left donne la partie gauche d’une chaîne de caractères. Le nombre de caractères de cette partie doit être précisé.
Exemple :
Chaîne = « Visual Basic et ses fonctions »
La fonction Left(Chaîne,5) retournera la valeur « Visua »
• La fonction Mid extrait une partie d’une chaîne de caractères.
Le nombre de caractères de cette partie doit être précisé ainsi que la position du premier caractère extrait.
Syntaxe :
Mid(Texte, Position, Nombre) Texte est la chaîne de caractère à traiter.
Position est la position du caractère à partir duquel il faut extraire une sous-chaîne de caractères.
Nombre est le nombre de caractères à extraire. Exemple :
Chaîne = « Visual Basic et ses fonctions »
La fonction Mid(Chaîne,8,5) retournera la valeur « Basic »
La fonction Mid(Chaîne,21) retournera la valeur « fonctions »

Applications

La plupart des problèmes sur les chaînes de caractères se traitent à l’aide des fonctions ci-dessus. Leur maniement est assez délicat et les résultats quelquefois difficiles à prévoir. Seule la pratique de leur programmation vous permettra d’en vérifier l’efficacité.

Introduction à la programmation VBTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *