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 :

Liste deroulante en cascade [WD-2016]


Sujet :

Word

  1. #1
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut Liste deroulante en cascade
    Bonsoir à tous et merci de m’accueillir parmi vous.
    Quelqu'un pourrait me dire comment on fait une liste déroulante en cascade.
    J'AI CHERCHE PARTOUT je trouve vraiment rien.
    Pouvez m'indiquer le process ou carrément me joindre une feuille word avec cette fameuse liste déroulante en cascade haha.
    En gros je cherche à faire ce choix à une case : Français;Mathématique;Éducation physique et sportive et selon ce choix il m'ouvre une autre liste correspondant au critère sélectionné
    Français:
    Orthographe
    Grammaire
    Conjugaison

    Mathématique:
    Numération
    Géométrie
    Calcul

    Education physique et sportive :
    Adapter ses déplacements à des environnements variés
    Réaliser une performance
    Exprimer



    En vous REMERCIANT.
    cordialement
    Tauru

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

    Un exemple ici menu-deroulant-choix-predefini

  3. #3
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut
    MERCI

    Je crois que c'est ça. Grand merci je regarde ça de suite et je reviens vers vous

    Cordialement

  4. #4
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut
    Citation Envoyé par Tauru Voir le message
    MERCI

    Je crois que c'est ça. Grand merci je regarde ça de suite et je reviens vers vous.

    Cordialement
    voila cela marche super.

    Mais comment faire si j'ai plusieurs combobox à choix multiple.
    Cela marche super mais j'arrive pas à faire en sorte d'avoir plusieurs listes sur une feuille
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Option Explicit
     
     
    ' word/menu-deroulant-choix-predefini/
     
    Private Sub MaTiere_Change() ' nom de la box
     
            Select Case MaTiere ' choix de la box
     
                   Case "Français" ' entrer liste pour ce mot
                        With CHOix ' avec le nom de la 2eme box
                             .Clear
                             .AddItem "Ortohographe"
                             .AddItem "Grammaire"
                             .AddItem "Conjugaison"
                             .ListIndex = -1
                        End With
                   Case "Mathématique" ' entrer liste pour ce mot
                        With CHOix ' avec le nom de la 2eme box
                             .Clear
                             .AddItem "Numération"
                             .AddItem "Géométrie"
                             .AddItem "Calcul"
                             .ListIndex = -1
                        End With
     
                   Case "Education Physique et Sportive" ' entrer liste pour ce mot
                        With CHOix ' avec le nom de la 2eme box
                             .Clear
                             .AddItem "Réaliser une Performance"
                             .AddItem "EXprimer"
                             .AddItem "Adapter ses déplacements à des environements variés"
                             .ListIndex = -1
                        End With
            End Select
     
    End Sub
     
    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 = "MaTiere" Then
                                        .AddItem "Français"
                                        .AddItem "Mathématique"
                                        .AddItem "Education Physique et Sportive"
                                 End If
                            End With
                End Select
         End If
        Next
    End Sub

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Tauru Voir le message
    Modifiez votre message précédent pour avoir Option Explicit sous la balise Code

    Sinon, je ne vois pas la différence avec mon exemple la combobox Matiere contient Français, Mathématique, Education Physique et Sportive et la deuxième est modifiée selon le choix.

    Il vous suffit de remplacer mes différents cas par les vôtres dans mon fichier exemple.

  6. #6
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Modifiez votre message précédent pour avoir Option Explicit sous la balise Code

    Sinon, je ne vois pas la différence avec mon exemple la combobox Matiere contient Français, Mathématique, Education Physique et Sportive et la deuxième est modifiée selon le choix.

    Il vous suffit de remplacer mes différents cas par les vôtres dans mon fichier exemple.
    bonsoir KERGRESSE eric . et merci pour ce code .
    alors oui tout marche super pour une liste a choix multiple comme pour vous sur la demo .J AI REMPLACER vos champs par les miens et tout roule .
    mais comment en ajouter de nouvelle liste ? J AI BIEN ESSAYER DE DOUBLER VOTRE CODE mais forcement y a doublon donc bug afin d obtenir.
    sur ma feuille je compte mettre plusieurs list déroulante a choix multiple dans le genre de la premiere .
    Merci pour votre réactivité .

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Tauru Voir le message
    Dans ThisDocument, il vous faut initialiser toutes les ComboBox de niveau 1, comme ci-dessous. Sauf que vos combo, vous les appellerez ComboBoxNiveau11, ComboBoxNiveau12, ComboBoxNiveau13

    et vos Combo de niveau 2 seront ComboBoxNiveau21, ComboBoxNiveau22, ComboBoxNiveau23. ComboBoxNiveau21 étant en relation avec ComboBoxNiveau11 et ainsi de suite.

    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
     
    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 "Cuisine"
                                        .AddItem "Salon"
                                        .AddItem "Salle de bain"
                                 End If
                            End With
                End Select
         End If
        Next
    End Sub

  8. #8
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut
    ALORS j ai fait ceci
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    Option Explicit
     
     
    ' word/menu-deroulant-choix-predefini/
     
    Private Sub ComboBoxNiveau11_Change() ' nom de la box
     
            Select Case ComboBoxNiveau11 ' choix de la box
     
                   Case "Français" ' entrer liste pour ce mot
                        With ComboBoxNiveau21 ' avec le nom de la 2eme box
                             .Clear
                             .AddItem "Ortohographe"
                             .AddItem "Grammaire"
                             .AddItem "Conjugaison"
                             .ListIndex = -1
                        End With
                   Case "Mathématique" ' entrer liste pour ce mot
                        With ComboBoxNiveau21 ' avec le nom de la 2eme box
                             .Clear
                             .AddItem "Numération"
                             .AddItem "Géométrie"
                             .AddItem "Calcul"
                             .ListIndex = -1
                        End With
     
                   Case "Education Physique et Sportive" ' entrer liste pour ce mot
                        With ComboBoxNiveau21 ' avec le nom de la 2eme box
                             .Clear
                             .AddItem "Réaliser une Performance"
                             .AddItem "EXprimer"
                             .AddItem "Adapter ses déplacements à des environements variés"
                             .ListIndex = -1
     
     '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
     
            Select Case ComboBoxNiveau12 ' choix de la box
     
                   Case "Français" ' entrer liste pour ce mot
                        With ComboBoxNiveau22 ' avec le nom de la 2eme box
                             .Clear
                             .AddItem "Ortohographe"
                             .AddItem "Grammaire"
                             .AddItem "Conjugaison"
                             .ListIndex = -1
                        End With
                   Case "Mathématique" ' entrer liste pour ce mot
                        With ComboBoxNiveau22 ' avec le nom de la 2eme box
                             .Clear
                             .AddItem "Numération"
                             .AddItem "Géométrie"
                             .AddItem "Calcul"
                             .ListIndex = -1
                        End With
     
                   Case "Education Physique et Sportive" ' entrer liste pour ce mot
                        With ComboBoxNiveau22 ' avec le nom de la 2eme box
                             .Clear
                             .AddItem "Réaliser une Performance"
                             .AddItem "EXprimer"
                             .AddItem "Adapter ses déplacements à des environements variés"
                             .ListIndex = -1
     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                        End With
            End Select
     
    End Sub
     
     
    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.11", "Forms.ComboBox.12" '"Forms.ListBox.1", "Forms.Label.1", "Forms.TextBox.1"
                             With ControleEnCours.OLEFormat.Object
                                  If .Name = "ComboBoxNiveau11" Then
                                        .AddItem "Français"
                                        .AddItem "Mathématique"
                                        .AddItem "Education Physique et Sportive"
                                   If .Name = "ComboBoxNiveau12" Then
                                        .AddItem "Français"
                                        .AddItem "Mathématique"
                                        .AddItem "Education Physique et Sportive"
                                 End If
                            End With
                End Select
         End If
        Next
    End Sub
    et ya un debug a la fin si joint le dossier avec le code dessus .
    Fichiers attachés Fichiers attachés

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Tauru Voir le message
    Un exemple dans le fichier joint.

  10. #10
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Un exemple dans le fichier joint.
    Voila et merci beaucoup pour votre temps et votre patience.
    Du coup j ai même réussi à le faire en 3 niveaux grâce à vous.


    2 petites questions peut-on faire un multichoix ?

    français (niveau1)

    niveau 2
    • français1 français2 français3
    et pouvoir choisir français1 et français3 pour qu'il s'affichent en même temps.
    ou c'est carrément un autre code ?

    et si mon choix au niveau 2 est une phrase comment faire pour qu'elle s'affiche en 2 lignes (si elle est trop longue)?
    cordialement

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Tauru Voir le message
    2 Petites questions peut on faire faire un multichoix ?

    français (niveau1)

    niveau 2
    • français1 français2 français3
    et pouvoir choisir français1 et français3 pour qu il s affiche en même temps.
    ou c est carrément un autre code ?
    Les combobox ne permettent pas une multi-sélection. Il vous faudrait utiliser des ListBox et leur donner la propriété Multiselect.


    et si mon choix au niveau 2 est une phrase comment faire pour quel s affiche en 2 ligne (si elle est trop longue)?
    cordialement
    Les combobox n'ont pas de propriété WrapText. Utilisez la propriété Autosize, mais le résultat est souvent décevant.

  12. #12
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Les combobox ne permettent pas une multi-sélection. Il vous faudrait utiliser des ListBox et leur donner la propriété Multiselect.




    Les combobox n'ont pas de propriété WrapText. Utilisez la propriété Autosize, mais le résultat est souvent décevant.
    OUI Autosize PAS terrible en effet . j essaierais la liste box pour voir ...
    Merci Mrs Eric Kergresse .

  13. #13
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut
    Citation Envoyé par Tauru Voir le message
    OUI Autosize PAS terrible en effet . j essaierais la liste box pour voir ...
    Merci Mrs Eric Kergresse .


    Bonsoir ,Mrs Eric Kergresse
    doc.2.zip Voilas le travail non aboutis encore .
    DONC J AI MI UNE LISTE BOX multi-choix quand je sélectionne cela reste bleu en quoi il choisi? .
    OU alors faudrait il une mini macro qui lui dise quoi faire ?
    TAURU

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Tauru Voir le message

    Un exemple dans le fichier.

    Pièce jointe 353247

    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
     
    Private Sub BoutonSelectionner_Click()
     
    Dim Ctri As Long
    Dim ContenuSelectionne As String
     
        ContenuSelectionne = ""
     
        If ListBox32.ListCount > 0 Then
           For Ctri = 0 To ListBox32.ListCount - 1
               If ListBox32.Selected(Ctri) = True Then
                  ContenuSelectionne = ContenuSelectionne & ListBox32.List(Ctri) & Chr(10)
               End If
           Next Ctri
        End If
     
        If ContenuSelectionne <> "" Then
           MsgBox ContenuSelectionne, vbInformation
        End If
     
    End Sub

  15. #15
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut
    Tout d abord Merci de me répondre aussi vite .
    J AI ouvert le doc avec la commande .
    Par contre je ne vois pas d effet .
    j ai bien le message comme quoi j ai choisi un des noms du niveau 3 ,
    par contre quand je vais dans la mise en page pour imprimer les deux apparaisse toujours.
    Le multi choix est bien la ,mais quand je choisi une des options ou plusieurs les autres devrais disparaitre .

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Tauru Voir le message
    Le fonctionnement de la ListBox est correct. Les items de la Listbox resteront toujours visibles. Dans le code, j'ai mis le résultat dans un Msgbox, mais il vous faut transférer le résultat dans le document dans un Textbox ou via un signet.

  17. #17
    Membre habitué
    Homme Profil pro
    CUISINIER
    Inscrit en
    Février 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : CUISINIER

    Informations forums :
    Inscription : Février 2018
    Messages : 12
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Le fonctionnement de la ListBox est correct. Les items de la Listbox resteront toujours visibles. Dans le code, j'ai mis le résultat dans un Msgbox, mais il vous faut transférer le résultat dans le document dans un Textbox ou via un signet.
    D'accord je fais ça de suite .
    Merci

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Tauru Voir le message
    Si vous ne voulez plus voir les contrôles ActiveX (combobox, Listbox) sur le document, il vous faut les placer dans un Userform et exporter seulement les résultats dans le document.

  19. #19
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Si vous ne voulez plus voir les contrôles ActiveX (combobox, Listbox) sur le document, il vous faut les placer dans un Userform et exporter seulement les résultats dans le document.
    Bonjour,
    Je réouvre le dossier car je ne comprend pas trop bien le principe.
    Pouuriez vous Mr KERGRESSE nous mettre un fichier en exemple car pour ma part, je dois produire un document officiel et je ne peux pas me permettre d'afficher les combobox dans mon document, je ne dois faire apparaitre que les résultats sans la fleche des combobox

    En vous remerciant

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

    Au lieu d'avoir des contrôles directement sur le document, ceux-ci sont placés dans un userform. Ce billet comporte un exemple de userform : word-vba-concatener-fichiers-dat-sauvegarde-rtf-partir-document-word-docm/. Regardez si ce cas correspond à ce que vous cherchez.

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

Discussions similaires

  1. [XL-2007] Liste Deroulante en cascade selon liste d'une autre feuille
    Par Audeo dans le forum Excel
    Réponses: 4
    Dernier message: 25/09/2014, 08h59
  2. Listes deroulantes en cascade
    Par JEYBY dans le forum Excel
    Réponses: 2
    Dernier message: 17/11/2013, 16h10
  3. liste deroulante en cascade
    Par dalo02 dans le forum Excel
    Réponses: 4
    Dernier message: 15/12/2011, 10h34
  4. liste deroulante en cascade
    Par padawanette dans le forum InfoPath
    Réponses: 3
    Dernier message: 26/08/2008, 09h56
  5. [VBA-E]Comportement de liste deroulante en cascade
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/03/2006, 14h17

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