Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

zone de liste (liste déroulante) sous word, non modiable

7 réponses
Avatar
news.microsoft.com
Bonjour,

Çà va être simplissime pour vous.



sous Word, je veux créer une liste déroulante non modifiable.



Comme mes champs textes sont trop longs, je suis limité avec les boutons du
formulaire Word.


Bref, je doit utiliser les objets de la boîte à outils Contrôles.(
ListBox1_Click dans le code VB).

Mais bien sûr, je ne connais absolument pas VB.



Ce que je veux, c'est une liste avec comme valeurs 'toto','titi','tata'



Merci de votre aide



Didier

7 réponses

Avatar
Geo

sous Word, je veux créer une liste déroulante non modifiable.


Dans un formulaire ?
Le vba n'a rien à voir, voici ce que dit l'aide de word :

Ajout d'éléments à un champ liste déroulante
Ouvrez le modèle qui contient le formulaire que vous souhaitez
modifier.
Supprimez la protection du modèle du formulaire en cliquant dans la
barre d'outils Formulaires sur Protection du formulaire .
Double-cliquez sur la liste déroulante de formulaire que vous souhaitez
modifier.
Dans la zone Élément de liste, tapez l'élément.
Cliquez sur Ajouter.
Cliquez sur OK.
Protégez le formulaire en cliquant dans la barre d'outils Formulaires
sur Protection du formulaire .
Remarque Le premier élément de la zone Liste est celui qui s'affiche
par défaut dans la liste. Pour placer en première position l'élément le
plus fréquemment sélectionné, utilisez les boutons Déplacer.


--
A+

Avatar
Didier
Bonjour,
Et Non...

Je connais les Formulaires Word,
et çà fonctionne effectivement avec des textes 'courts'...

Mais, quand la liste des champs à afficher dépassent un nombre de caractères
(par ex. 70 caractères),
le champ est tronqué à l'affichage.

Bref, on ne peut utiliser dans ce cas les Formulaire,
et on doit passer par la boîte à outil Contrôles...
Et là on rentre dans le Visual Basic...
Et là, je ne connais pas ;-)

cqfd

@+
Didier


"Geo" a écrit dans le message de news:


sous Word, je veux créer une liste déroulante non modifiable.


Dans un formulaire ?
Le vba n'a rien à voir, voici ce que dit l'aide de word :

Ajout d'éléments à un champ liste déroulante
Ouvrez le modèle qui contient le formulaire que vous souhaitez modifier.
Supprimez la protection du modèle du formulaire en cliquant dans la barre
d'outils Formulaires sur Protection du formulaire .
Double-cliquez sur la liste déroulante de formulaire que vous souhaitez
modifier.
Dans la zone Élément de liste, tapez l'élément.
Cliquez sur Ajouter.
Cliquez sur OK.
Protégez le formulaire en cliquant dans la barre d'outils Formulaires sur
Protection du formulaire .
Remarque Le premier élément de la zone Liste est celui qui s'affiche par
défaut dans la liste. Pour placer en première position l'élément le plus
fréquemment sélectionné, utilisez les boutons Déplacer.


--
A+





Avatar
Geo

Bonjour,
Et Non...

Je connais les Formulaires Word,
et çà fonctionne effectivement avec des textes 'courts'...

Mais, quand la liste des champs à afficher dépassent un nombre de caractères (par ex.
70 caractères),
le champ est tronqué à l'affichage.

Bref, on ne peut utiliser dans ce cas les Formulaire,
et on doit passer par la boîte à outil Contrôles...
Et là on rentre dans le Visual Basic...
Et là, je ne connais pas ;-)


faire une liste déroulante en vba ce n'est pas très compliqué,
dans vbe on fait une userform : insertion userform
on ajouter une "zone de liste modifiable" : cliquer sur le bouton dans
la fenêtre "boite à Outils" et glisser le curseur sur la userForm pour
lui donner sa taille.
Pour mettre quelque chose dedans on peut utiliser des instructions
additem que l'on peut mettre dans l'initialize de l'userform.

Ca donne :
Private Sub UserForm_Initialize()
ComboBox1.AddItem "premier blabla"
ComboBox1.AddItem "deuxième blabla"
End Sub

Bon on a une liste déroulante, et on en fait quoi ?

--
A+

Avatar
news.microsoft.com
Merci, pour l'exemple...
j'avais vu qqchose de similaire sur
http://support.microsoft.com/default.aspx?scid=KB;FR;198561
mais...
j'arrive pas à reproduire ton exemple (sic ;-)
(c mon premier jour de vb...)

