menu deroulant

menu deroulant - VB/VBA/VBS - Programmation

Marsh Posté le 18-07-2006 à 14:45:45    

Bonjour a tous,  
 
Je cherche à faire en fait a restreindre des choix selon une table de données pour des colonnes spécifiques.
Je precise.
Par exemple j'ai une plage de cellule qui s'appelle TypeProco dans laquelle j'ai les cellules : AMD, Intel, Cyrix  (LOL)
et j'aimerai que par exemple la colonne D ou une plage de cellule prédéfinie, toutes les cellules qui sont comprises dans cette zone, que lorsque l'utilisateur clic dessus, un menu deroulant apparraisse avec les choix : AMD, Intel Cyrix
 
afin de restreindre les choix et d'avoir une harmonisation des champs documenté (n'est ce pas)
 
j'ai trouvé un exemple sur le forum : http://forum.hardware.fr/hardwaref [...] 0734-1.htm
 
mais je sais pas si je peux adapter ca a mon probleme et comment le faire
j'aimerai savoir si c possible de faire ca :)
 
voila merci a tous :)

Reply

Marsh Posté le 18-07-2006 à 14:45:45   

Reply

Marsh Posté le 18-07-2006 à 16:01:24    

j'ai tenté ca aussi, de le mettre dans la fonction qui s'execute lors de l'ouvertur du fichier.  Mon idee est vraiment sommaire, mais ca va ptete vous aider a comprendre ce ke je veux faire.
Private Sub Workbook_Open()
UserFormInit.Show
Range("Date" ).Select
Selection.Value = Range("CategoriZ" )
End Sub
 
Ma plage date est faite dynamiquement avec la fonction DECALER, et j'aimerai en fait qu'a chaque fois ke l'utilisateur documente une nouvelle ligne, il ne puisse rentrer que les termes contenus dans ma plage "CategoriZ"
 
Voila si vous avez des questions j'y repondrai si je peux :)
 
merci à tous

Reply

Marsh Posté le 18-07-2006 à 16:03:22    

Pourquoi ne pas utiliser les listes de choix sans vba ?

Reply

Marsh Posté le 18-07-2006 à 16:06:16    

on peut configurer une colonne avec une liste de choix prédéfinis via une plage sur une autre feuille ?

Reply

Marsh Posté le 18-07-2006 à 16:07:16    

et restreindre les choix sur la cellule a celle ci ?

Reply

Marsh Posté le 18-07-2006 à 16:18:27    

On peut configurer une colonne avec une liste de choix via une plage sur la MEME feuille.

Reply

Marsh Posté le 18-07-2006 à 16:22:18    

mais en vba comme j'ai montré avec ca :  
Private Sub Workbook_Open()  
UserFormInit.Show  
Range("Date" ).Select  
Selection.Value = Range("CategoriZ" )  
End Sub  
 
Ya pas moyen de restreindre une plage de données à documenter par une autre plage prédéfinie ?
 
en etant sur 2 feuilles différentes ?

Reply

Marsh Posté le 18-07-2006 à 16:24:36    

en tt cas merci je pars du boulot je vous dis a demain pour une belle journée au bureau avec le soleil a la fenetre ^^
 
bonne soiree all

Reply

Marsh Posté le 18-07-2006 à 16:27:56    

GillooZ a écrit :

en tt cas merci je pars du boulot je vous dis a demain pour une belle journée au bureau avec le soleil a la fenetre ^^
 
bonne soiree all


Grosse journée ..... dans l'administration ? :lol:

Reply

Marsh Posté le 19-07-2006 à 08:36:33    

nanaje travaille chez un fabricant de voiture francaise :p
 
Bon alors est ce possible d'attribuer à une plage sur une feuille, une liste de choix pour chacune de ses cellules ayant pour choix de valeur une plage situé sur une autre feuille ?

Reply

Marsh Posté le 19-07-2006 à 08:36:33   

Reply

Marsh Posté le 19-07-2006 à 08:47:52    

en cherchant j'ai trouvé une partie de ma reponse sur un site :  
 
Liste de choix ou de validation venant d'une autre feuille  
Est-il possible d'insérer dans une cellule une liste de choix qui proviendrait d'une autre feuille excel, d'un autre classeur excel voire d'une requête access ? Si la liste est dans la colonne "A" de la Feuil2
il faut nommer cette plage de données sur la feuille Feuil2 avec:
Insertion -> Nom -> Définir, (MaListe)
=DECALER(Feuil2 !$A$1:$A$1;;;NBVAL(Feuil2 !$A:$A))
sur une autre feuille sélectionne une cellule et fait données, Validation,
Autoriser: Liste , Données:
=MaListe
que les données de la feuille "Feuil2" proviennent d'une requête sur access
ou qu'elles soient entrées à la mimine ne change rien.
 
Ca me permet de faire une liste deroulante selon une plage de données situées dans une autre feuille sur UNE cellule.
 
Est il possible de faire la meme chose mais sur une plage ? pour avoir dynamiquement des que l'utilsateur veuille rentrer un champ les choix de ma liste, et n'ayant donc pas a copier la cellule precedente pour avoir la liste deroulante.
 
Voila merci :)

Reply

Marsh Posté le 19-07-2006 à 09:29:39    

Bonjour,
Bien sur : Il te faut une macro pour définir ta liste de validation (je résume, tu paufineras avec l'enregistreur)

Code :
  1. Sub Macro1()
  2. On Error Resume Next
  3. Selection.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
  4.                             Operator:=xlBetween, Formula1:="=MaListe"
  5. End Sub

Le On Error... c'est pour éviter de planter si d'aventure tu sélectionnes une cellule qui a déjà cette ligne de validation.
 
et sur la feuille à contrôler tu mets un évènement Ws_Change (pareil c'est résumé...)

Code :
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. Macro1
  3. End Sub

Bien sur il faut définir la zone d'action de Ws_Change avec Intersect...
A+
 


---------------
roger
Reply

Marsh Posté le 19-07-2006 à 09:36:54    

oki merci beaucoup !

Reply

Marsh Posté le 06-02-2008 à 10:26:10    

Bonjour à tous,
 
J’ai un petit souci avec une partie de mon programme…
 
J’ai réalisé une macro sous Catia v5. Cette macro est en langage CATScript ou VBScript c’est quasiment la même chose.
 
Pour info je travaille sur un poste IBM exploiter par Unix c’est pour ca que lorsque je veux éditer une macro sous Catia v5 je programme en VBS et non en VBA malheureusement.
 
J’aimerai rajouter en début de macro une liste déroulante ou une liste box comme interface entre le programme et l’utilisateur afin de récupérer les paramètres sélectionnés par l’utilisateur dans la liste déroulante.
 
Est-ce que cela est possible, je suppose que oui mais alors comment ?
Je n’ai pas trouvé de méthode permettant d’afficher une liste déroulante sous Catia v5 exploité sous Unix.
A savoir que les FonctionSystemObject me sont interdit d’utilisation
 
Voila si quelqu’un pouvait m’aider ca serrait top…
Je vous remercie de l’aide que vous m’apporterez
 
à bientot

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed