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 :

Récupérer la valeur d'un controle de contenu


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2024
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2024
    Messages : 20
    Points : 8
    Points
    8
    Par défaut Récupérer la valeur d'un controle de contenu
    Bonjour,
    J'ai un contrôle de contenu où j'ai mis dans nom complet "Test1", "Test2" et dans valeur "1-", "2-".
    Je souhaiterai enregistrer sous avec la valeur, mais quand je mets le code : .Name = ActiveDocument.ContentControls.Item(2).Range cela me met le nom complet au lieu de la valeur.
    Je n'arrive pas à trouver. Pourriez-vous svp m'aider ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 351
    Points : 552
    Points
    552
    Par défaut
    Bonjour,

    Quand vous lancez ce code, que donnent les msgbox ?

    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
     
    Sub Test()
     
    Dim I As Integer
    Dim WdDoc As Document
     
        Set WdDoc = ActiveDocument
        With WdDoc
             If .ContentControls.Count > 0 Then
                For I = 1 To .ContentControls.Count
                    With .ContentControls(I)
                         MsgBox .Title & " : " & .Range.Text
                    End With
                Next I
             End If
        End With
        Set WdDoc = Nothing
     
    End Sub
    Nb : Vous ne m'avez pas répondu dans votre discussion précédente.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2024
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2024
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    ça met "Test 1" et pas "1-".
    Je ne vous ai pas répondu dans la discussion précédente, car je n'avais pas fait assez de tests avec combobox et que je ne comprenais pas son fonctionnement.

  4. #4
    Membre confirmé
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 351
    Points : 552
    Points
    552
    Par défaut
    Regardez le fonctionnement de ce fichier :
    Fichiers attachés Fichiers attachés

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2024
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2024
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Merci pour le fichier mais ce n est pas exactement ce que je souhaite faire.
    Jai ajouté dans le fichier un exemple
    Fichiers attachés Fichiers attachés

  6. #6
    Membre confirmé
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 351
    Points : 552
    Points
    552
    Par défaut
    Ce ne serait pas plus simple avec une combobox ?

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2024
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2024
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Sûrement ! Je suis en train de re essayer avec un combo box. J'ai réussi à lui ajouter une liste via une macro.reste à trouver comment afficher une valeur selon une autre. Je suis en train de revoir votre premier fichier. D'ailleurs je ne comprends pas comment il fonctionne il n y a pas de macro.

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2024
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2024
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Je viens de trouver la macro 😁

  9. #9
    Membre confirmé
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 351
    Points : 552
    Points
    552
    Par défaut
    Rajoutez cette macro dans le module ThisDocument pour charger la combo à l'ouverture. La combobox s'appelle ComboBoxTest


    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
     
    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 = "ComboBoxTest" Then
                                        .AddItem "Test1"
                                        .AddItem "Test2"
                                 End If
                            End With
                End Select
         End If
        Next
     
    End Sub

    Dans ThisDocument également, ajoutez cet événement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBoxTest_Change()
     
           Select Case ComboBoxTest.Value
                  Case "Test1"
                       MsgBox "1-"
                  Case "Test2"
                       MsgBox "2-"
           End Select
     
    End Sub

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2024
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2024
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Je ne souhaite pas un msg box mais mettre dans mon nom de fichier mais avec toutes les explications fournies et votre fichier, je vais peut-être pouvoir me débrouiller et prendre le combobox 2 pour le mettre dans le titre du fichier Word. Je continuerai demain soir. Merci encore pour votre aide !

  11. #11
    Membre confirmé
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 351
    Points : 552
    Points
    552
    Par défaut
    Les msgbox ne sont là que pour illustrer le résultat, il vous suffit de mettre le résultat dans une variable string. Bon courage.

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/08/2022, 16h13
  2. Réponses: 2
    Dernier message: 02/06/2018, 19h34
  3. [WD-2007] Controle de contenu : comment utiliser la valeur dans le document ?
    Par black queen dans le forum Word
    Réponses: 2
    Dernier message: 08/06/2012, 15h10
  4. Réponses: 2
    Dernier message: 27/03/2005, 19h15
  5. Réponses: 2
    Dernier message: 04/02/2005, 11h03

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