Utilisation des boutons de contrôles de la feuille de calcul dans Excel VBA

Les contrôles de feuille de calcul vous aident à créer une interface de projet individuelle intégrée directement dans la feuille de calcul, c’est-à-dire une interface aussi proche que possible de l’utilisateur. Ils automatisent le travail de l’utilisateur, le simplifiant ainsi et augmentant l’efficacité du travail. Des contrôles de ce type créent également la protection nécessaire pour vos données.

1 Présentation des commandes de la barre d’outils
Les contrôles font partie intégrante de l’interface graphique de Windows. Des exemples de contrôles sont les boutons de commande, les zones de texte, les listes, les barres de défilement et d’autres éléments d’interface que vous pouvez utiliser pour entrer un nombre, sélectionner une valeur ou effectuer une autre action. Divers contrôles peuvent être placés sur une feuille de calcul Excel. On accède aux contrôles en cliquant sur le bouton Insérer, qui se trouve sous l’onglet Développeur de ruban, dans le groupe Contrôles. Il convient de noter que lorsque vous cliquez sur le bouton Insérer, deux groupes de contrôles sont disponibles : les Contrôles de formulaire et les Contrôles ActiveX, comme le montre la figure suivante.

Le groupe Contrôles de formulaire est principalement destiné à garantir la compatibilité avec les documents des versions antérieures d’Excel (jusqu’à Excel 97) qui utilisent les contrôles correspondants. Ils sont beaucoup moins puissants que les contrôles trouvés dans le panneau de Contrôle ActiveX. Certains de ces éléments ne peuvent pas du tout être utilisés dans les documents Excel récents comme les zones de texte et les zones de liste déroulante. Cependant, ils ont un certain nombre de fonctionnalités que les contrôles ActiveX n’ont pas, par exemple, ils peuvent être placés sur des feuilles de graphique.
Les contrôles ActiveX sont des composants indépendants de diverses applications et peuvent également être utilisés dans Excel.  Le tableau suivante représente une liste des commandes principales et des boutons correspondants de la barre d’outils.

Bouton Préfixe Icône Description
Etiquette ou Label

 

Lbl Permet d’ajouter un texte que l’utilisateur ne pourra pas modifier, comme une légende sous un graphique.
Zone de texte ou Textbox Txt Contient le texte que l’utilisateur entre ou peut modifier.
Zone de liste déroulante ou Combobox Cbo Permet de tracer une zone de liste combinée à une zone de texte.
Zone de liste ou

Listbox

Lst Affiche une liste des éléments que l’utilisateur peut choisir.
Case à cocher ou Checkbox Chk Crée une case que l’utilisateur peut facilement cocher pour indiquer si un élément est vrai ou faux.
Case d’option ou OptionButton Opt Permet d’afficher plusieurs options parmi lesquelles l’utilisateur ne peut en choisir qu’une seule.
Bouton bascule ou ToggleButton Tgl Crée un bouton qui peut être activé et désactivé.
Cadre ou

Frame

Permet de créer un groupement graphique ou fonctionnel de contrôles.
Bouton de commande ou CommandButton Cmd Crée un bouton que l’utilisateur peut choisir pour exécuter une commande.
Contrôle d’onglet  ou TabStrip Permet de définir plusieurs pages pour la même zone d’une fenêtre ou d’une boîte de dialogue dans votre application.
MultiPage Présente plusieurs écrans d’informations sous la forme d’un ensemble.
Barre de défilement ou ScrollBar Scr Outil graphique qui permet d’accéder rapidement aux nombreux éléments d’une liste ou à une quantité importante d’informations, d’indiquer la position actuelle sur une échelle.
Toupie

SpinButton

 

Spn

Contrôle de compteur que vous pouvez utiliser avec un autre contrôle pour incrémenter et décrémenter des nombres. Vous pouvez également vous en servir pour faire défiler les valeurs.
Image Img Affiche une image graphique d’une bitmap, d’une icône ou d’un métafichier sur votre formulaire. Les images affichées dans un contrôle Image sont uniquement décoratives et utilisent moins de ressources qu’un PictureBox.
Autres contrôles Affiche une liste de contrôles ActiveX supplémentaires disponibles sur votre ordinateur que vous pouvez ajouter sur un formulaire personnalisé.

1.1 Positionner un contrôle sur une feuille de calcul
La création d’un contrôle sur une feuille de calcul implique deux étapes : placer le contrôle sur la feuille de calcul et le personnaliser.
La personnalisation implique de définir les propriétés du contrôle, en particulier, vous pouvez lier le contrôle et certaines cellules de la feuille de calcul, personnaliser l’apparence du contrôle et ses autres paramètres.
Pour placer un contrôle sur une feuille de calcul, procédez comme suit:
1. Cliquez sur le bouton Insérer de l’onglet Développeur du ruban dans le groupe Contrôles et sélectionnez le contrôle approprié dans le panneau déroulant de l’un des groupes: Contrôles de formulaire ou Contrôles ActiveX. Le pointeur de la souris se transforme en croix.
2. Placez le pointeur de la souris à la position de la feuille de calcul où vous souhaitez placer le contrôle et cliquez sur le bouton gauche de la souris. Le contrôle apparaîtra sur la feuille de calcul.
3. Déplacer les carrés blancs pour contrôler les marqueurs de bordure et changer sa taille à votre guise.
Si vous devez sélectionner des contrôles supplémentaires dans la boîte de dialogue:
1. Cliquez sur le bouton « Autres contrôles »  dans la barre d’outils Contrôles ActiveX comme le montre la figure suivante.

  1. Sélectionnez le contrôle requis dans la liste qui apparaît. Le pointeur ressemblera à une croix.
    3. Déplacez le pointeur vers la position sur la feuille de calcul où vous souhaitez positionner le contrôle et cliquez. L’élément apparaîtra sur la feuille de calcul.
    4. Si nécessaire, redimensionnez le contrôle.
    Le contrôle n’est lié à aucun emplacement de la feuille de calcul et peut être déplacé librement vers n’importe quel autre emplacement. Une souris ou un clavier est utilisé pour déplacer l’objet. La souris est plus pratique à utiliser pour les déplacements sur de longues distances.
    Pour déplacer le contrôle avec la souris :
    1. Mettez en surbrillance la commande souhaitée. Pour sélectionner un contrôle ActiveX, cliquez sur le bouton « Mode Création » dans le groupe Contrôles sous l’onglet Développeur, puis sélectionnez le contrôle. L’élément sélectionné a une bordure sur laquelle se trouvent les marqueurs.
  2. Faites glisser le contrôle avec la souris vers un nouvel emplacement. Faire glisser l’élément suit soit la bordure de l’élément, soit derrière son image graphique. Si vous essayez de saisir le nom d’un élément, vous pouvez passer en mode d’édition du nom et vous ne pourrez pas faire glisser l’élément.
    Pour sélectionner plusieurs contrôles, sélectionnez chacun d’eux tout en maintenant les touches <Ctrl> + <Shift> enfoncées.
    Pour déplacer le contrôle verticalement ou horizontalement, maintenez la touche <Maj> enfoncée tout en faisant glisser. Pour aligner le contrôle sur les lignes de la grille tout en faisant glisser, maintenez la touche Alt enfoncée. Les effets peuvent être combinés en maintenant enfoncées ces deux touches tout en faisant glisser.
    Le déplacement d’un contrôle à l’aide du clavier est plus pratique si vous avez besoin de positionner précisément l’élément sur la feuille. Pour déplacer un contrôle à l’aide du clavier:
    1. Sélectionnez le contrôle que vous souhaitez déplacer.
    2. Déplacez-le à l’aide des touches <←>, <↑>, <→> et <↓> du clavier.
    Parfois, vous devez faire plusieurs copies du même élément. Pour copier un contrôle:
    1. Mettez en surbrillance la commande souhaitée.
    2. Tout en maintenant la touche <Ctrl> enfoncée, faites glisser l’objet vers l’endroit où vous souhaitez placer la copie. Lorsque vous relâchez le bouton de la souris, une copie de l’objet apparaît à l’emplacement spécifié.

