Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

 Comment exécuter une macro en fonction de la valeur de la cellule dans Excel?

Supposons que j'ai plusieurs codes de macro dans mon classeur et que je souhaite maintenant exécuter ces codes en fonction de 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 à un texte spécifique avec le code VBA


flèche bleue bulle droite 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 la feuille pour lequel vous souhaitez exécuter la macro en fonction d'une valeur de cellule, puis choisissez Voir le code dans le 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 exécuter une macro basée sur la valeur de cellule 1

Notes: Dans le code ci-dessus:

A1 est la cellule qui contient la valeur spécifique sur laquelle vous souhaitez 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 critères de ces macros selon vos besoins, et vous pouvez également ajouter d'autres critères en suivant le ETUDES scripts.

2. Ensuite, 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ée.


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

Si vous souhaitez déclencher la macro en fonction d'un texte spécifique dans une cellule, par exemple, exécuter la macro1 si le texte «Supprimer» est entré, et exécuter la macro2 si le texte «Insérer» est tapé. Le code suivant peut vous rendre service.

1. Cliquez avec le bouton droit sur la feuille pour laquelle vous souhaitez exécuter la macro en fonction de la valeur de la cellule, puis choisissez Voir le code dans le 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 à:

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 exécuter une macro basée sur la valeur de cellule 2

Notes: Dans le code ci-dessus, "Supprimer" et "insérer"Sont les textes de cellule sur lesquels vous souhaitez exécuter des macros, et Macro1 et Macro2 sont les macros que vous souhaitez exécuter en fonction du texte. Veuillez les modifier selon vos besoins.

2. Ensuite, enregistrez ce code et fermez la fenêtre, maintenant, lorsque vous entrez le texte «Supprimer» dans la cellule A1, la macro1 est déclenchée, si le texte «Insérer» est entré, la macro2 sera exécutée.


Articles Liés:

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

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

Comment exécuter une macro en fonction de 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 dans un classeur?


Les meilleurs outils de productivité de bureau

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 e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • 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 par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets 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 des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
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.
    syedsalman · 8 days ago
    Please correct the code both for the same worksheet.

    FIRST CODE WORKING PERFECTLY
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D1")) Is Nothing Then
    Select Case Range("D1")
    Case "0.5": Half
    Case "1": One
    Case "1.25": OneTwentyFive
    End Select
    End If
    End Sub

    SECOND CODE NOT WORKING (plz correct the below)
    Private Sub Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D2")) Is Nothing Then
    Select Case Range("D2")
    Case "9.53": ninepointfivethree
    End Select
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    Mani Chandran · 3 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 · 3 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 · 4 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".