Serait-il possible que vous me l'envoyez en .doc,
à ?

Merci,
cldt,
Didier


"Geo" a écrit dans le message de news:


Bonjour,
Et Non...

Je connais les Formulaires Word,
et çà fonctionne effectivement avec des textes 'courts'...

Mais, quand la liste des champs à afficher dépassent un nombre de
caractères (par ex. 70 caractères),
le champ est tronqué à l'affichage.

Bref, on ne peut utiliser dans ce cas les Formulaire,
et on doit passer par la boîte à outil Contrôles...
Et là on rentre dans le Visual Basic...
Et là, je ne connais pas ;-)


faire une liste déroulante en vba ce n'est pas très compliqué,
dans vbe on fait une userform : insertion userform
on ajouter une "zone de liste modifiable" : cliquer sur le bouton dans la
fenêtre "boite à Outils" et glisser le curseur sur la userForm pour lui
donner sa taille.
Pour mettre quelque chose dedans on peut utiliser des instructions additem
que l'on peut mettre dans l'initialize de l'userform.

Ca donne :
Private Sub UserForm_Initialize()
ComboBox1.AddItem "premier blabla"
ComboBox1.AddItem "deuxième blabla"
End Sub

Bon on a une liste déroulante, et on en fait quoi ?

--
A+





Avatar
Geo

Merci, pour l'exemple...
j'avais vu qqchose de similaire sur
http://support.microsoft.com/default.aspx?scid=KB;FR;198561


Il est pas mal ce truc et plus détaillé.
La méthode est un peu différente, mais ça se vaut.

mais...
j'arrive pas à reproduire ton exemple (sic ;-)
(c mon premier jour de vb...)


Tu ne commences pas par le plus simple

Serait-il possible que vous me l'envoyez en .doc,


Bien sûr mais si tu peux dire où tu coinces ça serait plus profitable
sans doute.

As-tu pensé à regarder les bases de vbe, c'est là que commencent les
difficultés en général?
http://faqword.free.fr/articles.php?lng=fr&pg1


--
A+

Avatar
news.microsoft.com
Bon,
j'ai trouvé :
Private Sub Document_Open()
ComboBox1.AddItem "Premier Blabla"
ComboBox1.AddItem "Deuxième Blabla"
ComboBox1.AddItem "Troisième Blabla"
End Sub

Voilà, c tout.

Merci pour votre aide !

Cldt,
Didier


"Geo" a écrit dans le message de news:


Merci, pour l'exemple...
j'avais vu qqchose de similaire sur
http://support.microsoft.com/default.aspx?scid=KB;FR;198561


Il est pas mal ce truc et plus détaillé.
La méthode est un peu différente, mais ça se vaut.

mais...
j'arrive pas à reproduire ton exemple (sic ;-)
(c mon premier jour de vb...)


Tu ne commences pas par le plus simple

Serait-il possible que vous me l'envoyez en .doc,


Bien sûr mais si tu peux dire où tu coinces ça serait plus profitable sans
doute.

As-tu pensé à regarder les bases de vbe, c'est là que commencent les
difficultés en général?
http://faqword.free.fr/articles.php?lng=fr&pg1


--
A+





Avatar
Geo

Bon,
j'ai trouvé :
Private Sub Document_Open()
ComboBox1.AddItem "Premier Blabla"
ComboBox1.AddItem "Deuxième Blabla"
ComboBox1.AddItem "Troisième Blabla"
End Sub

Voilà, c tout.


Il vaudrait mieux le mettre dans l'initialize, c'est je que je vous
avais suggéré et l'exmple de MS aussi.

Voici le code de l'userform suggéré par MS :

Option Explicit
Private Sub CmdClose_Click()
Unload Me
End Sub
Private Sub ComboBox1_Change()
ActiveDocument.FormFields("Text1").Result = ComboBox1.Value
End Sub
Private Sub UserForm_Initialize()
ComboBox1.AddItem "Ma première formule à insérer dans du texte word"
ComboBox1.AddItem "Ma deuxième formule à insérer dans du texte word"
ComboBox1.AddItem "Ma troisième formule à insérer dans du texte word"
ComboBox1.AddItem "Ma quatrième formule à insérer dans du texte word"
ComboBox1.AddItem "Ma cinquième formule à insérer dans du texte word"
ComboBox1.AddItem "etc."
End Sub

Pour le reste, ça roule ?
et on considère le sujet comme réglé ?

--
A+