51
La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne d’origine. nb1 = Val("2457") Renvoie 2457dans nb1. nb2 = Val(" 2 45 7") Renvoie 2457dans nb2. nb3 = Val("24 et 57") Renvoie 24 dans nb3. Bien sûr le paramètre est habituellement une variable, ou la propriété text (ou

La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Embed Size (px)

Citation preview

Page 1: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne d’origine.

nb1 = Val("2457") Renvoie 2457dans nb1.nb2 = Val(" 2 45 7") Renvoie 2457dans nb2.nb3 = Val("24 et 57") Renvoie 24 dans nb3.

Bien sûr le paramètre est habituellement une variable, ou la propriété text (ou value) d ’un objet de type Textbox : alors on n’écrit pas de guillemets.

Page 2: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

La fonction Val arrête la lecture de la chaîne au premier caractère ne faisant apparemment pas partie d'un nombre.

Les espaces, les tabulations et les caractères de saut de ligne ne sont pas pris en compte dans l'argument.

Dans l'exemple suivant, la fonction renvoie la valeur 151516 :

marignan=Val(" 1515 16e siècle")

Page 3: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

La fonction Format permet de préciser la mise en forme d ’un nombre.

tarif = Format(5459.4, "##,##0.00") renvoie "5 459,40"   dans tarif.

a = 1000Range("a1") = Format(a, "### 000.00 L/100 km")

ceci renvoie  "1 000,00 L/100 km" dans la cellule A1

Page 4: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

La fonction Str est utilisée pour obtenir une représentation d’un nombre sous la forme d’une chaîne de caractères. Lorsqu’un nombre est converti en chaîne, un espace est toujours réservé à droite pour son signe.

Ceci sert à reconstituer une chaîne de caractères à partir de nombres et de sous-chaînes.

Dim prix1, prix2, prix3 as string*10prix1 = Str(459) Renvoie " 459" dans prix1prix2 = Str(-459.65) Renvoie "-459,65"   dans prix2.prix3 = Str(459.001) Renvoie " 459,001" dans prix3.

Total= Str(459.001) & " FF "   Renvoie " 459,001 FF"

Page 5: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Comparaisons de chaînes de caractères

Il faudrait retenir à propos des codes ASCII

(American Code for Information Interchange) que :

espace , chiffres, majuscules, minuscules

* le code de l’espace est plus petit que tout (chiffres et lettres)

* les codes des lettres sont croissants dans l’ordre alphabétique

* les codes des majuscules sont tous supérieurs aux codes des majuscules

* les codes des chiffres sont inférieurs à ceux des lettres

Page 6: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Si nom1= "Dupont"  

nom2= "Durand"

nom3= "DUPONT"  

nom4= "dupont"

Les comparaisons suivantes sont toutes fausses :

Nom1 > nom2

Nom1 >= nom2

Nom1 = nom3

Nom1 > nom3

Nom1 > nom4

Page 7: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour inviter l’utilisateur à saisir une valeur, sans passer par un objet du userform, on peut utiliser la fonction InputBox.

Exemple d ’utilisation : la fenêtre s ’incruste temporairement sur le userform, comme pour MsgBox

Page 8: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

La variable résultat , de type chaîne de caractères, nommée CodeJoueur dans l ’exemple précédent, contiendra la valeur entrée par l’utilisateur (ou la valeur proposée par défaut), si celui-ci sélectionne OK ou appuie sur la touche ENTRÉE.

Si l’utilisateur choisit Annuler, une chaîne de longueur nulle est renvoyée.

CodeJoueur = InputBox(" Entrez un nombre entre 2 et 9 ", " saisie du code joueur ",2)

Le 1° paramètre précise la consigneLe 2° paramètre précise le titre de la boiteLe 3° paramètre propose une valeur de réponse

Page 9: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

C ’est une expression logique qui sera évaluée

par l ’ordinateur, et qui vaudra l ’une ou l ’autre

des valeurs logiques VRAI ou FAUX.

Elle sera construite à l ’aide de

• variables

• valeurs

• expression mathématiques

• comparateurs (= > < etc)

• opérateurs booléens ET NOT OU

Page 10: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

Il est indispensable de savoir que :

et que :

NOT (a ET b) = NOT a OU NOT b

NOT (a OU b) = NOT a ET NOT b

en l ’absence de parenthèses

ET est prioritaire par rapport à OU NOT

est prioritaire par rapport à ET

Page 11: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

Liste des opérateurs par priorité décroissante, en l ’absence de parenthèses

puissance

multiplication, division réelle

division entière

reste de la division entière (MOD)

addition soustraction

= > < >= <= <>

NOT

ET

OU

Page 12: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

Traduction booléenne du texte suivant :

une année A est bissextile, si elle est multiple de

4, sauf si elle est séculaire, auquel cas elle doit

être multiple de 400

une année A est bissextile si

A mod 400 = 0 ou A mod 4 = 0

et A mod 100 <> 0

Faut-il des parenthèses ?

NON

Page 13: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

Synonymes : boucle, répétitive

C ’est une structure de contrôle qui détermine un

choix quant à la répétition du traitement qu’elle

contrôle.

Ce choix dépend de l ’évaluation d ’une

expression booléenne, ou de la valeur du

compteur éventuellement associé à cette boucle.

Page 14: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

En programmation structurée, une boucle doit

toujours être exécutée un nombre entier de fois :

zéro, une ou plusieurs fois.

Son exécution se terminera toujours en fin de

boucle.

Il est interdit d ’interrompre prématurément le

traitement de la répétitive (par un Goto, ou autre

déstabilisateur comme Exit ...)

Page 15: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

On ne mettra donc dans une boucle que

des instructions qui devront toujours

toutes être exécutées le même nombre

de fois.

Page 16: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

Il existe trois boucles différentes, dans

presque tous les langages évolués :

la boucle POUR

la boucle JUSQU ’A

la boucle TANT QUE

Page 17: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

On l ’utilisera chaque fois qu’on sera certain de

toujours pouvoir déterminer, avant d ’y entrer, le

nombre entier exact de fois qu’elle va être

effectivement exécutée.

L ’évolution de la valeur du compteur est

automatique

Il est interdit de la modifier en cours d ’exécution

de la boucle

Page 18: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

On l ’utilisera chaque fois :

• qu ’on ne pourra pas utiliser correctement la

boucle POUR,

• et qu ’on sera certain qu ’il faudra toujours

l ’exécuter au moins une fois.

La condition d ’arrêt sera évaluée après chaque

tour de boucle. La boucle s ’arrêtera lorsque la

condition d ’arrêt sera vraie.

Page 19: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Définitions

On l ’utilisera chaque fois :

• qu ’on ne pourra pas utiliser correctement la

boucle POUR,

• et qu ’on ne sera pas certain qu ’il faudra

toujours l ’exécuter au moins une fois.

La condition d ’autorisation de passage sera

évaluée AVANT chaque tour de boucle. On

n ’entrera dans la boucle que si la condition de

passage sera vraie.

Page 20: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

For compteur = valeur initiale to valeur finale …Next

Exécute un groupe d’instructions un nombrespécifique de fois

Do …Loop Until condition booléenne soit vraie

Exécute un groupe d’instructions JUSQU'ACE QUE une condition booléenne soitVRAIE

Do While condition booléenne est vraie …Loop

Exécute un groupe d’instructions TANTQUEune condition booléenne est VRAIE

Syntaxe des boucles

en Visual Basic

Page 21: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Voici différents moyens pour désigner en Visual-Basic une cellule d ’une feuille

d ’Excel et y mettre la valeur 12

• Range( ’ ’A1 ’ ’) = 12

• Set x =Range( ’ ’A1 ’ ’)

x = 12

• Range( ’ ’A1 ’ ’) .Name = ’ ’age  ’ ’

Range(’ ’age ’ ’) = 12

Page 22: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour mettre en Visual-Basic une formule dans une cellule d ’une feuille d ’Excel

• Range( ’ ’B1 ’ ’) =   ’ ’= sin(RC[-1] ) ’ ’

le R vient du mot Row (niveau de ligne)

et le C vient de Column

Dans la cellule B1 on aura le sinus de la valeur située dans la cellule A1 ( même ligne et colonne précédente par rapport à B1)

Page 23: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Voici différents moyens pour désigner en Visual-Basic une plage de cellules

d ’une feuille d ’Excel

•Range( ’ ’A1:B10 ’ ’) = 12

la valeur 12 est recopiée dans toutes les cellules de la plage  ’ ’A1:B10 ’ ’

attention : ceci ne permet pas la recopie automatique d ’une formule

Page 24: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

•Range( ’ ’prénoms ’ ’) =  ’ ’sophie ’ ’

la valeur  ’ ’sophie ’ ’ est recopiée dans toutes les cellules de la plage  ’ ’prénoms’ ’

Avec la propriété Name, on nomme une plage de cellules. Le nom est visible dans la liste des cellules nommées de la feuille Excel.

•Range (’ ’C2:D10 ’ ’).Name = ’ ’prénoms ’ ’

une plage de cellules d ’Excel en Visual-Basic (suite)

Page 25: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

• PR  =  ’ ’sophie ’ ’ impossible

la valeur  ’ ’sophie ’ ’ n ’ est pas recopiée dans toutes les cellules de la variable PR

• set PR = Range (’ ’C2:D10 ’ ’)

La variable n ’est pas visible dans la liste des cellules nommées de la feuille Excel.

une plage de cellules d ’Excel en Visual-Basic (suite)

Page 26: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

PR.Cells(5,2) désigne la cellule de la 5° ligne , 2° colonne de la plage référencée par PR (c ’est la cellule D6 de la feuille)

• set PR = Range (’ ’C2:D10 ’ ’)

une plage de cellules d ’Excel en Visual-Basic (suite)

PR.Cells(10) désigne la même cellule (les cellules sont implicitement numérotées dans PR ligne par ligne)

Page 27: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

• set PR = Range (’ ’C2:D10 ’ ’)

une plage de cellules d ’Excel en Visual-Basic (suite)

PR.Columns(2) désigne toutes les cellules de la 2° colonne de la plage référencée par PR (ce sont les cellules D2 à D10 de la feuille)

La commande PR.Columns(2) = ’ ’oui ’ ’

remplit toutes les cellules de la 2° colonne de PR avec  ’ ’oui ’ ’

Page 28: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

• set PR = Range (’ ’C2:D10 ’ ’)

une plage de cellules d ’Excel en Visual-Basic (suite)

PR.Rows(7) désigne toutes les cellules de la 7° ligne de la plage référencée par PR (ce sont les cellules C8 et D8 de la feuille)

La commande PR.Rows(7) = 0

remplit toutes les cellules de la 7° colonne de PR avec  0

Page 29: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

PR.Rows.Count indique le nombre total de lignes de la plage PR

• set PR = Range (’ ’C2:D10 ’ ’)

une plage de cellules d ’Excel en Visual-Basic (suite)

PR.Cells.Count indique le nombre total de cellules de la plage PR

PR.Columns.Count indique le nombre total de colonnes de la plage PR

Range(’ ’A1 ’ ’ ) = PR.Cells.Count ??

Page 30: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

PR.Cells(PR.Cells.Count) désigne la dernière cellule de la plage référencée par PR (c ’est la cellule D10 de la feuille)

• set PR = Range (’ ’C2:D10 ’ ’)

une plage de cellules d ’Excel en Visual-Basic (suite)

PR.Cells(9,2) et

PR.Cells(18) et

PR.Cells(PR.Rows.Count,PR.Columns.Count) désignent aussi la même cellule, D10 de la feuille d ’Excel

Page 31: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Private Sub UserForm_Initialize()

Dim i As Integer

For i = 1 To Range("noms").Cells.Count

Range("noms").Cells(i).Interior.ColorIndex = 3

Next i

End Sub

Page 32: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Private Sub UserForm_Initialize()

Dim i As Integer

i = 1

Do

Range("noms").Cells(i).Interior.ColorIndex = 3

Loop Until i = Range("noms").Cells.Count

End Sub

Page 33: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Private Sub UserForm_Initialize()

Dim i As Integer

i = 1

Do

Range("noms").Cells(i).Interior.ColorIndex = 3

i = i + 1

Loop Until i = Range("noms").Cells.Count

End Sub

Page 34: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Private Sub UserForm_Initialize()

Dim i As Integer

i = 1

Do While i < > Range("noms").Cells.Count

i = i + 1

Range("noms").Cells(i).Interior.ColorIndex = 3

Loop

End Sub

Page 35: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Private Sub Choix_AfterUpdate()

L = UCase(Choix.Text)

If L < > "O" or L < > "N " Then

MsgBox ("erreur ")

Else

Range("corrigé!G2") = L

End If

End Sub

Page 36: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Une collection est un objet contenant plusieurs autres objets, généralement, de même type. Dans Excel, par exemple, l'objet Workbooks contient tous les objets de la collection Workbook.

Les éléments d'une collection peuvent être identifiés par un numéro d ’ordre ou par leur nom.

Workbooks(1) identifie le premier objet de Workbook ouvert.Workbooks("TD impôts ") désigne le classeur nommé TD impôts

Page 37: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

De même Worksheets est un objet particulier de la collection Worksheet .

Pour créer depuis Visual-Basic une nouvelle feuille de calcul dans la classeur courant, et l'insérer par défaut avant la feuille active, on utilise la méthode Add. Worksheets.Add

Pour ajouter une nouvelle feuille de calcul après la dernière feuille du classeur actif on ajoute la méthode Move, en précisant la valeur de son paramètre after

Worksheets.Add.Move after := Worksheets( Worksheets .Count)

Page 38: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour créer et nommer une feuille de calcul dans le classeur actif

ActiveWorkbook.Worksheets.Add.Name = " planning "  

Pour créer et nommer et pouvoir faire référence cette feuille de calcul par un nom de variable

Set plan= Worksheets.Addplan.Name =    " planning "

Page 39: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

La méthode ClearContents, appliquée à une plage nommée auparavant "Critères »dans la 1° feuille du classeur actif, efface les formules, les données de cette plage mais conserve la mise en forme.

Worksheets(1).Range("Critères").ClearContents

Pour annuler, avec la méthode ClearFormats, toutes les mises en forme des cellules A1 à G37 de la feuille "calculs", qui n ’est pas forcément la feuille active, on a intérêt à préciser son nom.

Worksheets("calculs").Range("A1:G37").ClearFormats

Page 40: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour changer de feuille active, ce qui correspond sous Excel, à cliquer sur son onglet (ça ne la sélectionne pas), on emploie la méthode Activate.

Worksheets("bilan").ActivateOn fait de même pour passer sur un autre classeur ouvert, pour en faire le classeur actif.

Workbooks("TD VB1").Activate

Pour sélectionner une cellule, ou une plage de cellules en vue de leur appliquer un traitement (commun), on utilise la méthode Select.

Ceci correspond à la sélection qu ’on fait à la souris sous Excel.

Range("A1:B3").Select

Page 41: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour couper la plage A1:D10 de la feuille résultats et la placer dans le Presse-papiers.

Worksheets("résultats").Range("A1:D10").Cut

Pour copier-coller les cellules A1:D10 de la feuille calculs dans la feuille graphique, à partir de la cellule E5, on utilise un copy en précisant sa destination

Worksheets("calculs").Range("A1:D10").Copy _ destination:= Worksheets("graphique").Range("E5")

Page 42: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour modifier plusieurs propriétés d'un seul objet, placez les instructions d'affectation de propriétés dans la structure de contrôle With ; vous ne faites ainsi référence qu'une seule fois à l'objet, au lieu de le faire à chaque affectation de propriété.

With conclusion.Height = 2000 .Width = 2000.Caption = " vous avez réussi ».visible=true

End With

Ceci précise la hauteur, la largeur et le texte d ’un objet nommé conclusion de type label, et le rend visible.

Page 43: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour remplir une plage de cellules avec le nombre 30, appliquer un formatage de caractères gras et choisir la couleur jaune (rouge + vert) pour l'intérieur des cellules.

With Worksheets( "jeu").Range("A1:C10").Value = 30.Font.Bold = True.Interior.Color = RGB(255, 255, 0)

End With

c ’est plus lisible que ceci : Worksheets( "jeu").activate Range("A1:C10").Value = 30 Range("A1:C10").Font.Bold = True Range("A1:C10"). Interior.Color=RGB(255, 255, 0)

Page 44: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Attention

une fois que l'exécution d'un bloc With est commencée, vous ne pouvez pas changer d’objet.

Vous ne pouvez donc pas utiliser une même instruction With pour modifier plusieurs objets.

Page 45: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Lorsqu’on veut pouvoir déclencher un programme sans aller dans l ’éditeur de Visual-Basic, on définit un bouton dans une barre d ’outils, ou un bouton de commande sur une feuille, et on lui associe une macro telle que celle-ci :

Private Sub démarre()‘ ouverture du classeur ( nécessaire si on a ‘  cliqué sur un bouton dans une barre d ’outils)

Workbooks.Open("C:\Moi\MonJeu.xls")‘ charge le userform sans l’afficher

Load UserFormJeu‘ affiche le userform

UserFormJeu.ShowEnd Sub

Page 46: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Lorsque le projet nécessite plusieurs userforms, on les charge, on les affiche, et on peut les masquer temporairement, puis les décharger pour libérer de la place en mémoire centrale.

La méthode Hide sert à masquer un objet, ici de type userform, sans le décharger.

UserFormJeu.Hide

La méthode Unload sert à le décharger.UserFormJeu.Unload

Le userform de ces exemples se nomme UserFormJeu, et non pas seulement Jeu

Page 47: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour désigner des plages multizones, c'est-à-dire, des plages composées d'au moins deux blocs de cellules contiguës, on utilise Union(plage1, plage2, ...).

Dim r1, r2, r1r2 As RangeWorksheets("résultats").ActivateSet r1 = Range("A1:B2")Set r2 = Range("C3:D4")Set r1r2 = Union(r1, r2)r1r2.Select

Cet exemple crée un objet unique correspondant à l'union des plages A1:B2 et C3:D4, puis sélectionne la nouvelle plage définie.

Page 48: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

On a souvent besoin de savoir quel est lecteur, et le répertoire actifs .La fonction CurDir renvoie le chemin d'accès courant.

Exemple

Si le chemin d'accès courant sur le lecteur C: est C:\LO10\Excelet si le chemin d'accès courant sur le lecteur D: est

D:\Stageet si C: est le lecteur courant, alors : Chemin1 = CurDir Renverra " C:\LO10\Excel " Chemin2 = CurDir("C")' Renverra "C:\LO10\Excel". Chemin3= CurDir("D")' Renverra "D:\stage".

Page 49: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour changer de lecteur courant on utilise l'instruction ChDrive .

ChDrive "D" fait de "D" le lecteur courant.

L'instruction ChDir change le répertoire par défaut mais pas le lecteur par défaut.

Par exemple, si C est le lecteur par défaut, l'instruction ci-dessous change le répertoire par défaut sur le lecteur D, mais C reste le lecteur par défaut :

ChDir "D:\TMP"

Page 50: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Pour créer un nouveau répertoire ou dossier dans le répertoire courant, on utilise l'instruction MkDir , abrégé de Make Directory

Si le lecteur n'est pas indiqué dans le paramètre, le nouveau répertoire ou dossier est créé sur le lecteur courant.

MkDir "gestion"

Le fait de préciser le lecteur ne le rend pas actif par défaut

Si C: est le lecteur actif, après l’instruction suivante il le sera encore

MkDir "D:gestion"

Page 51: La fonction Val renvoie la conversion numérique du nombre éventuellement contenu dans une chaîne, sans modifier la chaîne dorigine. nb1 = Val("2457") Renvoie

Précisions sur les chemins

Si sur E: le répertoire courant est Td ,

MkDir "E:Excel" crée un répertoire Excel dans Td

MkDir "E:\Excel" crée un répertoire Excel de même niveau que L010 et Mt11