Exécution macro

Bonjour et bravo pour votre site,

J'ai besoin de vos lumières :

je voudrais qu'une macro s'exécute automatiquement lors du choix dans une liste déroulante ou sur "action touche Entrée".

Pourriez-vous m'indiquer la procédure à suivre.

Par avance, merci et bon courage

Bonjour,

Voici un exemple possible

39exemple.zip (17.31 Ko)

merci pour les exemples.

Je pense que mes souhaits sont plus simples.

En pièce jointe, un exemple de ce que j'ai.

En fait, je voudrais que la macro s'exécute automatiquement sur action sur touche "ENTER" ou sur action click souris.

21classeur1.zip (9.42 Ko)

Bonjour,

Ajoutez la procédure click_enter avant votre procédure macro1, exécutez ce code.

Sub click_enter()

Application.OnKey "~", "macro1"

End Sub

Sub macro1()
If [feuil1!e4] = "A" Or [feuil1!e4] = "B" Then
         Range("F6").Select
         ActiveCell.FormulaR1C1 = "OUI"
         With Selection
          .HorizontalAlignment = xlCenter
           .VerticalAlignment = xlCenter
        End With
            With Selection.Interior
            .Color = 65535
            End With
           With Selection.Font
                .Color = -16776961
            End With
    Else
            Range("F6").Select
           ActiveCell.FormulaR1C1 = "NON"
           With Selection
           .HorizontalAlignment = xlCenter
           .VerticalAlignment = xlCenter
            End With
          With Selection.Interior
            .ThemeColor = xlThemeColorDark1
         End With
         With Selection.Font
             .ColorIndex = xlAutomatic
          End With
End If
End Sub

Lors du choix de lettre dans la liste déroulante, validez par la touche entrée, et macro1 va s'éxécuter en mettant "oui" ou "non" dans la cellule demandée.

Cordialement

Merci beaucoup

Bonsoir à tous,

Autre solution, en sélectionnant la liste déroulante

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("e4")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        With Range("F6")
            If Target = "A" Or Target = "B" Then
                .Value = "OUI"
                .Interior.ColorIndex = 6        'jaune
                .Font.ColorIndex = 3            'rouge
            Else
                .Value = "NON"
                .Interior.ColorIndex = 15       'gris
                .Font.ColorIndex = xlAutomatic
            End If
        End With
    End If
End Sub

la couleur pour "Non" serait à préciser

Amicalement

Claude

32cyril253-macro.zip (11.73 Ko)

Alors là, chapeau bas,

j'en ai rêvé et Claude l'a fait.

L'option précedente me convenait, mais c'est cette solution que je désirais.

encore merci.

j'envie votre savoir

Rechercher des sujets similaires à "execution macro"