Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment exécuter une macro lorsque la valeur de la cellule change dans Excel?

Normalement, dans Excel, nous pouvons appuyer sur la touche F5 ou sur le bouton Exécuter pour exécuter le code VBA. Mais, avez-vous déjà essayé d'exécuter le code de macro spécifique quand une valeur de cellule change? Cet article, je vais vous présenter quelques astuces rapides pour faire face à ce travail dans Excel.

Exécuter ou appeler une macro lorsqu'une valeur de cellule spécifique change avec le code VBA

Exécuter ou appeler une macro lorsqu'une valeur de cellule change dans une plage avec du code VBA


Supprimer toutes les macros de plusieurs classeurs:

Kutools for Excel's Batch Supprimer toutes les macros utilitaire peut vous aider à supprimer toutes les macros de plusieurs classeurs selon vos besoins. Télécharger et tester gratuitement Kutools for Excel maintenant!

doc exécute la macro si la cellule change 3

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!


flèche bleue droite bulle Exécuter ou appeler une macro lorsqu'une valeur de cellule spécifique change avec le code VBA


Pour exécuter un code de macro en changeant une valeur de cellule, le code VBA suivant peut vous faire une faveur, s'il vous plaît faites comme ceci:

1. Cliquez avec le bouton droit sur l'onglet de feuille que vous souhaitez exécuter la macro si la valeur de la cellule change, puis choisissez Voir le code à partir du menu contextuel, et dans le Microsoft Visual Basic pour les applications fenêtre, copiez et collez le code suivant dans le module vide:

Code VBA: exécutez la macro lorsque la valeur de la cellule change:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Call Mymacro
    End If
End Sub

doc exécute la macro si la cellule change 1

Note: Dans le code ci-dessus, A1 est la cellule spécifique sur laquelle vous voulez exécuter le code, Mymacro est le nom de la macro que vous voulez exécuter. S'il vous plaît, changez-les selon vos besoins.

2. Et puis enregistrez et fermez la fenêtre de code, maintenant, lorsque vous entrez ou modifiez la valeur dans la cellule A1, le code spécifique sera déclenché à la fois.


flèche bleue droite bulle Exécuter ou appeler une macro lorsqu'une valeur de cellule change dans une plage avec du code VBA

Si vous souhaitez exécuter ou déclencher une macro lorsque la valeur d'une cellule change dans une plage de cellules, le code suivant peut vous aider.

1. Cliquez avec le bouton droit sur l'onglet de feuille que vous souhaitez exécuter la macro si la valeur de la cellule change, puis choisissez Voir le code à partir du menu contextuel, et dans le Microsoft Visual Basic pour les applications fenêtre, copiez et collez le code suivant dans le module vide:

Code VBA: Exécuter une macro lorsque la valeur d'une cellule change dans une plage:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B100")) Is Nothing Then
Call Mymacro
End If
End Sub

doc exécute la macro si la cellule change 2

Note: Dans le code ci-dessus, A1: B100 est les cellules spécifiques sur lesquelles vous voulez exécuter le code, Mymacro est le nom de la macro que vous voulez exécuter. S'il vous plaît, changez-les selon vos besoins.

2. Et puis enregistrez et fermez la fenêtre de code, maintenant, lorsque vous entrez ou modifiez la valeur dans n'importe quelle cellule de A1: B100, le code spécifique sera exécuté immédiatement.


Articles Liés:

Comment exécuter macro automatiquement avant d'imprimer dans Excel?

Comment exécuter une macro basée sur la valeur de la cellule dans Excel?

Comment exécuter macro basé sur la valeur sélectionnée dans la liste déroulante dans Excel?

Comment exécuter une macro en cliquant sur des liens hypertexte dans Excel?

Comment exécuter une macro lorsque la feuille est sélectionnée à partir d'un classeur?


Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe Créer une liste de diffusion et envoyer des emails ...
  • Super Formula Bar (éditez facilement plusieurs lignes de texte et de formule); Disposition de lecture (facilement lire et éditer un grand nombre de cellules); Coller à la gamme filtrée...
  • Fusionner les cellules / rangées / colonnes sans perdre de données; Contenu des cellules divisées; Combiner les lignes / colonnes en double... Prévenir les cellules en double; Comparer les plages...
  • Sélectionnez Dupliquer ou Unique Des rangées; Sélectionnez les lignes vierges (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux cahiers d'exercices; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de la formule; Créer automatiquement des références à plusieurs feuilles; Insérer des balles, Cases à cocher et plus ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre contenu de cellules et commentaires...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial en gras, en italique ...
  • Combinaison de classeurs et de feuilles de calcul; Fusionner les tables en fonction des colonnes clés; Fractionner les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus que de puissantes fonctionnalités 300. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit du jour 30.
kte tab 201905

Office Tab apporte une interface à onglets à Office et simplifie grandement votre travail

  • Activer l'édition par onglets et la lecture dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit le nombre de clics de souris pour vous chaque jour!
fond officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    roberto · 1 years ago
    Hola buenas tardes
    quisiera saber el codigo para que se active una macro cuando cambia el valor de una celda de una columna, pero este valor cambia por formula,sin que el usuario introduzca ningun valor.
  • To post as a guest, your comment is unpublished.
    DrCartwright · 1 years ago
    The macro that you are calling where do you have this located? I have mine in the Modules folder but when I put any value in any cell of the worksheet I get a Compile error saying:
    Expected variable or procedure, not module.

    Please help.
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hi, DrCartwright,
      Sorry for replying to you so late.
      Yes, as you said, the macro code should be located into the Module, and you need to change the code name to your own name as following screenshot shown:
  • To post as a guest, your comment is unpublished.
    Kevin · 1 years ago
    Hey, useful code. I was thinking if it was possible to insert a ring around the cells that are changed as they are changed? And reset the circles every Monday ?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hello, Kevin,
      Here is no idea for solving your problem, if you have any good solution, please comment here.
  • To post as a guest, your comment is unpublished.
    Tom · 1 years ago
    Worked great for me! My dilemma is that I want it to be a relative reference macro and there is a difference between hitting enter to save the entry and delete to clear the cell.
  • To post as a guest, your comment is unpublished.
    Andrew Cothliff · 2 years ago
    This worked first time for me using data validation list which displays text based on the list selection.
  • To post as a guest, your comment is unpublished.
    Jach · 2 years ago
    Yeah the description says it should trigger when value changes, but the second code says it's when the value is nothing, and the first one doesn't trigger when a value changes either, but if I press F5 when looking at the code, it wants to trigger MyMacro, but doesn't seem to react to value changes as much as going from nothing to something or opposite.
  • To post as a guest, your comment is unpublished.
    Wayne Hyde · 2 years ago
    This module is not working for me. It says when the VALUE of the cell changes it will execute the code. I find if I TYPE into the cell it works, but if the value of tthe cell is change by a formula, for example a Counta, then it does not execute. Do you have a solution to execute a macro when the VALUE changes through a formula?
    Thanks,
    Wayne