Vous pouvez effectuer diverses opérations avec les contrôles : ils peuvent être regroupés, placés en arrière-plan ou au premier plan, accrochés aux objets, alignés, etc.

Les contrôles sont des objets. Comme tout autre objet, ils ont des propriétés, des méthodes et des événements. Les valeurs des propriétés de contrôle sont définies à la fois dans le code et pendant sa création. Afin de définir les valeurs de propriété au stade de la conception, sélectionnez le contrôle et cliquez sur le bouton Propriétés, qui se trouve sous l’onglet Développeur dans le groupe Contrôles. La fenêtre Propriétés apparaîtra à l’écran comme le montre la figure suivante.

Dans la moitié gauche de cette fenêtre, les propriétés de l’élément sont répertoriées, et dans la moitié droite, il y a des champs de saisie ou des listes déroulantes pour définir les valeurs de ces propriétés.
Comme mentionné précédemment, vous pouvez associer une macro ou une procédure VBA à un contrôle lorsqu’un événement se produit. Le code de procédure qui gère les événements associés au contrôle est tapé dans le module de feuille de calcul sur lequel se trouve le contrôle. Pour accéder à ce module, sélectionnez un contrôle et cliquez sur le bouton Affichage du code, situé sous l’onglet Développeur, dans le groupe Contrôles.
Lorsque vous avez terminé la création du contrôle, n’oubliez pas de quitter le mode Création en cliquant à nouveau sur le bouton Mode Création.

1.2 Votre premier projet avec un contrôle
Nous allons à présent créer notre premier projet avec un contrôle. Sur la feuille de calcul nous placerons un bouton, et en appuyant sur ce  bouton une boîte de dialogue apparait avec le message “Bonjour à tous!”
Alors, suivez ces étapes :
1. Cliquez sur le bouton Bouton de commande (CommandButton) de la barre d’outils Contrôles ActiveX, qui est appelé en cliquant sur le bouton Insérer dans le groupe Contrôles sous l’onglet Développeur du ruban.
2. Dessinez le bouton de commande avec une taille requise sur la feuille de calcul.
3. Sélectionnez le bouton créé. Cliquez sur le bouton Propriétés, situé sous l’onglet Développeur, dans le groupe Contrôles. La fenêtre Propriétés s’affiche à l’écran. Définissez la propriété Name dans cette fenêtre sur cmdBonjour au lieu du CommandButton1. Définissez la propriété Caption sur « Bonjour à tous ».

  1. Sélectionnez à nouveau le bouton créé. Cliquez sur le bouton Afficher le code, situé sous l’onglet Développeur, dans le groupe Contrôles. Cela ouvrira Visual Basic Editor et l’éditeur de code crée automatiquement les première et

dernière instructions pour gérer l’événement Click du bouton qui est généré lorsque le bouton est cliqué.

Private Sub cmdBonjour_Click()
End Sub

5. Dans l’evenement cmdBonjour_Click, ajoutez une instruction qui affiche une boîte de dialogue à l’écran.

Private Sub cmdBonjour_Click()
   MsgBox "Bonjour à tous!", vbExclamation
End Sub

Commentaires

■ La notion de MsgBox  et ses propriétés ont été clairement expliqués au chapitre 5.

  1. Cliquez sur le bouton « Mode Création », situé sous l’onglet Développeur dans le groupe Contrôles, pour quitter le mode Création.
    Le projet est prêt. Vous pouvez maintenant tester le bouton Bonjour créé. Cliquez dessus, et une boîte de dialogue avec un message d’accueil apparaît à l’écran, comme le montre la figure suivante.

2 Propriétés, méthodes et évènements des contrôles

2.1 Propriétés générales des contrôles                                
Les contrôles ont une grande collection de propriétés qui vous permettent de définir divers paramètres d’un objet depuis son emplacement et sa taille jusqu’au texte et aux graphiques qui y sont affichés. Le tableau suivante répertorie les propriétés générales des contrôles.

