polompolom69
Messages postés28Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention30 janvier 2012
-
23 avril 2005 à 19:58
polompolom69
Messages postés28Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention30 janvier 2012
-
26 avril 2005 à 06:09
Bonjour à toutes et à tous,
Je cherche à remplir une listebox multicolonnes en fonction de donnée recherchées sur une feuilles de calcul Excel.
Je travail avec un tableau que ma listebox récupère pour s'incrémenter.
J'ai un souci dans les conditions de remplissage du tableau qui me prends des lignes vides. Voici mon code :
Dim MyArray(1 To 100, 3)
For ert = 2 To 100 If Cells(ie, ert) "x" Then MyArray(ert, 0) Cells(1, ert): MyArray(ert, 1) = Cells(2, ert): MyArray(ert, 2) = ""
If Cells(ie, ert) "En cours" Then MyArray(ert, 0) Cells(1, ert): MyArray(ert, 1) = Cells(2, ert): MyArray(ert, 2) = "En cours de validation"
Next
Le code va bien chercher les lignes qui répondent aux conditions "x" et "En cours" mais dans le cas contraire il rempli une ligne vide et me construit coute que coute un tableau avec 100 entrées.
J'aimerai que le tableau se dimensionne automatiquement au seules conditions fixées.
J'espère avoir été suffisament clair dans mon énoncé et remercie celle ou celui qui aurait un tuyau.
dpouliot
Messages postés50Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention 4 novembre 2008 25 avril 2005 à 21:35
Prend le problème autrement.
Au lieu de faire ligne colonne Dim MyArray(1 To 100, 3)
Fais colonne ligne
Dim Myarry(3,1)
For ert 2 To 100<?xml:namespace prefix o ns = "urn:schemas-microsoft-com:office:office" />
If Cells(ie, ert) "x" Then redim preserve MyArray(3,ert): MyArray(<gras>0, ert) </gras> Cells(1, ert): MyArray(1, ert) = Cells(2, ert): MyArray( 2, ert ) = ""
If Cells(ie, ert) "En cours" Then redim preserve MyArray(3,ert): MyArray(<gras>0, ert) </gras> Cells(1, ert): MyArray(1, ert) = Cells(2, ert): MyArray( 2, ert ) = "En cours de validation"
next
Pour le REDIM, ne pas oublier preserve.
Pour la réutilisation ne pas oublier que le premier chiffre de MyArry est le numéro de la colonne et le deuxième est celui de la ligne.
Tu auras ainsi un tableau qui a le nombre de ligne correspondant au nombre lu.