cs_Gokuan
Messages postés51Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention17 novembre 2008
-
23 oct. 2006 à 12:30
B0mbJacK
Messages postés141Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention25 octobre 2006
-
23 oct. 2006 à 19:45
Hello tout le monde,
Voilà, je me suis il y a maintenant à peine une semaine sur excel et le visualbasic qui est relié avec les macro d'excel.
Je suis sur un projet ou j'ai créer dans excel une tables que j'incrémente chaque jour avec de nouvelle donnée, ça marche nickel et tout, mais maintenant j'aimerai faire une list box qui recherche par critère, des informations précise.
Mon tableau de valeur excel, fait de e2 à y2 en colonne et indéfini au niveau des lignes.
Mon problème, c'est que dans ma list box, j'aimerai sélectionner que certaine colonne et pas toute... j'ai essayé mais en vain... :'(
Ils me prends sois toute les colonnes ou qu'une seul... j'ai essayé comme ça mais je connais pas toute les propiété de la listbox je pense.
dim lg 'variable ligne
For i=2 to 10000
lg=i
ListBox1.List = (lg, 0) 'sélectionne la colonne 0 de la list box d'après ce que je crois
ListBox1.AddItem = Cells(lg, 6).Value 'ajoute dans la list box la valeur...
Else
Exit For
End If
Mais voilà ça ne marche pas.... :'(
En gros et en disant ça simplement, j'aimerai tout betement pouvoir mettre les colonnes que je veux de mon tableau excel dans une list box... les conditions et tout ça je ferai après coup.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 23 oct. 2006 à 12:46
Salut,
pas le temps de gérer les éventuelles erreurs donc suit bien les instructions :
Ouvre un nouveau classeur, appuie sur Alt + F11 (ça ouvre l'éditeur vb), dans le menu Insertion, tu as Module, clique dessus, et une page blanches apparait.
Colle ce code et remplace ce que je t'ai mis en commentaire (en vert dans le code) :
T'as plus qu'à appuyer sur F5 pour exécuter le code !
Sub ImportDonneesFichiersTexte()
Dim strFile As String
Dim strAllText() As String
Dim strDonnees() As String
Dim ff As Integer
Dim i As Integer
Dim iCounter As Integer
Dim iNbLine As Integer
Dim iLigne As Integer
Dim iColonne As Integer
strFile = "C:\Documents and settings\<nom utilisateur>\Bureau\ValeursExcel.txt"
' ici place le bon chemin et nom du fichier texte
ff = FreeFile
Open strFile For Input As ff
Contenu = Input(LOF(ff), ff)
Close ff
cs_Gokuan
Messages postés51Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention17 novembre 2008 23 oct. 2006 à 12:54
Lu, merci du coup de main, mais le problème c'est que toi c'est une fichier texte que t'importe, alors que moi ma table est faite dans excel et depuis excel j'ai créer un bouton avec une macro qui lance un userform créer sous l'éditeur VB et dans ce userform, j'ai une listbox justement, et j'aimerai importer que certaine de mes colonnes de ma tables...
C'est tout, mais je sais vraiment pas comment m'y prendre... Mais merci quand même
B0mbJacK
Messages postés141Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention25 octobre 20061 23 oct. 2006 à 12:54
Lu
voici un exemple de procédure
Sub AjouteElement(Nom as String)
List1.AddItem Nom
end sub
utilisation :
tu tape dans ta textbox, les nom des colonnes que tu veux sour le format
NomA/NomB/NomC ...etc
Private Sub Command1_Click
dim ListElement() as String
ListElement = Split(ListElement,"/")
For Depart = 1 to 2000
For i = 0 to Ubound(ListElement)
If Cells(Depart) = ListElement then AjouteElement(Text1.Text)
Next i
Next Depart
End sub
dans cette exemple, le Cells(i) pointe sur les noms de tes colonnes
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Gokuan
Messages postés51Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention17 novembre 2008 23 oct. 2006 à 12:58
lol, merci aussi, mais ça m'aide pas beaucoup, je vois pas ou est la listbox dans votre code, je connais très bien le pascal, mais le vb, je nage un peu encore pour le moment
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 23 oct. 2006 à 13:02
Salut,
me concernant, je suis désolé, je suis allée trop vite et je me suis trompé de topic..
Le mot importation m'a induit en erreur.
Je reposte sur le bon ! BombJack me comprendra, il a déjà répondu entre temps, t'auras une alerte mail ;)
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
B0mbJacK
Messages postés141Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention25 octobre 20061 23 oct. 2006 à 13:03
voici un exemple de procédure
'ici on ajoute un nom dans la listBox
Sub AjouteElement(Nom as String)
List1.AddItem Nom ' <- voici la listbox
end sub
utilisation :
tu tape dans ta textbox, les nom des colonnes que tu veux sour le format
NomA/NomB/NomC ...etc
Private Sub Command1_Click
dim ListElement() as String
ListElement = Split(ListElement,"/")
For Depart = 1 to 2000
For i = 0 to Ubound(ListElement)
' si le nom de la colonne excel correspond à ton choix
If Cells(Depart) = ListElement(i) then AjouteElement(Cells(Depart),5)
' alors on l'ajoute à notre procédure "AjouteElement"
B0mbJacK
Messages postés141Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention25 octobre 20061 23 oct. 2006 à 13:07
encore une erreur <---- la honte :/
Sub AjouteElement(Nom as String)
List1.AddItem Nom ' <- voici la listbox
end sub
utilisation :
tu tape dans ta textbox, les nom des colonnes que tu veux sour le format
NomA/NomB/NomC ...etc
Private Sub Command1_Click
dim ListElement() as String
ListElement = Split(ListElement,"/")
For Depart = 1 to 2000
For i = 0 to Ubound(ListElement)
' si le nom de la colonne excel correspond à ton choix
If Cells(Depart) = ListElement(i) then AjouteElement(Cells(Depart,5))
' alors on l'ajoute à notre procédure "AjouteElement"
Next i
Next Depart
4h de sommeil aujourd'hui .....j'vais retourné dormir j'crois ...
cs_Gokuan
Messages postés51Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention17 novembre 2008 23 oct. 2006 à 13:10
lol, pas de souci, j'en ai pas beaucoup non plus , mais si t'arrivais juste à me dire comment évité ce textbox avec le nom des colonnes que j'aimerai, je pourrai pas mettre le nom des colonnes dans le code directement comme ça plus besoins de les écrire dans un textbox...
B0mbJacK
Messages postés141Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention25 octobre 20061 23 oct. 2006 à 13:13
oui tu peux,
Dim ListElement() as String
Private Sub Form_Load()
ListElement(0) = "ToTo"
ListElement(1) = "TiTi"
End Sub
Sub AjouteElement(Nom as String)
List1.AddItem Nom ' <- voici la listbox
end sub
Private Sub Command1_Click
dim ListElement() as String
ListElement = Split(ListElement,"/")
For Depart = 1 to 2000
For i = 0 to Ubound(ListElement)
If Cells(Depart) = ListElement(i) then AjouteElement(Cells(Depart,5))
Next i
Next Depart
cs_Gokuan
Messages postés51Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention17 novembre 2008 23 oct. 2006 à 19:37
Re hello, alors j'ai essayé ton code, mais ça ne marche pas... :o( J'ai essayé de mon côté de trouvé une astuce, mais j'arrive pas, ça me mets tout dans la 1er colonne de la listbox... j'arrive pas mettre le reste sur les autres colonnes...