
| ||||||||
Astucien | Bonjour, Comment faut-il procéder pour forcer la valeur "Inconnu" à une combobox nommée "MortBox" autrement que manuellement sur la fenêtre des propriétés ? http://www.cijoint.fr/cjlink.php?file=cj201010/cij2l6KMCb.xls Merci par avance
Modifié par Marmotte18 le 24/10/2010 21:32 | |||||||
Publicité | ||||||||
|
| ||||||||
Astucien | Bonsoir, Je ne suis pas sûr d'avoir bien compris ta question. La tentation est de te répondre de le faire par programmation... mais il me semble que tu n'avais besoin de personne pour trouver ça ! Ceci étant, il n'y a pas une méthode unique. Je suppose que par "forcer", tu veux que ton ComboBox (aussi bien à l'ouverture du Userform qui le contient qu'ultérieurement en fonction d'autres choix) affiche la valeur "Inconnu" et que celle-ci ne puisse être alors modifiée par l'utilisateur. Si "Inconnu" figure dans la liste des entrées sélectionnables du ComboBox, pour l'afficher il te suffirait d'affecter la propriété .Listindex = rang de l'entrée dans la liste -1 (elles sont numérotées à partir de 0), puis définir la propriété .Locked = True, de façon qu'elle ne soit plus modifiable. Si "Inconnu" ne figure pas, s'il n'y a aucune entrée, facile d'en insérer une, de la sélectionner et de la bloquer (méthode .AddItem "Inconnu", .ListIndex=0, .Locked=True). S'il existe des entrées, il faudra soit ajouter "Inconnu", soit le substituer aux entrées existantes (sauf erreur de ma part, je crois qu'il faut utiliser la même méthode que pour la définition des entrées initiales [par ex. tu ne peux utiliser AddItem si les entrées ont été définies au moyen de la propriété RowSource...] donc à adapter selon le cas). Même principe pour la suite. A+ edit: Excuses, pas vu ton lien Modifié par ferrand le 24/10/2010 21:55 | |||||||
Astucien | Bonsoir Ferrand, Merci pour tes explications que je ne suis pas sûr d'avoir compris complètement. En fait, je suis en train de fabriquer un générateur automatique de donnes de bridge. La donne étant faite, on indique qui des 4 personnes doit étaler son jeu (on dit que c'est le mort !). Ce choix (nord, sud, est ouest), je le fais manuellement via le bouton de choix de ma liste déroulante nommée "MortBox". D'où ma question : comment faire en sorte que le mot "Inconnu" apparaisse dans la liste déroulante sachant que cette valeur figure bien dans les choix possibles. Je précise que je ne cherche pas à verrouiller la donnée mais simplement procéder à une rinitialisation. Modifié par Marmotte18 le 24/10/2010 22:15 | |||||||
Astucien | Vu. Je proposerais : Worksheets(1).MortBox.ListIndex = 4 dans une procédure Workbook_Open pour que cela se fasse à l'ouverture du classeur. On peut aussi mettre l'affectation à l'activation de la feuille (mais l'évènement Activate ne se déclenche pas à l'ouverture du classeur). A toi de voir les différents cas où tu veux le faire revenir sur cette valeur.
| |||||||
Astucien | Bonsoir, Ou encore : Private Sub Workbook_Open() A+ | |||||||
Astucien | Re vu ! Donc tu l'affectes au bouton Efface. En fait, pour l'avoir à l'ouverture du classeur sur Inconnu, il y a plus logique: c'est que la valeur soit ainsi définie dans la fenêtre de propriété (valeur par défaut). Et par la suite tu réinitialises avec le bouton.
| |||||||
Astucien | galopin01 a écrit : Très juste, et dans ce cas tu peux te dispenser d'avoir "Inconnu" dans ta liste d'entrées. | |||||||
Astucien | Bonjour tout le monde, Il ne s'agit pas d'initialiser la liste déroulante à l'ouverture mais de la réinitialiser au moment opportun quand je clique sur un autre bouton. Merci Ferrand, tu viens de me donner la syntaxe que je cherche en vain depuis des heures. Worksheets("ComboBox").MortBox.ListIndex = 4 | |||||||
| ||||||||
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
| |||||||||||||||||||