67
Color
Propriété (Borders, Font, Interior) correspondant à une couleur, généralement exprimée comme un
mélange des 3 couleurs primaires (rouge, vert, bleu) avec une intensité de chacune codée entre 0 (absence)
et 255 (maximum) à l'aide de la notation RGB(rouge, vert, bleu)
Exemple : ActiveCell.Interior.Color = RGB(255, 0, 0) ' fond rouge
ColorIndex
Propriété (Borders, Font, Interior) correspondant à une couleur, désignée par un rang dans une palette
de 56 couleurs (1 noir, 2 blanc, 3 rouge, 4 vert, 5 bleu, 6 jaune etc.)
Exemple : ActiveCell.Font.ColorIndex = 5 ' texte bleu
Delete(décalage)
Méthode de cellule, pour effectuer une suppression avec décalage des cellules voisines soit à droite
(xlShiftToLeft), soit en-dessous (xlShiftUp), soit si non indiqué choisies par Excel. .
Exemple : Range("H1:H2").Delete(xlShiftUp)
Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase)
Méthode de plage de cellules, pour y rechercher une valeur (What) ; la recherche s'effectue à partir de la
cellule située juste après celle indiquée avec le paramètre After mais de manière circulaire dans la plage
(retour à la première cellule après la dernière) ; le paramètre LookIn indique la nature du contenu de cellule à
considérer, soit la valeur (xlValues), soit la formule (xlFormulas), soit le commentaire associé
(xlComments) ; la mise en correspondance s'effectue selon le paramètre LookAt soit sur l'ensemble du
contenu de cellule (xlWhole) soit toute partie de ce contenu (xlPart) ; le mode de parcours de la plage est
défini selon le paramètre SearchOrder soit par colonne (xlByColumns) soit par lignes (xlByRows) ; le sens
de la recherche est défini par le paramètre SearchDirection soit en avant (xlNext) soit en arrière
(xlPrevious) ; la recherche de texte est réalisée selon le paramètre MatchCase en distinguant (True) ou
en confondant (False) la minuscule et la majuscule des lettres. La méthode renvoie la référence de la
première cellule trouvée dans la plage ou un objet indéfini si la recherche est infructueuse (cf. Nothing).
Exemple : Set cellule = Range("A1:F27").Find(What:="bon", _
After:=Range("A27"), LookIn:=xlValues, lookAt:=xlWhole, _
SearchDirection:=xlNext, searchOrder:=xlByRows, MatchCase:=False)
Remarques :
•
En cas de non indication de la valeur du paramètre After, la recherche démarre à partir de la cellule située
immédiatement après celle en début de la plage dans le coin supérieur gauche.
•
La recherche peut être poursuivie avec les méthodes FindNext() ou FindPrevious().
•
Il est sage d'indiquer la valeur des paramètres LookIn, LookAt, SearchOrder, SearchDirection et
MatchCase, car sinon leur valeur est alors celle définie lors de la dernière indication à l'appel des
méthode Replace() et Find(), ou bien lors de la dernière utilisation des commandes E
DITION
R
ECHERCHER
/ R
EMPLACER
dans le tableur Excel.
•
Voir aussi l'opérateur Like notamment pour l'utilisation de motifs de recherche.
•
Il existe un paramètre d'appel supplémentaire et final (MatchByte) à n'utiliser que dans le cas particulier
où Excel est paramètré pour l'usage d'alphabets spéciaux (codage d'un caractère sur deux octets).
FindNext(After)
Méthode de plage de cellules, pour y reprendre une recherche initiée par la méthode Find() ; la recherche
s'effectue à partir de la cellule située juste après celle indiquée avec le paramètre After mais de manière
circulaire dans la plage (retour à la première cellule après la dernière). La méthode renvoie la référence de la
première cellule trouvée dans la plage ou un objet indéfini si la recherche est infructueuse (cf. Nothing).
Exemple : Set cellule = Range("A1:F27").FindNext(cellule)
Remarque : s'il n'existe qu'une seule occurence de la valeur recherchée, le résultat de cette méthode
renverra alors cette occurence (même si trouvée précédemment).
FindPrevious(After)
Méthode de plage de cellules, pour y reprendre en sens inverse une recherche initiée par la méthode Find() ;
la recherche s'effectue à partir de la cellule située juste avant celle indiquée avec le paramètre After mais de
manière circulaire dans la plage (retour à la dernière cellule après la première). La méthode renvoie la
référence de la première cellule trouvée dans la plage ou un objet indéfini si la recherche est infructueuse
(cf. Nothing).
Exemple : Set cellule = Range("A1:F27").FindPrevious(cellule)
Remarque : s'il n'existe qu'une seule occurence de la valeur recherchée, le résultat de cette méthode
renverra alors cette occurence (même si trouvée précédemment).
Aide-mémoire minimal de Visual basic pour Excel - Page 26
66
Font
Ensemble des caractéristiques du texte de la cellule : Name (police de caractères), Size (taille), Color ou
ColorIndex (couleur), Bold (en gras), Italic (en italiques), Underline (souligné)
Exemple :
With Selection.Font ' pour la sélection courante
.Name = "Arial" ' police Arial
.Size = 14 ' taille de 14 points
.Bold = True ' en gras
.Italic = False ' pas d'italiques
.Color = RGB(255, 0, 0) ' rouge
End With
Formula
Propriété correspondant au contenu de la cellule sous la forme d'une formule en style « A1 », exprimée dans
la langue de Visual basic (anglais a priori).
Exemples :
Range("A2").Formula = "=A1"
Range("A2").Formula = "=today()" ' date du jour en anglais
FormulaLocal
Propriété correspondant au contenu de la cellule sous la forme d'une formule en style « A1 », exprimée dans
la langue de Excel sur le poste (français a priori).
Exemples :
Range("A2").FormulaLocal = "=A1"
Range("A2").FormulaLocal = "=aujourdhui()" ' date du jour en français
FormulaR1C1
Propriété correspondant au contenu de la cellule sous la forme d'une formule en style « L1C1 », exprimée
dans la langue de Visual basic (anglais a priori, avec « R » pour la ligne et des crochets « [ ] » pour la
notation relative).
Exemples :
Range("A2").FormulaR1C1 = "=R[-1]C" ' valeur de la cellule en A1
Range("A2").FormulaR1C1 = "=today()" ' date du jour en anglais
FormulaR1C1Local
Propriété correspondant au contenu de la cellule sous la forme d'une formule en style « L1C1 », exprimée
dans la langue de Excel sur le poste (français a priori).
Exemples :
Range("A2").FormulaR1C1Local = "=L(-1)C" ' valeur de la cellule en A1
Range("A2").FormulaR1C1Local = "=aujourdhui()" ' date du jour en français
Insert(décalage)
Méthode de cellule, pour effectuer une insertion avec décalage de cellules soit vers la droite
(xlShiftToRight), soit vers le bas (xlShiftDown), soit si non indiqué choisi par Excel.
Exemple : Range("A5:H5").Insert(xlShiftDown)
Interior
Propriété du fond de la cellule, avec la possibilité de manipuler sa couleur : Color ou ColorIndex
Exemple : ActiveCell.Interior.ColorIndex = 3 ' fond rouge
Replace(What, Replacement, LookAt, SearchOrder, MatchCase)
Méthode de plage de cellules, pour remplacer dans le contenu de cellule (valeur ou formule) toute occurence
d'un texte original (What) par un autre (Replacement) ; la mise en correspondance s'effectue selon le
paramètre LookAt soit sur l'ensemble du contenu de cellule (xlWhole) soit toute partie de ce contenu
(xlPart) ; le mode de parcours de la plage est défini selon le paramètre SearchOrder soit par colonne
(xlByColumns) soit par lignes (xlByRows) ; la recherche du texte original est réalisée selon le paramètre
MatchCase en distinguant (True) ou en confondant (False) la minuscule et la majuscule des lettres.
Exemple : Selection.Replace What:="bon", Replacement:="bien", _
lookAt:=xlWhole, searchOrder:=xlByRows, MatchCase:=False
Remarques :
•
Il est sage d'indiquer la valeur des paramètres LookAt, SearchOrder et MatchCase, car sinon leur valeur
est alors celle définie lors de la dernière indication à l'appel des méthode Replace() et Find(), ou bien
lors de la dernière utilisation des commandes E
DITION
R
ECHERCHER
/ R
EMPLACER
dans le tableur Excel.
•
Cette méthode renvoie toujours la valeur vraie (True).
Aide-mémoire minimal de Visual basic pour Excel - Page 27
53
•
Il existe un paramètre d'appel supplémentaire et final (MatchByte) à n'utiliser que dans le cas particulier
où Excel est paramètré pour l'usage d'alphabets spéciaux (codage d'un caractère sur deux octets).
Select
Méthode de cellule, pour effectuer une sélection.
Exemple : Range("A1:A10").Select
Value
Propriété correspondant au contenu de la cellule renvoyée sous la forme de sa valeur (et non pas une
éventuelle formule) ; en modification, comme pour Formula, il est possible d'indiquer une formule en style
« A1 », exprimée dans la langue de Visual basic (anglais a priori).
Exemples :
Selection.value = 0 ' mise à zéro des cellules sélectionnées
Range("A1").value = "=today()" ' date du jour dans la 1ère cellule
Range("A1").value ' vaut alors par exemple "05/01/2006"
Remarques :
•
Utiliser la fonction IsEmpty() afin de détecter une cellule à contenu vide.
•
Cette propriété est la valeur par défaut d'indication pour une cellule ; ainsi ActiveCell et
ActiveCell.value désignent la même valeur dans une expression.
III.4 PRINCIPALES MANIPULATIONS DE FEUILLES DE CALCUL
Voici les principales propriétés et méthodes associées à une feuille de calcul.
Activate
Méthode d'activation d'une feuille existante.
Exemple : Worksheets(2).Activate
Delete
Méthode de suppression d'une feuille, avec demande interactive de confirmation par Excel ; il est possible
d'éviter cette demande de confirmation, en modifiant Application.DisplayAlerts.
Exemple :
Application.DisplayAlerts = False ' desactivation de la confirmation
Worksheets("transit").Delete
Application.DisplayAlerts = True ' réactivation de la confirmation
Index
Propriété d'une feuille correspondant à son rang (compté à partir de 1).
Exemple : message = "Feuille n°" & ActiveSheet.index
Name
Propriété d'une feuille correspondant à son nom.
Exemple : message = "Feuille " & ActiveSheet.name
Protect
Méthode de protection d'une feuille, avec un mot de passe facultatif.
Exemples :
Worksheets("mesures").protect
Worksheets("calcul").protect("Zut!") ' avec mot de passe "Zut!"
Unprotect
Méthode d'annulation de la protection d'une feuille, avec un éventuel mot de passe.
Exemples :
Worksheets("mesures").unprotect
Worksheets("calcul").unprotect("Zut!") ' avec mot de passe "Zut!"
UsedRange
Propriété d'une feuille : plus petite plage rectangulaire contenant toutes ses cellules utilisées, c'est-à-dire
avec une valeur ou une mise en forme définie explicitement.
Exemple : Activesheet.UsedRange.select
Aide-mémoire minimal de Visual basic pour Excel - Page 28
63
III.5 QUELQUES MANIPULATIONS DE BOÎTE DE DIALOGUE
Voici une présentation très succincte des boîtes de dialogue, soit utilisées pour afficher un message ou poser
une question, soit créées par le programmeur (UserForm) ; ces dernières sont généralement désignées par
une variable portant leur nom ou, dans une procédure privée associée à un événement lié à une de leurs
zones, par le mot-clef Me.
AddItem Item
Méthode d'une zone à liste (ComboBox, ListBox), ajoutant un texte (Item) en dernier élément de la liste.
Exemple : CBListe.AddItem "Hiboux"
Clear
Méthode d'une zone de saisie (TextBox, ComboBox, ListBox), provoquant l'effacement de son contenu, y
compris la suppression de la liste des valeurs possibles dans une zone à liste.
Exemple : CBListe.clear
ComboBox
Classe de zone où la valeur (Text) peut être soit choisie dans sa liste, soit saisie directement ; la liste peut
être construite avec AddItem ou détruite avec Clear.
Hide
Méthode de masquage d'une boîte de dialogue.
Exemple : boiteSaisie.Hide ' boîte de nom "boiteSaisie"
InputBox(Prompt, Title, Default)
Fonction d'ouverture d'une boîte de dialogue pour saisie une valeur, avec une question et une valeur
proposée, retournant la valeur saisie par l'utilisateur ; principaux paramètres d'appel :
•
Prompt : texte de la question à afficher dans la boîte au-dessus de la zone de saisie.
•
Title : facultatif, titre de la boîte de dialogue ; choisi automatiquement par l'application si absent à l'appel.
•
Default : facultatif, valeur automatiquement proposée ; rien si absent à l'appel.
Exemples :
nb = InputBox("Quantité ?", "Saisie", 1)
age = InputBox(Prompt:="Age" ?, Title:="Saisie", Default:=23)
Remarques :
•
Si l'utilisateur annule la saisie, il est renvoyé une chaîne vide.
•
D'autres paramètres permettent de fixer la position de la boîte sur l'écran (Left, Top) ou de fixer le type de
la donnée renvoyée (Type) qui est String par défaut d'indication.
ListBox
Classe de zone où la valeur (propriété Text) peut être choisie dans une liste mais pas saisie (pour cela
utiliser ComboBox) ; la liste peut être construite avec la méthode AddItem ou détruite avec la méthode
Clear.
ListCount
Propriété d'une zone à liste (ComboBox, ListBox), donnant la taille de la liste de ses valeurs.
Exemple : nbOptions = CBListe.listCount
ListIndex
Propriété d'une zone à liste (ComboBox, ListBox), correspondant au rang (compté à partir de zéro) de la
sélection courante dans la liste de ses valeurs ; la modification cette propriété provoque la sélection de la
valeur de l'élément correspondant.
Exemples :
CBListe.ListIndex = 0 ' choix du premier élément
CBListe.ListIndex = CBListe.ListCount - 1 ' choix du dernier élément
MsgBox(Prompt, Buttons, Title)
Fonction d'ouverture d'une boîte de dialogue pour afficher le message, avec le titre et l'aspect indiqués, et
retournant un code entier selon l'action de l'utilisateur ; principaux paramètres d'appel :
•
Prompt : texte du message à afficher dans la boîte.
•
Buttons : code facultatif pour l'aspect correspondant essentiellement soit à un bouton unique de validation
(vbOkOnly), soit aux boutons de validation et d'annulation (vbOKCancel), soit aux boutons de réponse
par oui ou non (vbYesNo) ; bouton de validation seul si paramètre absent à l'appel.
•
Title : facultatif, titre de la boîte de dialogue ; choisi automatiquement par l'application si absent à l'appel.
et principaux codes retournées : vbOK (validation), vbCancel (annulation), vbYes (oui), vbNo (non).
Aide-mémoire minimal de Visual basic pour Excel - Page 29
49
Exemples :
call MsgBox("Rien ne va plus", ,"Alerte")
reponse = MsgBox(Prompt:="Encore ?", Buttons:=vbYesNo, Title:="Calcul")
Show
Méthode d'affichage d'une boîte de dialogue, initialement avec création ou après masquage (Hide).
Exemple : boiteSaisie.show ' boîte de nom "boiteSaisie"
Text
Propriété d'une zone (TextBox, ComboBox, ListBox), donnant le texte contenu ou sélectionné.
Exemple : nom = TextNom.Text ' contenu de la zone de texte "TextNom"
TextBox
Classe de zone correspondant à la saisie d'un texte (Text).
Unload(boîte)
Procédure de fermeture d'une boîte de dialogue.
Exemple : Call Unload(me) ' dans une procédure privée associée à une boîte
Value
Propriété d'une zone (TextBox, ComboBox, ListBox), donnant le texte contenu ou sélectionné.
Exemple : nom = TextNom.value ' contenu de la zone de texte "TextNom"
zone
Elément (Control) d'une boîte de dialogue (UserForm) pouvant être une zone de texte (TextBox) ou une
zone de liste (ComboBox, ListBox) dans le cadre de cette présentation.
IV - QUELQUES ÉVÉNEMENTS
Activate
Evénement associé à l'activation d'une feuille ou d'un classeur.
AfterUpdate
Evénement associé à la fin de la modification d'une zone de saisie (TextBox, ComboBox, ListBox) ; utile
notamment pour une zone de texte (TextBox) où il se déclenche seulement à la fin de la saisie ou des
modifications, et non pas à chaque frappe ou correction d'une lettre (comme Change)
BeforeDoubleClick
Evénement associé au double clic de souris dans une feuille, avec identification de la cellule la plus proche
(paramètre Target).
BeforeRightClick
Evénement associé au clic avec le bouton droit de la souris dans une feuille, avec identification de la cellule
la plus proche (paramètre Target).
Calculate
Evénement associé au recalcul d'une feuille.
Change
Evénement associé à la modification du contenu d'une cellule (paramètre Target) ou de celui d'une zone de
saisie (TextBox, ComboBox, ListBox) ; cet événement ne correspond pas au recalcul de la feuille ou à la
suppression de cellule. Dans le cas d'une zone de texte (TextBox), il se déclenche à chaque frappe ou
correction d'une lettre et non pas uniquement à la fin de la saisie ou des modifications (comme
AfterUpdate).
Click
Evénement associé au clic sur un bouton de commande, ou à une sélection dans une zone de liste
(ComboBox, ListBox).
Deactivate
Evénement associé à la fin de l'activation d'une feuille ou d'un classeur.
SelectionChange
Evénement associé à une nouvelle sélection (le paramètre Target désigne la plage sélectionnée)
Aide-mémoire minimal de Visual basic pour Excel - Page 30
Documents you may be interested
Documents you may be interested