Si vous êtes ici, il est probable que vous souhaitiez apprendre à exécuter un sous-programme chaque fois qu’une modification est apportée à une feuille spécifique. Cet article enseignera exactement cela. Alors, commençons.

La syntaxe du gestionnaire d’événements de modification de feuille de calcul est:

Private Sub worksheet_change(ByVal Target As Range)

'your code

'

'

End Sub

Ce code doit être écrit dans un objet de feuille de calcul pour fonctionner, pas dans un module normal.

Private Sub worksheet_change(ByVal Target As Range)

Msgbox "You updated something in this sheet"

End Sub

Si vous avez ce code sur la feuille 1 et que vous écrivez ou supprimez quelque chose dans la feuille 1, le message affichera « Vous avez mis à jour quelque chose dans cette feuille ».

Cela ne fonctionnera pas dans les modules normaux. Mais vous pouvez appeler des sous-programmes à partir de n’importe quel module. Nous ferons de même dans cette session.

image

Scénario:

Macro RunExcel si une modification est apportée à la feuille de calcul

image

Alors, disons que nous avons une macro qui change la couleur des cellules en fonction de certaines conditions. Tout comme le formatage conditionnel d’Excel. La seule différence est que la couleur des cellules change lorsque nous exécutons ce code VBA à l’aide d’un bouton ou d’une commande d’exécution, et non lorsque les valeurs changent. Nous voulons que la macro s’exécute chaque fois qu’une modification est apportée à la feuille. Ici, les événements VBA vous aideront. Maintenant, pour ce faire, nous utiliserons l’événement de changement de feuille de travail.

Suivez ces étapes:

  • Allez dans l’explorateur de projet et double-cliquez sur la feuille sur laquelle vous souhaitez déclencher l’événement worksheet.change. Je veux déclencher l’événement lors de certaines modifications apportées sur la feuille Sheet2, donc je double-clique sur la feuille Sheet2. Vous pouvez également cliquer avec le bouton droit de la souris et cliquer sur le code de la vue pour ouvrir la zone d’écriture de code pour les objets de la feuille.

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

worksheet_change (Target as Range) est un sous-programme conservé qui s’exécute lorsqu’une modification est apportée à la feuille contenant le code.

Lorsque vous écrirez ce code, vous verrez l’objet changer dans la feuille de calcul. Voir la liste déroulante en haut à gauche. Dans la liste déroulante en haut à droite, l’événement est « change » .

_Si vous utilisez la liste déroulante et sélectionnez la feuille de calcul dans la liste déroulante de gauche, tous les événements disponibles seront affichés dans la liste déroulante de droite.

Quelle que soit la liste déroulante que vous choisissez, le code de cet événement sera écrit automatiquement. Il vous suffit de le remplir avec vos sous-programmes personnalisés.

image_ * Now just put your code in this segment. I want to call my subroutine that is in a module. So I simply call that subroutine in this worksheet event handler. My subroutine isFormatUsingVBA() in Module1

Private Sub worksheet_change(ByVal Target As Range)

Call FormatUsingVBA

End Sub

Désormais, chaque fois que nous apporterons un changement dans la feuille 2, la macro FromatUsingVBA s’exécutera.

image

Alors oui les gars, voici comment faire exécuter un script VBA lorsqu’une feuille modifie son contenu, en utilisant le gestionnaire d’événements de changement de feuille de travail. J’espère que cela a été utile. Si vous avez des questions concernant ce gestionnaire d’événements, mentionnez-le dans la section commentaires.

Articles liés:

link: / events-in-vba-simple-vba-code-to-highlight-current-row-and-column-using [Le code VBA le plus simple pour mettre en évidence la ligne et la colonne actuelles en utilisant] * | Utilisez ce petit extrait de code VBA pour mettez en surbrillance la ligne et la colonne actuelles de la feuille.

lien: / events-in-vba-the-worksheet-events-in-excel-vba [Les événements de feuille de travail dans Excel VBA] * | Les événements de feuille de calcul sont vraiment utiles lorsque vous souhaitez que vos macros s’exécutent lorsqu’un événement spécifié se produit sur la feuille.

lien: / events-in-vba-run-macro-if-any-change-made-on-sheet-range [Exécuter une macro si une modification est apportée sur la feuille dans la plage spécifiée] * | Pour exécuter votre code de macro lorsque la valeur d’une plage spécifiée change, utilisez ce code VBA. Il détecte tout changement effectué dans la plage spécifiée et déclenche l’événement.

Articles populaires:

lien: / clavier-formule-raccourcis-50-excel-raccourcis-pour-augmenter-votre-productivité [50 raccourcis Excel pour augmenter votre productivité] | Accélérez votre tâche. Ces 50 raccourcis vous permettront de travailler encore plus rapidement sur Excel.

lien: / formules-et-fonctions-introduction-de-vlookup-function [La fonction RECHERCHEV dans Excel] | C’est l’une des fonctions les plus utilisées et les plus populaires d’Excel qui est utilisée pour rechercher des valeurs à partir de différentes plages et feuilles. lien: / tips-countif-in-microsoft-excel [COUNTIF dans Excel 2016] | Comptez les valeurs avec des conditions en utilisant cette fonction étonnante. Vous n’avez pas besoin de filtrer vos données pour compter une valeur spécifique.

La fonction Countif est indispensable pour préparer votre tableau de bord.

lien: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel] | C’est une autre fonction essentielle du tableau de bord. Cela vous aide à résumer les valeurs sur des conditions spécifiques.