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

VBA Word Discussion :

Comment augmenter la capacité d'une liste déroulante


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Par défaut Comment augmenter la capacité d'une liste déroulante
    Bonsoir,

    Je me permets de faire appel à vos connaissances en matière de vba.

    J'ai un document sous word 2007 dans lequel j'ai inséré des listes déroulantes. Seulement l'une d'entre elles contient beaucoup de choix et les désignations sont pour certaines assez longues.

    Je me retrouve donc avec deux problèmes :

    1 : je ne peux apparemment pas insérer plus de 25 choix.
    2 : les désignations sont coupées (je ne peux pas insérer un item dans sa totalité) : cela veut donc dire que c'est limité également sur le nombre de caractères ?

    J'ai lu qu'il y avait moyen de contourner ce problème via une combobox j'ai bien essayé de suivre quelques idées relevées mais rien n'y fait.

    Pourriez-vous m'éclairer sur la question ?

    Vous remerciant par avance pour votre aide.

  2. #2
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Par défaut
    Bonjour,

    J'ai enfin trouvé la solution, je suis passée par la zone de liste déroulante dans le panneau "Contrôles ActiveX".

    Ensuite j'ai cliqué sur le bouton "mode création" puis clic droit sur la liste et choisi "visualiser le code". Et j'ai copié le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub ComboBox1_DropButtonClick()
    If ComboBox1.ListCount = 0 Then
    With ComboBox1
    .AddItem "texte 1"
    .AddItem "texte 2"
    .AddItem "texte 3"
    End With
    End If
    End Sub
     
    Private Sub ListBox1_Click()
     
    End Sub
    La seule chose que je ne suis pas arrivée à faire c'est enlever la bordure de la liste déroulante qui contrairement aux listes déroulantes héritées, reste visible, si vous connaissez l'astuce je suis preneuse.

    Merci d'avoir pris le temps de me lire.

    Bonne journée.

  3. #3
    Membre averti
    Homme Profil pro
    profession libérale
    Inscrit en
    Octobre 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : profession libérale
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 49
    Par défaut Augmenter la capacité d'une liste déroulante
    Bonjour,
    les combobox permettent de de proposer une liste de choix (avec .additem) en autorisant une saisie personelle différente de ce qui est proposé.
    listindex=0 sert à faire apparaitre le premier item dans la combobox à l'ouverture du userform. Listrows permet de choisr le nombre d'item visibles quand on clique sur la flèche de la combobox (par défaut, on voit 8 lignes ; si on a 10 items, on est obligé d'utiliser l'ascenceur pour voir ceux du bas : il est plus agréable de voire toute la liste quand on peut se le permettre - je suppose que c'était le but de la question-)
    NB : faire un double click sur le userform : ouvre un code du type Private Sub UserForm_Initialize() dans lequel on place tous les code qui doive se réaliser à l'ouverture du userform, en particulier le descriptif des combobox. Quand on finit le mot combobox2 (par exemple), normalement, le choix des possibilité apparait au moment où on saisit le point (combobox2.) ; si ce n'est pas le cas : click droit pour faire apparaitre une liste déroulante et choisir "compléter le mot" ; ça permet de connaître toutes les possibilité de modification de la combobox.
    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
     
    Private Sub UserForm_Initialize()
    With ComboBox2
        .AddItem ""
        .AddItem "1"
        .AddItem "2"
        .AddItem "3"
        .AddItem "4"
        .AddItem "5"
        .AddItem "6"
        .AddItem "7"
        .AddItem "8"
        .AddItem "9"
        .ListIndex = 0
        .ListRows = 10
    End With
    end sub

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    je suppose que c'était le but de la question
    Non !

    La question est de savoir comment passer la limite de 25 entrées pour une liste dans un formulaire.

    Et la solution a été trouvée, il faut passer par un UserForm et un Combo pour ne plus avoir cette limite.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. comment récupérer les valeurs d'une liste déroulante
    Par paolo2002 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 27/06/2008, 20h05
  2. [MySQL] Comment éviter des doublons dans une liste déroulante ?!
    Par L'anonyme_connu dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/03/2008, 11h14
  3. [MySQL] comment insérer des données d'une liste déroulante dans un champ texte
    Par berti dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/01/2008, 09h12
  4. comment savoir le type d'une liste déroulante (DropDownList en asp)
    Par shirya dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/03/2007, 16h41
  5. Réponses: 1
    Dernier message: 20/06/2006, 14h32

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