VBA Excel général suite Flashcards

1
Q

Sélection des cellules C5, D4 et F8 :

A

Range(“C5, D4, F8”).Select

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

le code ci-dessous sélectionne une plage de B2 à E8 :

A

Range(“B2:E8”).Select

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cells, une autre classe pour les cellules…

Les cellules sont des instances de Range, mais aussi de la classe Cells. La différance de code:

A

Range(“E3”).Select
Cells(3, 5).Select

C’est exactement l’inverse de l’adressage que nous connaissons dans le tableur. D’abord la ligne, ensuite la colonne.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Offset

A

Vous avez été traumatisés par les translations en maths ? Aïe pour vous. On va apprendre une technique qui sert à décaler une sélection à partir de la cellule active.

La cellule active est gérée par la classe ActiveCell. La classe nouvelle qui effectuera le décalage est Offset.

Offset attend deux arguments : le nombre de lignes puis le nombre de colonnes du décalage. Il ne faut pas se tromper dans le signe. Des exemples ? En voici :

Sub decalages()

‘La cellule active ne bouge pas :

ActiveCell.Offset(0, 0).Select

‘Décalage d’une ligne vers le bas et d’une colonne vers la droite :

ActiveCell.Offset(1, 1).Select

‘Décalage d’une ligne vers le haut et de trois colonnes vers la gauche :

ActiveCell.Offset(-1, -3).Select

End Sub

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Les lignes du tableur sont des objets de la classe (1). La sélection de la deuxième ligne du classeur actif peut se faire comme ceci :

A
  1. Rows

Rows(“2”).Select

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Tout comme pour les cellules, on peut aussi sélectionner une plage de lignes contiguës :

’ Sélection des lignes 2 à 5 incluses :

A

Rows(“2:5”).Select

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

On utilise toujours la même méthode (Select). C’est juste la classe qui change :)

Tout comme pour les cellules, on peut aussi sélectionner une plage de lignes contiguës :

’ Sélection des lignes 2 à 5 incluses :

Rows(“2:5”).Select
Les lignes peuvent aussi être discontinues. Dans ce cas, la syntaxe est la suivante :

A

Range(“2:2, 5:5, 6:8”).Select

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

La méthode pour sélectionner des colonnes est la même que pour sélectionner des lignes. Nous allons juste utiliser la classe Columns qui s’occupe des colonnes du tableur ;) Je pense que vous savez désormais sélectionner une colonne…

A

‘Sélection de la colonne C :

Columns(“C”).Select
Vous pouvez aussi sélectionner une plage de colonnes :

‘Sélection des colonnes C, D, E et F :

Columns(“C:F”).Select
Et comme pour les lignes, on se tourne vers la classe Range pour la sélection d’objets discontinus :

‘Sélection des colonnes A, C et G :

Range(“A:A, C:C, G:G”).Select

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Nous savons maintenant ce qu’est une variable. Il est temps d’apprendre à les créer ! On parle alors de déclaration de variable. Il existe deux méthodes de déclaration : explicite et implicite. Étudions les deux méthodes.

A
  1. La déclaration de variable explicite est très simple, voici la syntaxe :

Dim ma_variable_explicite [As type]
Étudions ce bout de code.

Pour déclarer une variable, on écrit en premier Dim. Vient ensuite le nom de notre variable qu’il faut un minimum explicite, mais pas non plus une phrase. Enfin, le type de la variable. Il est ici entre crochets puisqu’il n’est pas obligatoire. S’il n’est pas indiqué, la variable est de type Variant par défaut (nous allons voir les différents types ultérieurement).

  1. On peut ensuite attribuer une valeur à notre variable :

ma_variable_explicite = 10
Déclaration implicite

La déclaration de variable explicite était simple, l’implicite l’est encore plus ! Voici la syntaxe :

ma_variable_implicite = 6
Vous avez compris le truc ? Et bien, la variable est utilisée directement. Elle n’a pas été déclarée avec Dim. Le programme demande automatiquement de créer cette variable, qui sera par défaut de type Variant et aura pour valeur 6.

