Ouvrir les listes déroulantes au premier clic

Bonjour,

je souhaiterai créer un évènement pour ouvrir (dérouler) la liste déroulante de la cellule sélectionnée,

et ce dès le premier clic.

J'utilise donc le code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    SendKeys "%{down}"
End Sub

Cependant, si je ne "filtre" pas cet évènement uniquement sur les cellules comportant une liste déroulante,

ce code est génant car il ouvre une liste vide à chaque changement de sélection sur la feuille.

Je tente donc de filtrer, mais ça ne marche pas, je ne comprend pas pourquoi ça ne marche pas.

Voici mon code actuel, mais dont le filtre ne marche toujours pas...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Cells.SpecialCells(xlCellTypeAllValidation)) Is Nothing And Target.Count = 1 Then
    SendKeys "%{down}"
End If

End Sub

Quelqu'un saurait-il pourquoi ce code ne fonctionne pas ?

Ou quelqu'un aurait-il une autre solution ?

Bonsoir Piratman le forum

et le fichier pour pouvoir tester il est ou???

a+

papou

Bonjour,

Essayer comme ça :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Err As Boolean
    On Error Resume Next
        Err = Target.Validation.InCellDropdown
    On Error GoTo 0
    If Err Then
        SendKeys "%{down}"
    End If
End Sub

Cordialement

ctac

Bonjour paritec, ctac

En créant le fichier test pour mettre en pièce jointe,

et bien mon code fonctionnait... Je ne sais pas pourquoi vendredi j'y arrivais pas,

surement la fatigue de la fin de semaine !

Toutefois, merci ctact pour ton code, car il marche aussi très bien,

même "mieux" que le mien car avec le mien quand on clique sur une cellule ne comportant pas de liste déroulante, on détecte l'exécution de la macro car le curseur change pendant un instant.

Chose qui n'arrive pas avec ton code, donc je garde celui-ci.

Merci à vous pour l'aide.

Rechercher des sujets similaires à "ouvrir listes deroulantes premier clic"