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 sélectionnée dans la liste déroulante dans Excel?

Exécuter des macros en cliquant sur le bouton de commande est une tâche courante dans Excel, mais avez-vous déjà essayé d'exécuter les codes macro en fonction de la valeur sélectionnée dans la liste déroulante? Cela signifie que lorsque vous choisissez un élément dans la liste déroulante, la macro spécifique sera déclenchée à la fois. Cet article présente un code utile pour résoudre ce problème.

Exécuter la macro en fonction de la valeur sélectionnée dans la liste déroulante avec le code VBA


flèche bleue bulle droite Exécuter la macro en fonction de la valeur sélectionnée dans la liste déroulante avec le code VBA

Il n'y a pas de moyen direct de terminer cette tâche, mais, le code VBA suivant peut vous aider, procédez comme suit:

1. Tout d'abord, créez une liste déroulante selon vos besoins, voir capture d'écran:

doc exécuter la macro à partir de la liste déroulante 1

2. Cliquez ensuite avec le bouton droit sur l'onglet de la feuille contenant le menu déroulant que vous souhaitez utiliser, 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écuter la macro en fonction de la valeur sélectionnée dans la liste déroulante:

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("E1")) Is Nothing Then
	    Select Case Range("E1")
	        Case "Insert Blank rows": Macro1
	        Case "Hide All Sheets": Macro2
            Case "Convert to Date": Macro3
	    End Select
	End If
	End Sub

doc exécuter la macro à partir de la liste déroulante 2

Notes: Dans le code ci-dessus, E1 est la cellule contient la liste déroulante, modifiez les noms de macro et les valeurs de la liste déroulante selon vos besoins.

3. Et puis enregistrez et fermez cette fenêtre de code, maintenant, lorsque vous sélectionnez l'élément Insérer des lignes vides dans la liste déroulante, Macro1 sera déclenchée, et ainsi de suite…


Articles Liés:

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

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

Comment exécuter une macro automatiquement avant d'imprimer 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.
    Syed Salman · 8 days ago


    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.
    Ivan · 3 years ago
    Good morning. Would you be able to do Macro from drop down menu for next: To run macro and save separated sheets for each item from Dropdown menu? In your case should be looking like this:
    1. You run macro and then you have separated sheet with values for "Insert blank rows" saved in designated folder
    2. Separated sheet with values for " Hide all sheets:" saved in designated folder
    3. Separated sheet with values for " Convert to date" saved in designated folder.
    4. Macro is done now


    Mainly i am able do set all of this except that macro automatically change selection from drop down menu ?


    Thanks


    Ivan
  • To post as a guest, your comment is unpublished.
    nuria · 3 years ago
    Hola!

    Al aplicarlo me sale un error de compilación: La declaración del procedimiento no coincide con la descripción del evento o el procedimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Gracias
  • To post as a guest, your comment is unpublished.
    fi · 3 years ago
    Is there a way to use VBA code to do this in Access? Thanks
  • To post as a guest, your comment is unpublished.
    Diego · 3 years ago
    efectivamente funciona pero quiero aplicarlo en varias celdas, que variable debo cambiar?