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 :

listes déroulantes dans word


Sujet :

Word

  1. #21
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    voilà j'ai tout suivi je l'ai enregistre comme modele prenant en charge les macro mais quand je l'ouvre je n'ai pas de formulaire
    La ligne a ajouter devant bien se trouver entre les 2 ligne deja présentes dans le code?
    rectificatif le nom que j'ai choisi est "journal" si j'ouvre un document nommé journal2 avec un point d'exclamation il y a une fenêtre nommée userform vide qui apparait

  2. #22
    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
    C'est bon pour la fenêtre vide.

    C'est une première étape franchie, je regarde pour la suivante.
    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. #23
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    quand vous avez le temps, on peut continuer
    merci

  4. #24
    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
    Okido, on y va !

    Sur le formulaire on va ajouter un combobox, Dans la boîte à outils, c'est le bouton Zone de liste déroulante.

    Tu le déposes sur le formulaire.
    Si tu crées un document basé sur le modèle, tu auras le même formulaire avec une liste déroulante vide.

    Pour la remplir, on peut utiliser plusieurs méthodes : entrer les données qui seront inclues dans le code; utiliser des données contenues dans un tableau Word; utiliser une feuille de données Excel; utiliser une base de données Access; ...
    Comme tu le vois les possibilités sont nombreuses.

    Pour le début, on va utiliser des données dans le code, c'est le plus simple pour débuter.

    Pour remplir la liste, il faut utiliser l'évènement Initialize du UserForm.
    Pour ce faire il faut aller dans le code.



    Et dans la liste déroulante il faut choisir UserForm


    Et dans l'autre liste, Initialize

    Tu devrais avoir ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
     
    End Sub
    C'est avec ce code que nous allons remplir la liste.

    Pour remplir la liste on va utiliser la méthode AddItem

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub UserForm_Initialize()
    Me.ComboBox1.AddItem "Premier Item"
    Me.ComboBox1.AddItem "Second Item"
     
    End Sub
    La méthode AddItem prend au moins un argument, la donnée !
    Comme c'est du texte, on utiliser les "".

    Me fait référence à l'objet UserForm.
    Me.ComboBox1 fait donc référence à la liste déroulante contenue dans ce formulaire.
    Si on veut faire référence à cette UserForm d'un module autre que celui du formulaire, il faut utiliser la référence du Formulaire.

    UserForm1.ComboBox1

    Essaie !

    Dis moi si ta liste contient bien deux élements !
    Citation Envoyé par Récupéré dans les perdus suite au crash
    Vu le nombre de compétences il serait mieux de les mettre sous forme de liste dans un fichier Word que dans le code.

    On va y arriver au final.

    Je suppose que tu as pu refaire les manipulations précédentes et que tu as pu changer le contenu de la liste déroulante.

    Dans le formulaire, on va donc ajouter deux listes déroulantes, un pour le jour de la semaine et un pour la période dans la journée.
    Il sera important de visualiser ces données sur le formulaire, pour cela, nous allons ajouter une simple liste.

    Il va falloir créer un document avec dans une table la liste des compétences.
    La table aura une seule colonne et toute les données seront dans des cases différentes de cette colonne.
    Cette façon de faire permet de trier les données par ordre alphabétique.
    On va appeler ce document : SourceDeDonnees.docx
    Le "é" a été volontairement remplacé par un simple "e", c'est plus propre dans le code.
    Une seconde table avec les modalités et une troisième avec les matières.
    On auras tout couvert.

    Lors du chargement du formulaire, nous allons aller chercher les données dans ce document pour les utiliser dans les différentes listes.
    (Nous aurions pu utiliser une feuille Excel, le principe reste sensiblement le même.)
    On placera ce document dans un répertoire du disque dur, de préférence le répertoire "Mes Documents" et un sous répertoire "z-Source".
    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. #25
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    on continue ?

  6. #26
    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
    Bien sûr, laisse moi un ou deux jours, j'ai trouvé la méthode la moins compliquée pour y arriver.

    J'aurai un cheminement pour y arriver et on avancera étape par étape.
    Jusque là, on s'est arrêté aux principes.
    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 !

  7. #27
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    ok j'attends que vous me contactiez
    merci

  8. #28
    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
    Si tu es abonnée à la discussion, tu recevras une notification.
    Je pense poster Jeudi.
    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 !

  9. #29
    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,
    On y va, sur le document qui sert de modèle, tu vas ajouter une table de 41 lignes et 5 colonnes.
    Cette table sera précédée de 5 lignes vides.
    Pour avoir plus facile, utilise ce code une seule fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub CreatTable()
    Selection.Tables.Add(Range:=Selection.Range, NumRows:=41, numcolumns:=5)
    End Sub
    Cette table va recevoir les données du formulaire. Ce sera beaucoup plus facile pour modifier les données si on désire changer une entrée. On pourrait construire cette table à chaque fois, mais ce n'est pas utile puisque la table sera toujours la même.
    On va ensuite formater la table pour qu'elle contienne les Cinq jours de la semaine et les périodes de la journée.
    Si tu veux te faciliter la vie, voilà un code qui devrait le faire.
    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
    Sub Tempo()
    Dim oTbl As Table
     
    Set oTbl = ActiveDocument.Tables(1)
    With oTbl
        .Cell(1, 1).Range.Text = "Lundi"
        .Cell(10, 1).Range.Text = "Mardi"
        .Cell(19, 1).Range.Text = "Mercredi"
        .Cell(24, 1).Range.Text = "Jeudi"
        .Cell(33, 1).Range.Text = "Vendredi"
    End With
    With oTbl
        .Cell(2, 2).Range.Text = "1"
        .Cell(11, 2).Range.Text = "1"
        .Cell(20, 2).Range.Text = "1"
        .Cell(25, 2).Range.Text = "1"
        .Cell(34, 2).Range.Text = "1"
        .Cell(3, 2).Range.Text = "2"
        .Cell(12, 2).Range.Text = "2"
        .Cell(21, 2).Range.Text = "2"
        .Cell(26, 2).Range.Text = "2"
        .Cell(35, 2).Range.Text = "2"
        .Cell(4, 2).Range.Text = "3"
        .Cell(13, 2).Range.Text = "3"
        .Cell(22, 2).Range.Text = "3"
        .Cell(27, 2).Range.Text = "3"
        .Cell(36, 2).Range.Text = "3"
        .Cell(5, 2).Range.Text = "4"
        .Cell(14, 2).Range.Text = "4"
        .Cell(23, 2).Range.Text = "4"
        .Cell(28, 2).Range.Text = "4"
        .Cell(37, 2).Range.Text = "4"
        .Cell(6, 2).Range.Text = "5"
        .Cell(15, 2).Range.Text = "5"
        .Cell(29, 2).Range.Text = "5"
        .Cell(38, 2).Range.Text = "5"
        .Cell(7, 2).Range.Text = "6"
        .Cell(16, 2).Range.Text = "6"
        .Cell(30, 2).Range.Text = "6"
        .Cell(39, 2).Range.Text = "6"
        .Cell(8, 2).Range.Text = "7"
        .Cell(17, 2).Range.Text = "7"
        .Cell(31, 2).Range.Text = "7"
        .Cell(40, 2).Range.Text = "7"
        .Cell(9, 2).Range.Text = "8"
        .Cell(18, 2).Range.Text = "8"
        .Cell(32, 2).Range.Text = "8"
        .Cell(41, 2).Range.Text = "8"
    End With
     
    End Sub
    Comme tu as pu le comprendre, on adresse une cellule de la table pour lui affecter les données. Les données introduites sont fixes. On vient d'entrer les jours de la semaine est les périodes par jour.
    La méthode pour adresser une cellule est assez simple : Cell(x,y).Range.text


    On va utiliser la même méthode pour mettre à jour le document.
    Si la disposition de la table ne te convient pas, dis le on modifiera la table.
    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 !

  10. #30
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    peux tu me preciser exactement où je dois placer les lignes de code que tu as écrites je suis un peu perdue

  11. #31
    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
    Ces lignes doivent être placées dans un module et exécuté une seule fois.
    Ensuite, tu peux t'en débarrasser, elles ne servent qu'à la mise en forme initiale du tableau.
    Je les ai mise pour avoir une première approche d' l'accès aux données d'un tableau en Word.
    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 !

  12. #32
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    je suis desolee mais je comprends pas
    j'abandonne le document qu'on a fait au début dans lequel on a ecrit du code?
    ou bien j'ajoute dans ce qu'on a deja fait mais où ?

  13. #33
    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
    Le document fait au début, on le gardera jusqu'à la fin.

    Dans le module document, tu as :

    Sub Document_New()

    End Sub

    Tu mets ce code juste après et après avoir utilisé le code en faisant F5 lorsque le curseur se trouve dans la procédure.

    Ensuite, tu supprimes ce que tu viens d'ajouter.
    Tu verras que le tableau que tu viens d'ajouter à été modifié.

    PS : Tu n'as pas à être désolée, c'est moi qui explique mal !
    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 !

  14. #34
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    bon alors j'ouvre mon document modèle je tape alt f11
    je selectionne this document

    dans la fenêtre de droite je choisis document; à gauche c'est new (je sais pas si c'est bon)

    le code suivant apparait :
    Private Sub Document_New()
    UserForm1.Show
    End Sub

    en dessous j'insere ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub CreatTable()
    Selection.Tables.Add(Range:=Selection.Range, NumRows:=41, numcolumns:=5)
    End Sub
    je tape f5 et il me dit erreur de syntaxe et me met la ligne : Sub CreatTable() en jaune

    c'est vraiment du pas à pas je comprends rien

  15. #35
    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
    Normalement, c'est bon.

    Essaie dans ton modèle d'ajouter 4 lignes vides.
    La table devrait se créer juste en dessous.
    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 !

  16. #36
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    j'ai bien mis les lignes vides et j'ai toujours le même message ....

  17. #37
    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
    Enlèves les parenthèses.
    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 !

  18. #38
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    ok cette fois ça marche
    mais en fait la presentaion est plutot comme sur l'image jointe pour chaque periode

    en fait chaque journee va tenir sur 2 a4
    Images attachées Images attachées  

  19. #39
    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
    C'est un peu plus clair.

    ok, je vais changer la forme des tableaux.

    Si tu as des idées, n'hésites pas.
    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 !

  20. #40
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 1
    Points
    1
    Par défaut
    alors c'est trop difficile à mettre en place ?

Discussions similaires

  1. [WD-2007] Modifier le format du texte dans une liste déroulante sous Word 2007
    Par Fitch-Warrior dans le forum Word
    Réponses: 0
    Dernier message: 19/05/2014, 17h56
  2. Liste déroulante dans Word
    Par claude-germain dans le forum Word
    Réponses: 1
    Dernier message: 16/07/2010, 20h45
  3. Liste déroulante dans un formulaire Word
    Par dede tabby dans le forum VBA Word
    Réponses: 17
    Dernier message: 26/11/2008, 23h47
  4. Liste déroulante dans word
    Par enretard dans le forum VBA Word
    Réponses: 6
    Dernier message: 17/07/2008, 13h50
  5. [EXCEL] Insertion liste déroulante dans une cellule
    Par the java lover dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/11/2005, 18h30

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