Propriété Description
AutoSize Spécifie si le contrôle doit être automatiquement redimensionné pour accueillir toutes les informations affichées
BackColor Définit la couleur d’arrière-plan
BackStyle Définit la transparence de l’arrière-plan.
BottomRightCell, TopLeftCell Renvoie des références aux cellules situées sous les coins supérieurs gauche et inférieur droit du contrôle
Caption Spécifie la chaîne de texte affichée sur un contrôle
ControlTipText Renvoie le texte de l’info-bulle
Enabled Définit si le contrôle est accessible par l’utilisateur
Font Renvoie un objet Font pour définir les paramètres de police
ForeColor Définit la couleur de la police
Height, Width Définit la hauteur et la largeur d’un contrôle
Left, Top Les coordonnées du coin supérieur gauche du champ
MouseIcon Attribue un pointeur de souris personnalisé
MousePointer Spécifie le type de pointeur de la souris
Name Attribue un nom d’objet
OldHeight, OldWidth Renvoie la hauteur et la largeur du contrôle Button avant son redimensionnement
VieuxGauche, VieuxTop Renvoie les coordonnées du coin supérieur gauche du bouton avant son déplacement
Parent Spécifie une référence à un objet conteneur pour un contrôle donné
Picture Spécifie un lien vers un fichier avec un bitmap utilisé comme arrière-plan d’un contrôle
PicturePosition Définit la position de l’image par rapport au texte. Les valeurs valides sont les constantes suivantes.
PrintObject Détermine si le contrôle doit être rendu lors de l’impression
Tag Spécifie un paramètre utilisé pour identifier un contrôle spécifique
TakeFocusOnClick Définit si le contrôle reçoit le focus après avoir cliqué dessus
Visible Définit la visibilité d’un contrôle
WordWrap Définit si les mots doivent être enveloppés s’ils ne rentrent pas dans la ligne affichée dans le contrôle

2.2 Méthodes de contrôle courantes
Les commandes ont plusieurs méthodes courantes pour déplacer, positionner et mettre au point. Le tableau suivant énumère ces méthodes.

Méthode Description
Move Déplace le contrôle
SetFocus Définit le focus sur un contrôle
BringToFront, SendToBack Positionnez le contrôle au premier plan ou en arrière-plan
ZOrder Positionne le contrôle au premier plan ou en arrière-plan par rapport aux autres contrôles, en fonction de la valeur du paramètre, dont les valeurs valides sont les constantes suivantes: fmTop et fmBottom

2.3 Événements de contrôle communs
Les contrôles ont une grande collection de procédures capables d’intercepter et de gérer divers événements survenant dans le système et les actions effectuées par l’utilisateur, des clics de souris à la détection d’une erreur. Le tableau suivante suivant répertorie les événements communs aux contrôles.

Evénement Description
BeforeDragOver Se produit lors du remorquage des données
BeforeDropOrPaste Se produit avant l’insertion des données remorquées
BeforeDropOrPaste Se produit lorsque l’utilisateur clique sur le contrôle
DblClick Se produit lorsque l’utilisateur double-clique sur le contrôle
Enter, Exit Se produit lorsqu’un contrôle gagne ou perd le focus
Error Se produit lorsque le contrôle rencontre une erreur mais ne peut pas envoyer de message
KeyDown, KeyUp Se produit lorsque l’utilisateur appuie et relâche une touche du clavier et que le contrôle a le focus
KeyPress Se produit lorsque l’utilisateur appuie sur une touche autre que les touches de fonction, les touches de curseur et les touches de service, et que le contrôle a le focus
MouseDown, MouseUp Se produit lorsque l’utilisateur appuie et relâche un bouton de la souris
MouseMove Se produit lorsque l’utilisateur déplace le pointeur de la souris sur le contrôle

 3 Le contrôle Bouton de commande (CommandButton)
Le contrôle Bouton de commande   ou CommandButton est principalement utilisé pour lancer l’exécution de certaines des actions déclenchées par un clic sur un bouton, comme le démarrage ou l’arrêt d’un programme, l’impression des résultats, etc. Ainsi, l’événement principal associé à un bouton de commande est l’événement Click. La propriété principale de CommandButton est la propriété Caption, qui renvoie et définit le texte affiché sur la surface du bouton.

