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 basée sur la valeur de la cellule dans Excel?

Supposons que j'ai plusieurs codes de macro dans mon classeur, et maintenant, je veux exécuter ces codes basés sur la valeur de la cellule. Cet article, je vais parler de plusieurs situations que vous pourriez subir dans votre travail quotidien lors de l'utilisation d'Excel.

Exécuter ou déclencher une macro si la valeur de la cellule est supérieure ou inférieure à une valeur spécifique avec le code VBA

Exécuter ou déclencher une macro si la valeur de la cellule est égale à du texte spécifique avec le code VBA


flèche bleue droite bulle Exécuter ou déclencher une macro si la valeur de la cellule est supérieure ou inférieure à une valeur spécifique avec le code VBA


Par exemple, si la valeur de la cellule A1 est comprise entre 10 et 50, exécutez macro1 et, si la valeur est supérieure à 50, exécutez macro2. Pour résoudre ce travail dans Excel, veuillez appliquer le code VBA suivant.

1. Cliquez avec le bouton droit sur l'onglet de feuille que vous souhaitez exécuter la macro en fonction d'une valeur de cellule, 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 si la valeur de la cellule est supérieure ou inférieure à:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If IsNumeric(Target) And Target.Address = "$A$1" Then
        Select Case Target.Value
        Case 10 To 50: Macro1
        Case Is > 50: Macro2
        End Select
    End If
End Sub

Doc run macro basé sur la valeur de la cellule 1

Note: Dans le code ci-dessus:

A1 est la cellule qui contient la valeur spécifique sur laquelle vous voulez exécuter la macro;

Cas 10 à 50: Macro1: cela signifie que si la valeur est comprise entre 10 et 50, exécutez Macro1;

Le cas est> 50: Macro2: cela signifie que si la valeur est supérieure à 50, exécutez Macro2.

Veuillez modifier les noms et les critères de ces macros en fonction de vos besoins, et vous pouvez également ajouter d'autres critères après Étuie scripts.

2. Puis enregistrez et fermez cette fenêtre de code, maintenant, lorsque la valeur que vous entrez est comprise entre 10 et 50 dans la cellule A1, Macro1 sera déclenchée, si la valeur entrée est supérieure à 50, Macro2 est exécuté.


flèche bleue droite bulle Exécuter ou déclencher une macro si la valeur de la cellule est égale à du texte spécifique avec le code VBA

Si vous voulez déclencher la macro basée sur du texte spécifique dans une cellule, par exemple, pour exécuter macro1 si le texte "Delete" est entré, et exécutez macro2 si le texte "Insert" est tapé. Le code suivant peut vous faire une faveur.

1. Cliquez avec le bouton droit sur la feuille que vous souhaitez exécuter la macro en fonction de la valeur de la cellule, 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 si la valeur de la cellule est supérieure ou inférieure à:

Sub worksheet_change(ByVal target As Range)
Set target = Range("A1")
If target.Value = "Delete" Then
 Call Macro1
End If
If target.Value = "Insert" Then
Call Macro2
End If
End Sub 

Doc run macro basé sur la valeur de la cellule 2

Note: Dans le code ci-dessus, "Effacer" et "insérer"Sont les textes de la cellule sur lesquels vous voulez exécuter des macros, et Macro1 et Macro2 sont les macros que vous souhaitez exécuter en fonction du texte. S'il vous plaît, changez-les selon vos besoins.

2. Puis enregistrez ce code et fermez la fenêtre, maintenant, lorsque vous entrez le texte "Delete" dans la cellule A1, macro1 est déclenché, si le texte "Insert" est entré, macro2 sera exécuté.


Articles Liés:

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

Comment exécuter macro automatiquement avant d'imprimer 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?



Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

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.
    Mani Chandran · 1 years ago
    I am working with result analysis. In this case, the data in the excel will be like this Name, Sub name , Crade. Now,i want to find the all pass or successful candidate numbers from the result. How can i get it. Because, i am having 6 different subject and their results in single excel sheet. If student failed in one subject he is not be a successful student. How do remove their name in all the subjects.
  • To post as a guest, your comment is unpublished.
    Siva · 1 years ago
    Requirement:
    Based on the selection
    There will be a dropdown list for following three properties of the same dimension as below.
    And there will be three derived cells which will be derived from the cells (G46,G47 and G48)

    Scenario:
    If I select a value from cost center drop down list , cost center derived cell(K46) should be populated with value selected from cost center drop down list(H46) and the other two derived cells (K47 and k48) should become blank.

    Similarly if I select value from Budget manager drop down list, Budget manager derived cell should be populated with value selected from Budget manager drop down list(H47) and the other two derived cells (K45 and k48) should become blank.
  • To post as a guest, your comment is unpublished.
    Richard · 1 years ago
    Hi, how about if you want to run a macro based on two cells? One cell being text based and the other cell having numerical values? Then you would want to call a macro if the two cells show exactly what you want, like "YES" for the first cell and 1 for the second cell, if not a pop box would show saying "Not Found".