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 à adapter.
Voici le bout de code
Ainsi que le fichier pour lequel il est utilisé. Regarde la pièce jointe listesderoulantes (1).xls
Puis mon fichier perso Regarde la pièce jointe 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
[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.
[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 ^^''
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 à adapter.
Voici le bout de code
Code:
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é. Regarde la pièce jointe listesderoulantes (1).xls
Puis mon fichier perso Regarde la pièce jointe 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
Code:
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:
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 ^^''
Pièces jointes
-
IE-QUA12-B-Fiche d'auto-contrôle Tramage et Microperforation.xls128 KB · Affichages: 23
-
IE-QUA12-B-Fiche d'auto-contrôle Tramage et Microperforation.xls128 KB · Affichages: 26
-
IE-QUA12-B-Fiche d'auto-contrôle Tramage et Microperforation.xls128 KB · Affichages: 27
-
IE-QUA12-B-Fiche d'auto-contrôle Tramage et Microperforation.xls122 KB · Affichages: 20
-
IE-QUA12-B-Fiche d'auto-contrôle Tramage et Microperforation.xls122 KB · Affichages: 18
Dernière édition: