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 :

Parcourir toutes les combobox d'un document WORD


Sujet :

Word

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Points : 29
    Points
    29
    Par défaut Parcourir toutes les combobox d'un document WORD
    Bonjour le Forum

    Je suis en train de créer un questionnaire de connaissances, et je souhaite intégrer pour chaque question un liste déroulante (Combobox) permettant d'annoter le résultat de la question avec OK, NOK, Incomplet.

    j'ai 15 Questions dans mon document avec 2 questions comportant 3 "Sous Questions", j'ai donc 18 Combobox dans mon Doc, toutes nommées :

    CB_1
    CB_2
    CB_3A
    CB_3B
    CB_3C
    CB_4
    Etc.......

    Je souhaiterai créer une boucle me permettant d'initialiser toutes mes combobox à l'ouverture du document avec OK, NOK, INCOMPLET , du genre
    For each COMBOBOX in Mon Document
    COMBOBOX.additem "OK"
    COMBOBOX.additem "NOK"
    COMBOBOX.additem "INCOMPLET"
    Next COMBOBOX
    et créer en suite une autre boucle pour calculer les résultats en stockant dans une variable les points obtenus (OK = 1 pts, NOK= 0 pts,IMCOMPLET = 0.5 PTS).

    For each COMBOBOX in Mon Document
    If COMBOBOX.value = "OK" then
    TOTAL = TOTAL +1
    ElseIf COMBOBOX.value="INCOMPLET" then
    TOTAL = TOTAL + 0.5
    Else
    TOTAL = TOTAL
    END IF
    Next COMBOBOX

    je n'arrive pas a créer mes boucles sur ces combobox et suis perdu dans les types de contrôle (Field, inlineshape, ContentControle....)
    Comment je peux déclarer une variable pour créer ma boucle for Each ou pourquoi pas un compteur (en utilisant les numéros de noms de mes combobox.

    SI quelqu'un peut m'aiguiller....

    merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 224
    Points : 443
    Points
    443
    Par défaut
    Bonjour filiph79, le forum,

    Tu trouveras un exemple ci-dessous pour la partie initialisation :
    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
    Sub test()
    Dim l_o_inlineShp As InlineShape
    Dim l_o_combobox As MSForms.ComboBox
        'boucler sur toutes les "InlineShapes" du document
        For Each l_o_inlineShp In ThisDocument.InlineShapes
            'filtrer sur les "InlineShapes" de type "OLEControlObject"
            If l_o_inlineShp.Type = wdInlineShapeOLEControlObject Then
                'filtrer sur les "Comboboxes"
                If TypeOf l_o_inlineShp.OLEFormat.Object Is MSForms.ComboBox Then
                    Set l_o_combobox = l_o_inlineShp.OLEFormat.Object
                    l_o_combobox.Clear
                    l_o_combobox.AddItem "OK"
                    l_o_combobox.AddItem "NOK"
                    l_o_combobox.AddItem "INCOMPLET"
                End If
            End If
        Next l_o_inlineShp
        Set l_o_inlineShp = Nothing
        Set l_o_combobox = Nothing
    End Sub
    A+

Discussions similaires

  1. [WD-2016] Importer une image sur toutes les pages d'un document word (VBA)
    Par fossi69 dans le forum VBA Word
    Réponses: 3
    Dernier message: 21/12/2017, 09h09
  2. Remplir toutes les combobox d'un doc Word
    Par nerim dans le forum VBA Word
    Réponses: 3
    Dernier message: 24/01/2008, 21h48
  3. Réponses: 2
    Dernier message: 07/02/2007, 09h16
  4. [VB6] [MDI] Parcourir toutes les MDIForms chargées
    Par d.carail dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/10/2002, 09h07

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