3.1 Menu de bouton de commande
Nous allons créer un classeur qui contient trois feuilles de calcul Feuil1, Feuil2 et Feuil3. Le premier contient deux boutons avec les noms des deux autres feuilles comme le montre la figure suivante.

L’appui sur le bouton conduit à l’activation de la feuille du même nom, et lorsque le deuxième bouton est enfoncé, non seulement l’activation est effectuée, mais également le défilement de la feuille de sorte que la cellule spécifiée s’affiche dans le coin supérieur gauche de la fenêtre de la feuille.
À l’aide de la fenêtre Propriétés, définissez leurs valeurs de propriété, comme indiqué dans le tableau suivante.

Objet Propriété Valeur
Bouton de commande Name cmdFeuil2
Caption Feuil 2
Bouton de commande Name cmdFeuil3
Caption Feuil 3

Dans le module de feuille de calcul Feuil1, entrez le code suivant.

Private Sub cmdFeuil2_Click()
    Worksheets("Feuil2").Activate
End Sub
Private Sub cmdFeuil3_Click()
    Worksheets("Feuil3").Activate
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollRow = 30
End Sub

Commentaires

■ Lorsqu’on appuie sur le bouton « Feuil 2 », la feuille Feuil2 est activée par la méthode Activate de l’objet Sheet.

■ Le défilement de la feuille pour que la cellule spécifiée s’affiche dans le coin supérieur gauche de la fenêtre de feuille est effectué par les propriétés ScrollColumn et ScrollRow de l’objet Window.

■ La propriété ScrollColumn renvoie ou définit le numéro de la colonne de gauche du volet ou de la fenêtre. Sa syntaxe est expression.ScrollColumn et expression représente un objet Window.

 ■ La propriété ScrollRow renvoie ou définit le numéro de la ligne qui apparaît en haut du volet ou de la fenêtre. Sa syntaxe est expression.ScrollRow et expression représente un objet Window.

3.2 Afficher une valeur avec CommandButton

CommandButton vous permet non seulement de naviguer, mais également de saisir des données dans des cellules. Par exemple, vous pouvez utiliser CommandButton pour afficher le montant total, les coûts ou les bénéfices.

Figure: Afficher une valeur avec CommandButton

À titre d’exemple, considérons le problème de trouver la somme totale a + b + c de trois variables avec deux options possibles pour leurs valeurs, données dans le tableau suivante.

I II
a 40 30
b 50 40
c 60 50

Suivons ces étapes pour mettre en œuvre l’exemple décrit :
1. Sur la feuille de calcul, placez les cellules B2, B3 et B4 sous les variables a, b, c.
2. Dans la cellule B5, entrez la formule = SOMME (B2: B4) pour trouver la somme de a + b + c.
3. Dans la plage D3: D5, entrez la première option pour les valeurs des variables a, b, c.
4. Dans la plage E3: E5, entrez la deuxième option pour les valeurs des variables a, b, c.
5. Créez deux boutons et, à l’aide de la fenêtre Propriétés, définissez leurs valeurs de propriété comme indiqué dans le tableau suivante.

Un objet Propriété Valeur
Bouton de commande Name cmdVar1
Caption Option 1
Bouton de commande Name cmdVar1
Caption Option 2
  1. Dans le module de feuille de calcul Feuil1, tapez le code suivant :
Private Sub cmdVar1_Click()
   Range("B2").Value = Range("D3").Value
   Range("B3").Value = Range("D4").Value
   Range("B4").Value = Range("D5").Value
End Sub
Private Sub cmdVar2_Click()
   Range("B2").Value = Range("E3").Value
   Range("B3").Value = Range("E4").Value
   Range("B4").Value = Range("E5").Value
End Sub

Commentaires

■ Appuyez sur le bouton Option 1 pour lire les valeurs à l’aide de la propriété Value des cellules de la plage D3: D5 et les saisir à l’aide de la propriété Value dans les cellules de la plage B2: B4.

■ L’appui sur le bouton Option 2 provoquera la lecture des valeurs des cellules de la plage E3: E5 et leur saisie dans les cellules de la plage B2: B4.

■ Les notions de Range et Value ont déjà été expliquées dans le chapitre 9.           

