cs_Mins
Messages postés9Date d'inscriptiondimanche 30 mars 2003StatutMembreDernière intervention28 mai 2009
-
21 janv. 2004 à 15:20
cs_Mins
Messages postés9Date d'inscriptiondimanche 30 mars 2003StatutMembreDernière intervention28 mai 2009
-
23 janv. 2004 à 14:17
Salut à tous
J'ai un tit blème en vb(A!!!) sous excel. J'espère que qqn saura m'aider...
J'essaye en fait de mettre le contenu d'une de mes feuilles excel dans une listbox.
J'arrive sans problème à parcourir la feuille et à intégrer une ligne dans la listbox... même toute la feuille comme ca devrait.
Seulement, après, j'ai découvert (oooooohhhh Magieeee... :-) )qu'il était possible d'utiliser des colonnes dans les listbox. Je me suis donc dis, essayons... :-)
J'arrive au code suivant qui bien entendu ne marche pas...
Private Sub init_LB(Optional ByVal fini As Integer 1, Optional ByVal del As Integer 0)
Dim res As Variant
Dim j As Integer
Dim i As Integer
Dim a(6)
LEvents.Clear
Sheets("evenement").Select
i = 2
j = 0
While j = 0
If Range("B" + CStr(i)).Value <> "" Then If fini 1 And del 0 Then
If Range("G" + CStr(i)).Value <> "del" Then
a(0) = Array(CStr(Range("A" + CStr(i)).Value), Range("B" + CStr(i)).Value, "[" + Range("F" + CStr(i)).Value + "]")
LEvents.List() = a
End If ElseIf fini 0 And del 1 Then
If Range("F" + CStr(i)).Value <> "fini" Then
a(0) = Array(CStr(Range("A" + CStr(i)).Value), Range("B" + CStr(i)).Value, "[" + Range("G" + CStr(i)).Value + "]")
LEvents.AddItem (LEvents.Column(a))
End If ElseIf fini 1 And del 1 Then
a(0) = Array(CStr(Range("A" + CStr(i)).Value), Range("B" + CStr(i)).Value, "[" + Range("F" + CStr(i)).Value + " - " + Range("G" + CStr(i)).Value + "]")
LEvents.AddItem (LEvents.Column(a))
Else
If Range("G" + CStr(i)).Value <> "del" And Range("F" + CStr(i)).Value <> "fini" Then
a(0) = Array(CStr(Range("A" + CStr(i)).Value), Range("B" + CStr(i)).Value, "[]")
LEvents.AddItem (LEvents.Column(a))
End If
End If
Else
j = 1
End If
i = i + 1
Wend
End Sub
Si vous aviez une idée (pas besoin de remodifier tout le code... un seul des if suffira... :-) )
Donc en fait et pour être clair.
Je parcoure mon tableau excel jusqu'à ce que je trouve une ligne vide.
Pour chaque ligne de la feuille excel, je rajoute une ligne dans la listbox avec dans la Première colonne la colone excel A, dans la seconde, la colonne B et dans la troisemme un mélange de la F et de la G (bien entendu de la ligne excel ou je me trouve :-) )
Si qqn sait m'aider, et assez rapidement si possible, ce serait grandement apréciable et fortement apprécié...
Surfurax
Messages postés61Date d'inscriptionmardi 26 août 2003StatutMembreDernière intervention25 mai 2005 21 janv. 2004 à 17:09
Salut,
Les colonnes dans une listbox ne sont pas gérées comme les lignes, en fait le remplissage (et la lecture) se font de gauche à droite et de haut en bas, résultat, tu ne sais pas où tu inscris tes données (dans quelle colonne).
Perso j'ai arrêté d'utiliser ces contrôles, j'utilise plutôt les mshflexgrid, c'est plus sympa et moins chiant à utiliser.
cs_Mins
Messages postés9Date d'inscriptiondimanche 30 mars 2003StatutMembreDernière intervention28 mai 2009 23 janv. 2004 à 14:17
Le problème, c'est que je ne sais même pas ou trouver le composant dont tu parles... Je débute à peine en VBA et connais les listbox de Delphi, c'est pour ca que je les utilise.
Disons que j'arrive avec le code au dessus à insérer une ligne dans ma liste, mais je n'arrive pas à en faire plusieurs... :'( %-6