IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Discussion :

Ouverture automatique de liste déroulante [XL-2003]


Sujet :

Conception

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Points : 13
    Points
    13
    Par défaut 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 : 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
    Ainsi que le fichier pour lequel il est utilisé. listesderoulantes (1).xls

    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : 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
    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.
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 585
    Points : 34 244
    Points
    34 244
    Par défaut
    Salut,

    à toute fin utile, si tu cherches à répliquer les listes dans un userform, tu pourras utiliser la simple ligne
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Remplissage automatique et liste déroulante requête
    Par Alialyn dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 09/08/2011, 12h59
  2. Réponses: 2
    Dernier message: 21/07/2009, 14h43
  3. Ouverture zone de liste déroulante
    Par vlksoft dans le forum IHM
    Réponses: 2
    Dernier message: 10/02/2009, 08h57
  4. ouverture form à partir liste déroulante
    Par Stéph utilisateur d'acces dans le forum IHM
    Réponses: 8
    Dernier message: 03/01/2008, 16h14
  5. sens d'ouverture d'une liste déroulante en javascript
    Par arnogef dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/05/2007, 22h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo