Bonjour,
je cherche un moyen pour que lorsque je sélectionne la cellule dans laquelle se trouve une liste déroulante, celle ci s'ouvre directement afin que l'opérateur n'est qu'à utiliser le clavier pour naviguer dans Excel. Car pour l'instant il doit sélectionner à la souris 7 listes déroulantes. A coup de 2 clic par liste en sachant que cette tache est assez répétitive.. C'est pas génial ! J'ai récupéré un bout de code sur le net qui fonctionne bien pour le fichier donné mais que je n'arrive pas à addapter.
Voici le bout de code
Ainsi que le fichier pour lequel il est utilisé. listesderoulantes (1).xls
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'ouverture automatique des liste déroulantes On Error Resume Next If Not Intersect([A1:A100], Target) Is Nothing And Target.Count = 1 Then typ = Target.Validation.Type If typ = 3 Then SendKeys "%{down}": Target.Select End If End Sub
Puis mon fichier perso IE-QUA12-B-Fiche d'auto-contrôle Tramage et Microperforation.xls
Merci de votre lecture ainsi que votre possible aide
[EDIT] : J'ai trouvé autre chose
Ce code marche pour mes deux cellules "simple" mais pour aucune de mes cellules fusionnées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 If Target.Address = "$H$21" And Target.Count = 1 Then SendKeys "%{down}"
[EDIT2] : Maintenant que j'arrive à ouvrir les liste déroulante dans les cellules "simple" lorsque j'utilise le bouton "Réglages Machine" qui consiste à supprimer les valeurs dans toutes les cases afin de récupérer une page vierge, j'arrive à la sélection de la case B10 dans laquelle il fait l'action "Alt+Down" et affiche du coup comme une liste ou il n'y aurai que "N° OF". Juste pour un coté esthétique j'essaye de résoudre ça en plaçant à la fin de la macro des SendKeys "~" ou " " ou "Up" puis "Down" mais rien n'a faire cette liste s'affiche à la fin de toute la macro. (J'ai vérifier avec des timers pour savoir à quelle moment cela s'effectué). Si vous avez une idée .
[EDIT3] : J'ai trouvé une solution en modifiant mon code. Cela fonctionne pour toutes les cellules sauf (F16:G16) et (H16:I16)
Je n'arrive toujours pas à trouver une solution pour le bouton "Réglages Machine" et ne comprend pas pourquoi cela ne fonctionne pas pour ces deux cellules fusionnées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$F$10:$G$10" And Target.Count = 2 Then SendKeys "%{down}" End If If Target.Address = "$B$16:$E$16" And Target.Count = 4 Then SendKeys "%{down}" End If If Target.Address = "$F$16:$G$16" And Target.Count = 2 Then SendKeys "%{down}" End If If Target.Address = "$H$16:$I$16" And Target.Count = 2 Then SendKeys "%{down}" End If If Target.Address = "$B$21:$E$21" And Target.Count = 4 Then SendKeys "%{down}" End If If Target.Address = "$H$21" And Target.Count = 1 Then SendKeys "%{down}" End If If Target.Address = "$H$22" And Target.Count = 1 Then SendKeys "%{down}" End If End Sub
[EDIT4] Les cellules ne fonctionnaient pas car elles fonctionnes en fonction de la liste précédente. Finalement il ne me reste que le soucis du bouton "Réglages Machine" ... Le titre n'a plus rien à voir ^^'' et désolé je n'avais pas fais attention. Le fichier que j'avais fourni été protégé. J'ai modifier cela.
Partager