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 :

Remplissage depuis une Combobox/Bookmark


Sujet :

VBA Word

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Août 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Santé

    Informations forums :
    Inscription : Août 2009
    Messages : 78
    Points : 68
    Points
    68
    Par défaut Remplissage depuis une Combobox/Bookmark
    Bonjour à tous,

    Dans un cadre professionnel, je suis amener à créer un script VBA associer à un fichier Word.
    En fait, j'aimerai pouvoir insérer des mots ou des phrases dans le ducument en fonction d'une selection réalisée depuis un ComboBox. Ce dernier serai bien sûr sur une UserForm.
    Je pense utiliser pour ça les BookMark et ça fonctionne parfaitement avec la simple commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub CMD01_Click()
     
       With ActiveDocument
        .Bookmarks("BK01").Range _
        .InsertBefore "Texte à écrire"
       End With
     
    End Sub
    Le problème vient alors lors de l'utilisation de mon Combobox. En l'occurrence, je suis passé par un module plutôt que de surcherger ma UserForm. Voici mes codes:

    Ma UserForm (FRM01):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub UserForm_Initialize()
        Macro_init
    End Sub
     
    Private Sub ComboBox1_Change()
        Macro_CMB1
    End Sub
     
    Private Sub CMD01_Click()
        Macro_remplissage
    End Sub
    Mon Module:

    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
     
    Option Explicit
    Public nom As String
    Public couleur As String
    Public marque As String
     
    Sub Macro_init()
     
        FRM01.ComboBox1.AddItem "Riri"
        FRM01.ComboBox1.AddItem "Fifi"
        FRM01.ComboBox1.AddItem "Loulou"
     
    End Sub
     
    Sub Macro_CMB1()
     
        Select Case FRM01.ComboBox1.Value
        Case 0
            nom = "Riri Duck"
            couleur = "Rouge"
            marque = "BMW"
        Case 1
            nom = "Fifi Duck"
            couleur = "Bleu"
            marque = "Audi"
        Case 2
            nom = "Loulou Duck"
            couleur = "Vert"
            marque = "Porsche"
        End Select
     
    End Sub
     
    Sub Macro_remplissage()
     
       With ActiveDocument
        .Bookmarks("BK01").Range _
        .InsertBefore nom
        .Bookmarks("BK02").Range _
        .InsertBefore couleur
        .Bookmarks("BK03").Range _
        .InsertBefore marque
       End With
     
       FRM01.Hide
     
    End Sub
    Voilà, là rien ne se passe. Je suppose que c'est au niveau de l'affectation des variables mais je ne sais pas quoi faire. Pourriez-vous, s'il vous plait, jeter un coup d'oeil ? (le ficher est en pièce jointe)

    Merci d'avance.

    Mafooley
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Je vais te dire la méthode que j'aurais utilisée.

    Dans ton exemple, les données se trouvent dans ton code, ça signifie que lorsque tu vas ajouter des données liées aux choix, tu va devoir modifier ton code.

    La solution est d'avoir la gestion dans le code, mais les données dans une document facilement éditable comme un document contenant un tableau.

    Le fais de charger un module de formulaire ne pose pas de problème en soi, que ce soit un module ou le userform, le code devra être chargé.

    Pour écrire un texte dans un signet, si tu utilises le range du signet, tu écrases le signet, si tu utilise l'objet sélection, tu remplace le texte.


    J'ai fait un exemple, d'où je suis, je ne peux pas faire de téléchargement.
    Fichiers attachés Fichiers attachés
    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 !

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Août 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Santé

    Informations forums :
    Inscription : Août 2009
    Messages : 78
    Points : 68
    Points
    68
    Par défaut
    Super, merci, avec ça je vais pouvoir avancer. Ce n'était pas si compliqué finalement, mais quand on débute, on va toujours chercher midi à 14h00...

    Encore merci

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Dans ces cas là, je fais mon possible.
    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 !

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

Discussions similaires

  1. Lisbox et récupération depuis une combobox
    Par phoenix345 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/01/2010, 19h01
  2. Remplissage d'une comboBox
    Par BountyHunter dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/12/2007, 11h05
  3. Remplissage d'une combobox
    Par Tiresia dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/07/2007, 10h13
  4. Réponses: 3
    Dernier message: 14/06/2006, 16h36
  5. [FLASH MX2004] Lancer un clip depuis une combobox
    Par Sorento dans le forum Flash
    Réponses: 5
    Dernier message: 18/06/2005, 23h52

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