3.3 Décorer un bouton de commande avec les images et personnaliser le pointeur de souris
Avec les images, les boutons peuvent prendre un aspect plus présentable. En outre, changer la forme du pointeur de la souris peut également ajouter un attrait visuel à l’interface.
L’image est chargée sur la surface du bouton à l’aide de la propriété Picture. La propriété PicturePosition vous permet de définir la position relative du texte et de l’image affichés sur le bouton. La propriété MousePointer définit le pointeur de la souris. Les valeurs valides pour cette propriété sont répertoriées dans le tableau suivante. Dans le code, les valeurs des propriétés Picture et MouseIcon sont définies par la fonction LoadPicture, dont la valeur de paramètre doit être le nom du fichier graphique correspondant.

Constante Valeur La description
FmMousePointerDefault 00 Défaut
FmMousePointerArrow 01
FmMousePointerCross 02
FmMousePointerIBeam 03
FmMousePointerSizeNESW 06
FmMousePointerSizeNS 07
FmMousePointerSizeNWSE 08
FmMousePointerSizeWE 09
FmMousePointerUpArrow 10
FmMousePointerHourglass 11
FmMousePointerNoDrop 12
FmMousePointerAppStarting 13
FmMousePointerHelp 14
FmMousePointerSizeAll 15
FmMousePointerCustom 99 Défini par l’utilisateur

Comme exemple d’utilisation de boutons avec des images, nous allons réaliser un autre exemple, mais cette fois, nous n’entrerons pas des nombres dans les cellules de la feuille de calcul, mais des formules par lesquelles les calculs sont effectués. En résumé, considérons le problème de trouver la valeur des expressions x + y et x – y.

Suivons ces étapes pour mettre en œuvre l’exemple décrite:
1. Sur la feuille de calcul, placez les cellules B1 et B2 sous les variables Valeur1 et Valeur2. Dans la cellule B3, la formule = B1 + B2 ou = B1-B2 sera saisie à partir du code.
2. Créez deux boutons et, à l’aide de la fenêtre Propriétés, définissez leurs valeurs de propriété comme indiqué dans le tableau suivante.

Objet Propriété Valeur
Bouton de commande Name CmdSomme
Caption Somme
Picture Lien vers un fichier avec une image (logo facebook).
PicturePosition FmPicturePositionRightCenter
MousePointer FmMousePointerAppStarting
Bouton de commande Name CmdDifference
Caption Différence
Picture Lien vers un fichier avec une image (logo whatsapp).
PicturePosition FmPicturePositionRightCenter
MousePointer FmMousePointerCustom
MouseIcon Lien vers le fichier avec le curseur. Dans ce cas, un lien a été fait vers le fichier Inodrop.cur, qui se trouve dans le répertoire C: \ Windows \ Cursors
  1. Dans le module de feuille de calcul, tapez le code suivant :
    Appuyez sur le bouton Somme pour entrer la formule = B1 + B2 dans la cellule B3 et la ligne Montant dans la cellule A3. Appuyer sur le bouton Différence entraînera l’entrée de la formule = B1-B2 dans la cellule B3 et la ligne Différence dans la cellule A3.
Private Sub cmdSomme_Click()
    Range("B3").Formula = "=B1+B2"
    Range("A3").Value = "Somme"
End Sub
Private Sub cmdDifference_Click()
    Range("B3").Formula = "=B1-B2"
    Range("A3").Value = "Difference"
End Sub

Commentaires

■ Un clic sur le bouton de commande Somme entraine l’entrée de la formule = B1 + B2 dans la cellule B3 et ainsi le calcul de la somme de Valeur 1 et Valeur 2.

■ Un clic sur le bouton de commande Différence Somme entraine l’entrée de la formule = B1 – B2 dans la cellule B3 et ainsi le calcul de la différence entre Valeur 1 et Valeur 2.

■ La propriété Formula renvoie ou définit une valeur de type Variant qui représente une formule. Sa syntaxe est expression. Formule et expression représente un objet Range.

