Combobox ?

Fermé
Theo - 21 mars 2007 à 12:43
 Theo - 22 mars 2007 à 10:10
Bonjour,

Je dois developper un logiciel de simulation de procedes sous excel en VBA...

Et des le debut j ai des doutes... oui je ne connai rien en VBA alors j'essaye d'apprendre en surfant et avec l'aide VB (et de CCM !)

Voila ce que je voudrais creer pour le debut du programme, j ai une liste de composants et leur proprietes physiques dans un classeur excel, l'idee c'est l'utilisateur lance la macro, une combobox s'affiche (euh pour la liste des 460 composants j aimerai bien ne pas avoir a la taper...) il selectionne les differents composants qui l'interesse et VBA me fait un joli tableau recapitulatif des composants selectionnes et de leurs proprietes.

Alors d'abord est ce que la combobox est un bon choix ? ... Pas si sur apparament il faut taper un par un les noms present dans la liste et puis il me faut une selection multiple... oui j en demande beaucoup la alors je m'arrete la pour aujourd hui mais je reviendrai... avec toujours plus de question !!

Merci d'avance pour votre aide.

1 réponse

En fait j'ai poursuivi mes recherches depuis tout a l heure et une listbox serait surement plus adapter j ai trouver quelques bonnes info popur la creer mais bon je galere quand meme...

Notamment dans un userform, comment poser un intiotule sur une grille et comment poser une zone de liste modifiable sur la grille ?

Je pense qu une fois que j uarai la rep a ces deux question alors je pourrai me prendre la tete sur la references de mes cellules sources et de destination... :)
merci d avance pour votre aide !
0
Eric34370 Messages postés 24 Date d'inscription dimanche 25 février 2007 Statut Membre Dernière intervention 30 mars 2007
21 mars 2007 à 18:26
Bonjour Théo,

l'avantage d'une combobox te permet de rentrer directement une valeur si tu la connais mais egalement de chosir parmis une liste

1. Faire ALT F11 pour ouvrir VBA
2.Faire Insertion Userform
3.Faitre Insertion Boite à outil


Ensuite tu selectionne d'un simple clique le controle à installé et tu le positionne sur ton userform
pour que ta combobox affiche la liste de tes éléments a ta comboBox ou at listBox
tu clique avec le bouton Droit sur ce dernier et tu selectionne Propriété
Ensuite sur ta gauche la liste des propriétés de ta combobbox apparait
Tu Recherche RowSource et en face tu tape A1:A200(en fonction des cellules où ce trouve tes données.)
0
Theo > Eric34370 Messages postés 24 Date d'inscription dimanche 25 février 2007 Statut Membre Dernière intervention 30 mars 2007
22 mars 2007 à 07:32
Bjr,

Ok merci j'essaye ca et je passe confirmer si ca marche, merci pour les conseils (je croise les doigts il faut que ca marche !!)

bye
0
Theo > Eric34370 Messages postés 24 Date d'inscription dimanche 25 février 2007 Statut Membre Dernière intervention 30 mars 2007
22 mars 2007 à 10:10
Re,

Tout d'abord merci ma liste est parfaite, maintenant se pose le probleme de renvoyer les donnees dans un tableau excel.

Pour cela j' ai ajouter un bouton auquel g assigner ce code :

--------------------------------------------------------------------------------------------------------------------------------------------------------

Private Sub CommandButton1_Click()
Dim element_select As Boolean
Dim nb_elements, i As Integer

element_select = False
nb_elements = Userform1.ListBox1.ListCount

'Check the number of component selected
'The first one is assigned as 0, the counter start at 0
For i = 0 To nb_elements - 1
If Userform1.ListBox1.Selected(i) = True Then
element_select = True
Exit For
End If
Next

' If nothing has been selected it is unuseful to run the next steps !
If element_select = False Then
MsgBox "No component selected"
Exit Sub
End If

'Show the number of component selected
Label1.Caption = nb_elements & " have been selected"

'Select the cell which recieved the first value
Range("Inlet!B5").Select

'Writting of the values selected in the Excel sheet
For i = 0 To nb_elements - 1

'Give to the active cell the value selected in the first column of the ListBox
'Column's index starts at 0 then the value 0 is used
ActiveCell.Value = ListBox1.List(i, 0)

'Give to the cell at the right of the active cellthe value selected in the column 2
'Column's index starts at 0 then the value 1 is used
ActiveCell.Offset(0, 1).Value = ListBox1.List(i, 1)

'Moving down
ActiveCell.Offset(1, 0).Select
End If

Next i


End Sub
--------------------------------------------------------------------------------------------------------------------------------------------------------

Seulement il y a une erreur avec le dernier End If, je comprend bien qu il faut que je mette un if quelques part plus haut mais ou ??

Merci encore je sens que ca va marcher dans peu de tps (et grace a vous...)

See ya
0