3 pièce(s) jointe(s)
Ouverture automatique de liste déroulante
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
Code:
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 |
Ainsi que le fichier pour lequel il est utilisé. Pièce jointe 146228
Puis mon fichier perso Pièce jointe 146237
Merci de votre lecture ainsi que votre possible aide :)
[EDIT] : J'ai trouvé autre chose
Code:
1 2
| If Target.Address = "$H$21" And Target.Count = 1 Then
SendKeys "%{down}" |
Ce code marche pour mes deux cellules "simple" mais pour aucune de mes cellules fusionnées.
[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)
Code:
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 |
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.
[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.