XL pour MAC [RESOLU] Mac OS - lancer une liste déroulante à l'entrée d'une cellule

Ricou969

XLDnaute Nouveau
Supporter XLD
Bonjour,
Je n'arrive pas à trouver la solution dans le forum, désolé si je créé un sujet déjà traité.

J'aimerais avoir ma liste déroulée lors de l'entrée dans une cellule.
 

riton00

XLDnaute Occasionnel
Bonjour,

Pour plus de compréhension
Un exemple de votre fichier avec explications serait le bienvenu.

Slts
 

xUpsilon

XLDnaute Impliqué
Bonjour,

Ce qu'il souhaite si j'ai bien compris, c'est que lorsqu'on sélectionne une cellule dont les données sont validées sous forme de liste, la liste en question se déroule automatiquement, sans qu'on aie besoin de cliquer sur la flèche.

Bonne continuation
 

Ricou969

XLDnaute Nouveau
Supporter XLD
Désolé de mettre mal exprimé.
Oui xUpsilon, je ne demande pas que l'on me code ou corrige mon code, puisque je cherche à le créer; mais comme le dit xUpsilon:
que lorsqu'on sélectionne une cellule dont les données sont validées sous forme de liste, la liste en question se déroule automatiquement, sans qu'on aie besoin de cliquer sur la flèche.
Existe-t-il un ordre virtuel basic qui dis "déroules toi" ?
Ou bien une manière de contourner cette inexistence ?
 

xUpsilon

XLDnaute Impliqué
Re,

Tu peux essayer ça :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address = "$A$2" And Target.Count = 1 Then
     SendKeys "%{down}"
  End If
End Sub
A la place de "$A$2" tu entres la cellule de ton choix, si il y a plusieurs cellules tu me dis, ça se complique un petit peu.

Bonne continuation
 

Ricou969

XLDnaute Nouveau
Supporter XLD
Merci xUpsilon,
j'étais sur cette piste sans succès, je ne suis pas sûr de savoir où placer ce script au niveau du workbook où dans le module que j'ai créé ?
 

Ricou969

XLDnaute Nouveau
Supporter XLD
C'est ce que j'ai fais mais j'ai une erreur : appel ou procédure incorrecte :
je comprends pas pourquoi.
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address = "$C$16" And Target.Count = 1 Then
     SendKeys "%{down}"
  End If
End Sub
Capture d’écran 2020-02-06 à 15.06.49.png
 

xUpsilon

XLDnaute Impliqué
Re,

J'aurais tendance à dire que c'est un souci du fait que vous êtes sur Mac mais d'après mes recherches même pas alors j'ai du mal à comprendre ...
 

Ricou969

XLDnaute Nouveau
Supporter XLD
Voilà, après maintes recherches, j'ai trouvé que SendKeys ne fonctionnait pas sur mac mais Application.Sendkeys, OUI !
Ainsi ce code fonctionne sur Mac OS :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      
     If (Target.Address = "$C$7" And Target.Count = 1) Or (Target.Address = "$C$16" And Target.Count = 1) Or (Target.Address = "$E$16" And Target.Count = 1) Then
       Application.SendKeys ("%{DOWN}")
    End If

End Sub
on peut faire plus élégant, sûrement, si vous avez des idées...
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas