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

Word Discussion :

Listes déroulantes en cascades sous Word 2010 [WD-2010]


Sujet :

Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 17
    Points
    17
    Par défaut Listes déroulantes en cascades sous Word 2010
    Bonjour à toutes et tous

    J'ai un petit problème...

    J'aimerais savoir comment on doit faire pour avoir des listes déroulantes (sous Word 2010) qui dépendent les unes des autres ?
    Enfin, je m'explique: il faudrait que la deuxième dépende d'un choix dans la première, la troisième, d'un choix de la deuxième, etc...
    Je suis pas trop copain avec VBA alors si il y en a ici qui le maîtrise et qui voudrait bien m'aider, je suis preneur

    Ah oui, bonne année à tout ceux qui me liront

    Merci merci

    Kerbe

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kerbe Voir le message
    Bonjour,

    A partir de quoi remplissez-vous ces listes ? Quel nombre d'enregistrements pour chacune (accessoire) ?

    Avez-vous un exemple ?

    Cordialement.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    Bonjour et merci de votre intérêt.

    En fait, j'ai entendu dire que le contenu des listes devaient être rempli via le VBA...
    Elles ne serviraient que comme "choix" possible afin de compléter un document.

    La liste1 contiendrait 3 possibilités (1,2,3)
    La liste2 contiendrait 10 possibilités (1.1, 1.2, 1.3,...)
    La liste3 contiendrait 38 possibilités (1.3.1,1.3.2,...)
    La liste4 contiendrait 6 possibilités (3.2.3.1, 3.2.3.2,...)

    je peux vous donner comme exemple une capture des données qui devraient se trouver dans les liste déroulantes, ce sera peut-être plus clair!

    Nom : Capture1.JPG
Affichages : 3410
Taille : 66,9 KoNom : Capture2.JPG
Affichages : 1416
Taille : 96,0 Ko

    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kerbe Voir le message
    Le code suivant doit être présent dans le module ThisDocument de votre document. Il sert à alimenter une ComboBoxNiveau1. Nb : Les contrôles sont des ActiveX.

    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
     
     
    Private Sub Document_Open()
     
    Dim ControleEnCours As InlineShape
     
     
        For Each ControleEnCours In ActiveDocument.InlineShapes
            If ControleEnCours.Type = wdInlineShapeOLEControlObject Then
                 Select Case ControleEnCours.OLEFormat.ClassType
                        Case "Forms.ComboBox.1" '"Forms.ListBox.1", "Forms.Label.1", "Forms.TextBox.1"
                             With ControleEnCours.OLEFormat.Object
                                  If .Name = "ComboBoxNiveau1" Then
                                        .AddItem "1-Classement de nature technique"
                                        .AddItem "2-Classement sans suite pour motifs d'opportunité"
                                        .AddItem "3- ?"
                                 End If
                            End With
                End Select
         End If
        Next
    End Sub
    Dans le même module, le code suivant montre comment modifier la ComboBoxNiveau2 en fonction du choix fait en niveau 1 :

    Le principe peut être décliné pour le niveau 3.


    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
    24
    25
     
    Private Sub ComboBoxNiveau1_Change()
            Select Case ComboBoxNiveau1
                   Case "1-Classement de nature technique"
                        With ComboBoxNiveau2
                             .Clear
                             .AddItem "1.1. Absence d'infraction"
                             .AddItem "1.2. Charges insuffisantes"
                        End With
                   Case "2-Classement sans suite pour motifs d'opportunité"
                        With ComboBoxNiveau2
                             .Clear
                             .AddItem "2.1."
                             .AddItem "2.2."
                        End With
     
                   Case "3- ?"
                        With ComboBoxNiveau2
                             .Clear
                             .AddItem "3.1."
                             .AddItem "3.2."
                        End With
            End Select
     
    End Sub
    Cordialement.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    Waw!!!

    Vraiment merci Cher Eric !

    J'aimerais vous faire parvenir mon fichier car on dirait que cela fonctionne mais pas à chaque coup...
    Mais comment car les fichiers avec macros sont refusé???

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kerbe Voir le message
    Mais comment car les fichiers avec macros sont refusé???
    Il vous faut ziper votre fichier.

    J'aimerais vous faire parvenir mon fichier car on dirait que cela fonctionne mais pas à chaque coup...
    Il faudrait décrire un peu mieux ce qui se passe. Qu'est ce qui ne fonctionne pas à chaque coup ? Dans quel contexte ?

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par kerbe Voir le message
    Waw!!!

    Vraiment merci Cher Eric !

    J'aimerais vous faire parvenir mon fichier car on dirait que cela fonctionne mais pas à chaque coup...
    Mais comment car les fichiers avec macros sont refusé???
    Pas les zip. Ceci dit, vaudrait peut-être mieux attendre le OK d'Éric. Ce ne sont pas tous les contributeurs qui acceptent les pièces jointes; surtout les fichiers de macros.

    P.S. Désolé Éric pour le télescopage.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Avant de quitter, permettez-moi quelques questions.

    1) Les listes doivent-elles être sur le modèle affiché uniquement ?
    2) Les titres des différentes sections sont-ils basés sur les styles de titres de Word ? Titre1 à Titrex ?
    3) Les titres sont-ils tous dans leur paragraphe et juste les titres ?

    Si, oui, on peut, par macro, itérer la collection paragraphs du document

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For each para in activedocument.paragraphs
    ----
    next
    On peut vérifier si le style du paragraphe est Titre1 ou titre2 etc.

    Si oui, on peut sélectionner le texte avec l'objet Selection

    Ajouter le texte directement au ComboBox/ListBox
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    surtout les fichiers de macros.
    Salut Clément,

    Tu as raison, mais je continue encore malgré ce qui m'est arrivé il y a quelques années sur Excel. J'avais ouvert un fichier qui reconfigurait totalement Excel à l'ouverture. J'ai mis un bout de temps à tout remettre d'équerre...

    Cordialement.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    Bonjour Eric et Clément,

    En fait, après mieux avoir regardé, les listes ont l'air de bien fonctionner!

    Une chose, si vous ouvrez le doc, vous verrez que parfois, le contenu de la liste sort littéralement de la page!
    Pas cool pour l'impression ça... Est-ce possible de faire des retours à la ligne quand cela se produit?
    Et aussi, j'ai regardé dans les propriétés des ComboBox mais je n'ai rien trouvé, est-ce possible, en tout cas au niveau de l'impression, de faire en sorte que les bordures et la flèche des listes déroulantes ne s'affichent plus? et permettre ainsi une mise en forme afin qu'elles s'intègrent dans la lettre de mon administration.


    test1.rar

    Ne craignez rien!! je n'ai pas l'intention de réinitialiser quoique ce soit avec

    Un tout grand merci en tout cas pour ton aide Eric!

    @ Clément: J'avoue que je n'ai pas compris grand chose dans ton intervention mais merci aussi, c'est sympa

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kerbe Voir le message
    Est-il possible d'avoir le fichier en .zip ?

  12. #12
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    Oui bien sur, le voici

    test1.zip

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kerbe Voir le message
    Une chose, si vous ouvrez le doc, vous verrez que parfois, le contenu de la liste sort littéralement de la page!
    Pas cool pour l'impression ça... Est-ce possible de faire des retours à la ligne quand cela se produit?
    Bonjour,

    Visiblement, ce n'est pas possible avec ce type de contrôle à la différence d'un TextBox qui est multiligne.

    En revanche, on ne sait pas comment tu utilises cet "outil". Si c'est pour ébaucher une trame, je ne m'y prendrais pas comme cela.

    J'ouvrirais d'abord un userform où je choisirais dans l'ordre tous les items nécessaires à mon travail. Une fois validé, chaque item serait déversé dans le document sous forme de texte stylé avec ou sans création de signet. De cette façon, il n'y aurait plus de contrainte pour formater le texte et un style ayant été défini pour ces paragraphes, une table des matières serait facilement réalisable.

    Le userform du type "Liste à liste" pourrait être de la forme de celle présente dans ce message :ouvrir-fichier-caracteres-variables

    Il faudrait néanmoins bloquer le tri dans la ListBox2 pour que les items retenus restent dans l'ordre choisi. Il faudrait également ajouter deux boutons pour les déplacements verticaux.

    Cordialement.

  14. #14
    Invité
    Invité(e)
    Par défaut Encore plus simple....
    Citation Envoyé par kerbe Voir le message
    Au final, le plus simple est de créer un document modèle .doctm comprenant déjà tous les items formatés à souhait et d'effacer les inutiles...

    La solution proposée plus haut n'est utile que si les options choisies font l'objet d'un traitement complémentaire qui ne peut se faire qu'avec VBA (aller chercher des infos dans une base de données, etc....).

    Cordialement.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 13/12/2007, 15h31
  2. [access] liste déroulante en cascade
    Par Niaouli02 dans le forum IHM
    Réponses: 3
    Dernier message: 08/11/2007, 00h25
  3. Réponses: 0
    Dernier message: 10/10/2007, 16h40
  4. Zone de liste déroulante dépendante et sous-formulaire
    Par Philosophine dans le forum Access
    Réponses: 6
    Dernier message: 24/10/2006, 22h41
  5. Réponses: 5
    Dernier message: 01/06/2006, 16h18

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