Cette approche peut poser problème et engendrer des erreurs difficiles à détecter si vous n’orthographiez pas correctement le nom de la variable dans une commande ultérieure du programme.

Par exemple, si dans la suite de votre programme vous faites référence à ma_variabl_implicite au lieu de ma_variable_implicite, vous savez ce que cela signifie, mais VBA l’ignore. Il va supposer que ma_variabl_implicite est une nouvelle variable et la créé en tant que telle. L’ancienne variable, ma_variable_implicite, est toujours là, mais elle n’est plus utilisée. Vous avez à présent deux variables différentes alors que vous pensez n’en avoir qu’une seule. Cela peut causer d’énormes problèmes qui peuvent prendre beaucoup de temps à être résolus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Afficher “bonjour” dans une boite de dialogue

A

Sub bonjour()

MsgBox “Bonjour”

End Sub

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

n type de données peut être attribué à une variable ce qui permet de déterminer le type d’information que la variable peut stocker. Cette décision peut avoir un effet sur l’efficacité de votre code. Si aucun type de données n’est spécifié, le type par défaut est Variant.

On rappelle que pour attribuer un type à une variable, il faut faire suivre le type lors de la déclaration de variable.

Dim ma_variable As String
Variant

Une variable de type Variant peut stocker tous les types de données, par exemple, du texte, des nombres, des dates ou bien encore d’autres informations. Elle peut même stocker un tableau entier. Une variable Variant peut modifier librement son type pendant l’exécution du code alors que ceci est impossible à réaliser avec un autre type de données (par exemple String).

Vous pouvez utiliser la fonction …. pour trouver le type de données que contient une variable Variant.

A

VarType

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

n type de données peut être attribué à une variable ce qui permet de déterminer le type d’information que la variable peut stocker. Cette décision peut avoir un effet sur l’efficacité de votre code. Si aucun type de données n’est spécifié, le type par défaut est Variant.

On rappelle que pour attribuer un type à une variable, il faut faire suivre le type lors de la déclaration de variable.

Dim ma_variable As String
Variant

Une variable de type Variant peut stocker tous les types de données, par exemple, du texte, des nombres, des dates ou bien encore d’autres informations. Elle peut même stocker un tableau entier. Une variable Variant peut modifier librement son type pendant l’exécution du code alors que ceci est impossible à réaliser avec un autre type de données (par exemple String).

Vous pouvez utiliser la fonction …. pour trouver le type de données que contient une variable Variant.

A

VarType

Sub TestVariables()

’ On déclare implicitement une variable qui est du texte.
ma_variable = “le_site_du_zéro”

'On affiche le type de la variable
MsgBox VarType(ma_variable)

‘On change la valeur de la variable pour mettre un nombre
ma_variable = 4

'On affiche le nouveau type de la même variable
MsgBox VarType(ma_variable)

End Sub

La boite de dialogue affichera d’abord la valeur 8 puis la valeur 2.

Mais, je croyais que la fonction nous renvoyait le type de la variable ?
C’est le cas, sauf qu’au lieu de vous le donnez en toutes lettres. On vous donne un chiffre qui correspond à un type. Voilà le tableau des correspondances :

Valeur de retour
Type
0
Empty
1
Null
2
Integer
3
Long
4
Single
5
Double
6
Currency
7
Date/Time
8
String
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Même si Variant stocke tout type de données, il n’est pas indifférent à ce qu’il contient. En effet, vous avez vu dans l’exemple précédant que Varient identifie le type de données. Ainsi, si vous essayez d’effectuer des calculs avec une variable de type Variant mais contenant du texte, une erreur apparait. Il existe une fonction pour savoir si la variable est de type numérique ou non et donc ainsi faire des calculs. Cette fonction est … et fonctionne comme la fonction VarType. Si la variable comprend un nombre, la fonction renvoie Vrai, sinon elle renvoie Faux.

A

IsNumeric

How well did you know this?
1
Not at all
2
3
4
5
Perfectly