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

Excel Discussion :

Liste/menu déroulant spécifique [XL-2007]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 7
    Par défaut Liste/menu déroulant spécifique
    Bonjour.

    Merci de m'apporter une aide sur mes problèmes avec Excel.

    1) Je voudrais savoir comment créer une liste déroulante sur une cellule excel et que celle-ci de soit pas figée.
    Je m'explique :
    Dans ma cellule, je voudrais que défile le nom des personnes que j'ai choisi dans ma liste(grace à la petite flèche sur le côté), que je puisse sélectionner le nom et en re-sélectionner d'autre dans la même cellule et à partir de cette même liste (puisque que plusieurs personnes peuvent être concernées). Les noms serait par exemple, séparé d'un petit tiré (dans la même cellule).

    2) Les personnes concernées appartienne à des services spécifiques. J'aimerai que lorsque je sélection une personne, le nom du service apparaisse dans la cellule d'à côté. S'il y a plusieurs personnes, le nom des services sont séparé d'un tiré. (et si plusieurs personnes travail pour le même service, il ne sera pas répété).


    Interlocuteur concerné Service concerné
    jean Bernard - Damien Jean Alimentation - Sport


    Je ne sais pas s'il serait possible de faire tout ca.

    Merci d'avance pour votre aide et dit-moi au moins si c'est possible.

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Cela devrait être possible en VBA.

    Mais avant de se lancer, il faut poser le contexte et se poser quelques questions

    - Si je choisi une personne et que je me trompe => Quelle action pour la supprimer de la liste ?
    - Une personne déjà choisi devrait ne plus apparaître dans la liste sinon on risque de la choisir une nouvelle fois.
    - ou se trouve le nom des personnes et les services (même onglet ?)

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    Pour éviter d'avoir à gérer une liste dynamique (ajout/suppression de nom, doublon ...), il est possible d'utiliser une liste statique, et de l'afficher dans une ListBox à sélection multiple.


    Cette ListBox apparaîtrait lorsqu'on clique sur la cellule contenant la liste des utilisateur.
    A la fermeture :
    - du code VBA met à jour la cellule à partir des informations de la liste box.
    - du code VBA met à jour la cellule adjacente sur la liste des services.

    Les noms serait par exemple, séparé d'un petit tiret (dans la même cellule)
    Je conseil un séparateur de liste plus standard comme ';'.
    Avec le tiret il peut y avoir un conflit avec les prénoms composé (ex : Jean-Bernard)

    En pratique la liste box devrait utiliser les options
    - Multiselect = fmMultiSelectMulti
    - ColumnCount = 2 (Utilisateurs | Services)

  4. #4
    Membre habitué
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 7
    Par défaut
    Ok, merci BlueMonkey, ca pouvais être une idée mais j'ai un truc genre 70 personnes donc, ca devriendra vite ingérable je pense. . Mais bonne idée pour les "-", tu as parfaitement raison.

    Pour Jérome,
    -Pour la supression, j'aurai vu plutôt un truc où on clic sur le nom, qui se mets en surbrillance et hop, on supprime ! (a vrai dire, je ne me suis pas posée la question)
    -oui, effectivement, ca serait pas mal d'une personne déjà sélectionnée ne soit plus dans la liste.
    - Alors, non, le nom des personnes et les services associées ne sont pas dans le même onglet

    Je vous envoie un petit exemple de mon tableau excel.

    Merci encore pour votre aide.
    Fichiers attachés Fichiers attachés

  5. #5
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    je te retourne ton fichier avec un peu de code.

    - Quand on sélectionne une cellule de la colonne D, on affiche la liste des personnes
    - on sélectionne les personnes
    - quand on ferme la userform, on affiche en colonne D les personnes et en colonne E les services

    VBA - Listbox.xls

    EDIT : pour rendre dynamique la liste des personnes, modifies l'évènement Initialise comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub UserForm_Initialize()
     
    Dim i As Integer
     
    ListBox1.RowSource = "feuil2!A2:A" & Sheets("Feuil2").Range("A65536").End(xlUp).Row
     
    For i = 0 To ListBox1.ListCount - 1
     
        If InStr(ActiveCell.Value, ListBox1.List(i, 0)) > 0 And ListBox1.List(i, 0) <> "" Then
            ListBox1.Selected(i) = True
        End If
    Next i
     
    End Sub

  6. #6
    Membre habitué
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 7
    Par défaut
    Jérôme, c'est magique !
    Je te remercie beaucoup !

    Alors, bon, je ne sais pas comment tu as fais.
    Pourrais tu m'expliquer vite fais si c'est pas trop trop long ?

    Sinon, je trouverai un moyen d'utiliser ton travail.

    Merci encore.

    Amélie.

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

Discussions similaires

  1. [AC-2007] Créer un menu déroulant spécifique
    Par mbo2 dans le forum IHM
    Réponses: 2
    Dernier message: 20/04/2013, 21h37
  2. [XL-2003] Menu déroulant avec une liste principale et une liste secondaire
    Par bbcancer dans le forum Excel
    Réponses: 2
    Dernier message: 03/05/2011, 13h50
  3. [E-07] Liste déroulante ou menu déroulant
    Par snoby dans le forum Excel
    Réponses: 2
    Dernier message: 20/01/2009, 16h33
  4. Faire disparaître une liste de menu déroulant avec onmouseout
    Par Lili72430 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/04/2007, 19h28
  5. [PHP-JS] menu liste // menu déroulant
    Par Empty_body dans le forum Langage
    Réponses: 29
    Dernier message: 10/01/2006, 22h49

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