Lancer une macro différente suivant choix d'une liste déroulante

Bonjour à tous,

Je cherche à lancer des macros suivant le choix d'une lite déroulante.

J'ai trouvé ceci sur le net qui fonctionne bien:

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

Mais, sinon ce ne serait pas drôle, je souhaite étendre ce choix à une colonne entière.
A la place de "E1", il doit y avoir un "ColunnI" ????

Merci par avance à vous tous et une belle journée.

Burt64

Bonjour,

Une solution consisterait à nommer vos macros comme ceci : Macro + le contenu de la cellule

MacroInsert_Blank_rows

Il faudrait également que les cellules n'aient aucun caractère blanc, les mots séparés par des underscores par exemple.

Dans votre module d'onglet :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub

    If Not Intersect(Target, Columns(5)) Is Nothing Then
       Run "Macro" & Target.Value
    End If

End Sub

C'est parfait, ça fonctionne.

Merci Eric

Rechercher des sujets similaires à "lancer macro differente suivant choix liste deroulante"