3.4 Bouton interactif avec CommandButton
En contrôlant les événements MouseDown et MouseUp, vous pouvez rendre le bouton plus interactif. Montrons comment cela se fait en utilisant l’exemple d’une application simple. Prenons quelques données sur les ventes de la société “Bristols House”, qui exporte divers produits. Pour une représentation plus visuelle des données dans le tableau des ventes, il est nécessaire de mettre en évidence la ligne avec les ventes maximales en rouge et les lignes dans lesquelles le volume des ventes est supérieur à la moyenne en jaune. Les données de vente changent constamment, vous devez donc créer une application qui automatiserait le processus de mise en évidence des lignes requises avec de la couleur.


Suivez ces étapes pour mettre en œuvre l’exemple décrit.
1. Dans la feuille de calcul, sélectionnez la plage B2: B10 pour les ventes.
2. Entrez la formule pour déterminer les ventes totales = SOMME (B2: B10) dans la cellule B11.
3. Créez un bouton CommandButton et, à l’aide de la fenêtre Propriétés, définissez ses valeurs de propriété comme indiqué dans le tableau suivante.

Un objet Propriété Valeur
Bouton Name CmdActualiser
Caption Actualiser

 

  1. Dans le module feuille de calcul Feuil1, tapez le code suivant :
Private Sub cmdActualiser_MouseDown(ByVal Button As Integer, _
      ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   With cmdActualiser
      .Font.Bold = True
      .Font.Size = 16
      .ForeColor = vbRed
      .Shadow = True
      .BackColor = vbBlue
   End With
End Sub
Private Sub cmdActualiser_MouseUp(ByVal Button As Integer, _
      ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   With cmdActualiser
      .Font.Bold = False
      .Font.Size = 12
      .ForeColor = vbBlack
      .Shadow = False
      .BackColor = vbGreen
   End With
   FautActualiser
End Sub
Sub FautActualiser()
   Dim m, a As Double
   Dim i As Integer
   With WorksheetFunction
      m = .Max(Range("B2:B10"))
      a = .Average(Range("B2:B10"))
   End With
   For i = 2 To 10
      With Range(Cells(i, 1), Cells(i, 2)).Interior
         If Cells(i, 2).Value = m Then
            .Color = RGB(255, 0, 0)
         ElseIf Cells(i, 2).Value >= a Then
            .Color = RGB(255, 255, 0)
         Else
            .ColorIndex = xlColorIndexNone
         End If
      End With
   Next
End Sub

Commentaires

■ Le fait d’appuyer sur le bouton Actualiser entraînera le recalcul et la l’actualisation du tableau.

■ Les procédures de gestion des événements MouseDown et MouseUp programment une apparence différente des boutons, à savoir le style, la taille et la couleur de la police (les propriétés Bold et Size de l’objet Font et la propriété ForeColor du bouton de commande), la couleur d’arrière-plan et la sortie de l’ombre (les propriétés BackColor et Shadow du bouton de commande). La modification de ces propriétés du bouton entraîne une interactivité supplémentaire.

■ La propriété ForeColor permet spécifier la couleur du texte dans un contrôle ActiveX. La syntaxe la propriété ForeColor est expression.ForeColor, où  expression qui représente généralement un contrôle ActiveX comme CommandButton.

■ La propriété BlackColor définit la couleur de remplissage d’un contrôle ActiveX.

■ La propriété Shadow définit l’effet d’ombre appliqué à un contrôle ActiveX

■ La feuille de calcul est recalculée dans la procédure FautActualiser.

■ L’objet WorksheetFunction est une propriété de l’objet Application. C’est un conteneur des fonctions de feuille de calcul.

■ Les valeurs maximale et moyenne sont trouvées à l’aide des fonctions de feuille de calcul intégrées dans un objet WorksheetFunction.

■ La couleur des cellules est définie par la propriété Color de l’objet Interior.

■ La suppression du remplissage d’une cellule est effectuée en définissant la valeur de la propriété ColorIndex sur xlColorIndexNone.

■ La propriété ColorIndex renvoie et définit la couleur de la bordure, de la police ou de l’intérieur. La couleur est spécifiée sous la forme d’une valeur d’index dans la palette de couleurs en cours, ou comme une des constantes XlColorIndex  : xlColorIndexAutomatic ou xlColorIndexNone.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x