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 :

Ouvrir un UserForm en fonction d'une liste déroulante dans un premier UserForm


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut Ouvrir un UserForm en fonction d'une liste déroulante dans un premier UserForm
    Bonjour à tous et bonne année avant tout

    Mon problème :
    J'ai un UserForm avec une liste déroulante.
    En fonction du choix de la liste déroulante je voudrais ouvrir un autre UserForm

    Voici ce que j'ai :
    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 CommandButton1_Click()
     
    Dim wrdApp As Object
    Dim wrdDoc As Object
    Set wrdApp = CreateObject("Word.Application")
    Set wrdDoc = ActiveDocument
     
    With wrdDoc
        .Bookmarks("Type_Contrat").Range.Text = Me.ComboBox1.Value
    End With
     
    '----------------------------------------------------------------------------
    '-------------------Ici je voudrais un truc du style-------------------
        ComboBox1.Hide
    'Je me doute que ça ne marche pas car il cherche le UserForm qui s'appelle "ComboBox1"
    '-----------------------------------------------------------------------------
     
     
     
    End Sub
    Comment il faut faire ?
    SVP
    Merci

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Pour ouvrir ou plus précisément afficher, c'est pas Show ??
    Hide c'est cacher, donc pile poil le contraire de ce que tu souhaites faire.

    Si tu veux éviter certaines erreurs de programmation, il est plus sage d'utiliser le Early Binding et pas le Late Binding

    Ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim wrdApp As Object
    Dim wrdDoc As Object
    Set wrdApp = CreateObject("Word.Application")
    Set wrdDoc = ActiveDocument
    Devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim wrdApp As Word.Application 
    Dim wrdDoc As Word.Document
    Set wrdApp = New WordApplication
    Set wrdDoc = ActiveDocument
    Mais si tu ne crées pas un document, ou ouvre un document Word est vide et ton wrdDoc ne contient rien.

    Pour ouvrir un autre UserForm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    UserForm2.Show
    End sub
    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 éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Citation Envoyé par Heureux-oli Voir le message
    Pour ouvrir ou plus précisément afficher, c'est pas Show ??
    Hide c'est cacher, donc pile poil le contraire de ce que tu souhaites faire.
    Autant pour moi je le sais en plus.

    Citation Envoyé par Heureux-oli Voir le message
    Si tu veux éviter certaines erreurs de programmation, il est plus sage d'utiliser le Early Binding et pas le Late Binding
    Je doit avouer que je connais pas la différence (je sais même pas se que c'est exactement)

    Citation Envoyé par Heureux-oli Voir le message
    Mais si tu ne crées pas un document, ou ouvre un document Word est vide et ton wrdDoc ne contient rien.
    Je sais pas trop ce que tu as voulu dire mais en fait j'ouvre un document sur lequel il y a déjà du texte et que je complète ensuite avec des UserForm avec des signets


    Citation Envoyé par Heureux-oli Voir le message
    Pour ouvrir un autre UserForm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    UserForm2.Show
    End sub
    Ca je sais faire (il suffit que je n'inverse pas Hide et Show lol)

    ce que je veux c'est que j'ouvre un fichier doc et à l'ouverture, j'ai un UserForm avec une liste déroulante.
    L'utilisateur choisit une proposition dans la liste déroulante et en fonction du chois, j'ai un autre UserForm qui s'ouvre.


    En fait j'ai deux idées qui sont :
    un truc de ce style :
    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
    Private Sub CommandButton1_Click()
     
    Dim wrdApp As Object
    Dim wrdDoc As Object
    Set wrdApp = CreateObject("Word.Application")
    Set wrdDoc = ActiveDocument
     
    With wrdDoc
        .Bookmarks("Type_Contrat").Range.Text = Me.ComboBox1.Value
    End With
     
    '----------------------------------------------------------------------------
    '-------------------Ici je voudrais un truc du style-------------------
    ComboBox1.Value.Show
    'Je me doute que ça marche pas car il cherche le UserForm qui s'appelle "ComboBox1"
    '-----------------------------------------------------------------------------
     
    End Sub
    mais je suis pas vraiment certain que se soit possible

    Mon autre idée et de faire un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Me.ComboBox.Value = "Truc" Then
    Truc.Show
    Else
    If Me.ComboBox.Value = "Machin" Then
    Machin.Show
    ElseIf Me.ComboBox.Value = "Bidule" Then
    Bidule.Show
    Else
    ....
    mais un peu long

    Je voudrais savoir ce qui est possible ou pas et quelle est la meilleure solution ??
    Comment ferais-tu ??

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Essaie ce document ?
    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 !

  5. #5
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Merci beaucoup Heureux-oli

    Pour le moment j'ai pas trop le temps de m'en occuper mais je te tiens au courant quand je pourrai.



    Merci.

Discussions similaires

  1. [XL-2010] Userform : Afficher Image en fonction d'une liste Déroulante
    Par morpheus54400 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/04/2013, 14h34
  2. [AC-2003] Ouvrir un formulaire en fonction d'une liste déroulante
    Par LinC49 dans le forum IHM
    Réponses: 13
    Dernier message: 02/06/2010, 10h46
  3. [AC-2002] ouvrir un formulaire en fonction d'une liste (élément séléctioné)
    Par babycoca dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/07/2009, 07h53
  4. mise à jour de champs en fonction d'une liste déroulante
    Par kifouillou dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 09/04/2008, 16h37
  5. Réponses: 2
    Dernier message: 29/06/2007, 11h20

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