Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3 à D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les consfigurations
possibles pour un objet range
A+Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3 à D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les consfigurations
possibles pour un objet range
A+
Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3 à D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les consfigurations
possibles pour un objet range
A+Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
Je ne me suis pas exprimé clairement je te mets une partie de mon code
For row = 1 To 1500
If Sheets("tarif2").Cells(row, 10) = ivval And Sheets("tarif2").Cells(row,
6) = dimension1 And Sheets("tarif2").Cells(row, 7) = dimension2 And
Sheets("tarif2").Cells(row, 8) = dimension3 Then Exit For
Next row
Je me doute que ce genre de test n'est pas terrible m'enfin il fonctionne.
Je voudrais que chaque fois que je sors de la boucle la ligne vienne
s'afficher dans le listbox
ou plus compliqué pour moi qu'elle vienne se mettre dans un tableau et
afficher le tableau dans la listbox .Je suis sur la fonction array mais je
n'avance plus.
Merci de ton interet pour mon pb
"anonymousA" a écrit dans le message de news:
42077c31$0$10459$bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3 à D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les consfigurations
possibles pour un objet range
A+Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
Je ne me suis pas exprimé clairement je te mets une partie de mon code
For row = 1 To 1500
If Sheets("tarif2").Cells(row, 10) = ivval And Sheets("tarif2").Cells(row,
6) = dimension1 And Sheets("tarif2").Cells(row, 7) = dimension2 And
Sheets("tarif2").Cells(row, 8) = dimension3 Then Exit For
Next row
Je me doute que ce genre de test n'est pas terrible m'enfin il fonctionne.
Je voudrais que chaque fois que je sors de la boucle la ligne vienne
s'afficher dans le listbox
ou plus compliqué pour moi qu'elle vienne se mettre dans un tableau et
afficher le tableau dans la listbox .Je suis sur la fonction array mais je
n'avance plus.
Merci de ton interet pour mon pb
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
42077c31$0$10459$8fcfb975@news.wanadoo.fr...
bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3 à D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les consfigurations
possibles pour un objet range
A+
Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
Je ne me suis pas exprimé clairement je te mets une partie de mon code
For row = 1 To 1500
If Sheets("tarif2").Cells(row, 10) = ivval And Sheets("tarif2").Cells(row,
6) = dimension1 And Sheets("tarif2").Cells(row, 7) = dimension2 And
Sheets("tarif2").Cells(row, 8) = dimension3 Then Exit For
Next row
Je me doute que ce genre de test n'est pas terrible m'enfin il fonctionne.
Je voudrais que chaque fois que je sors de la boucle la ligne vienne
s'afficher dans le listbox
ou plus compliqué pour moi qu'elle vienne se mettre dans un tableau et
afficher le tableau dans la listbox .Je suis sur la fonction array mais je
n'avance plus.
Merci de ton interet pour mon pb
"anonymousA" a écrit dans le message de news:
42077c31$0$10459$bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3 à D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les consfigurations
possibles pour un objet range
A+Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
re,
je te donne un exemple de remplissage de listbox issu de l'aide d'Excel
auquel j'ai rajouté quelques commentaires plus explicatifs ( en fait
très peu car elle est bien faite).
Elle a le mérite de marier tes 2 demandes , à savoir rentrer des données
dans un tableau et les renvoyer à une listbox.
Je pense qu'à partir de ça , c'est une bonne base pour toi pour
developper ce que tu veux réellement.
'exemple5 :remplir 2 listbox ou combobox à partir de tableaux et utiliser
'la propriété columcount qui permet de définir le nombre de colonnes
'd'une listbox ou d'un combobox
'On notera que la propriété Listindex commence à 0 dans un combobox ou
une listbox
'Au passage le fait de passer par la propriété Column de Lisbox
'transpose le tableau MyArray
Dim MyArray(0 To 5, 0 To 2)
'la 1ere listbox contiendra 3 colonnes de données
' ListBox1.ColumnCount = 3
'la 2eme listbox contiendra 6 colonnes de données
ListBox2.ColumnCount = 6
'Chargement des valeurs entières dans la 1ere colonne de MyArray
For i = 0 To 5: MyArray(i, 0) = i: Next i
'Chargement des valeurs dans la 2eme et 3eme colonne de MyArray
MyArray(0, 1) = "Zero": MyArray(1, 1) = "One": MyArray(2, 1) = "Two"
MyArray(3, 1) = "Three": MyArray(4, 1) = "Four": MyArray(5, 1) = "Five"
MyArray(0, 2) = "Zero": MyArray(1, 2) = "Un ou Une": MyArray(2, 2) "Deux"
MyArray(3, 2) = "Trois": MyArray(4, 2) = "Quatre": MyArray(5, 2) = "Cinq"
'Chargement des données dans ListBox1 and ListBox2
'Listbox1 est donc une matrice (6,3) et Listbox2 une matrice(3,6)
ListBox1.List() = MyArray: ListBox2.Column() = MyArray
La difficulté pour toi viendra de ce que j'ai pu comprendre du fait que
tu ne disposes pas à priori du nombre d'éléments que tu veux rentrer
dans ton listbox. En conséquence, la définition de la limite haute du
tableau peut être problématique car pour un tableau à plusieurs
dimensions on ne peut redimensionner dynamiquement ( par les mots-clés
Redim et eventuellement preserve) que la dernière dimension du tableau .
Ceci dit, rien ne t'empêche de déclarer un tableau de 1ere dimension
très grande (ca bouffe de la mémoire mais vu les programmes qu'on
développe usuellement, ca mange rarement de pain), puis de rentrer des
éléments dans ton listbox et enfin de supprimer les élements vides du
listbox par un controle sur la valeur de ces éléments ( par
l'instruction , de mémoire, removeitem ).
A+Je ne me suis pas exprimé clairement je te mets une partie de mon code
For row = 1 To 1500
If Sheets("tarif2").Cells(row, 10) = ivval And
Sheets("tarif2").Cells(row,
6) = dimension1 And Sheets("tarif2").Cells(row, 7) = dimension2 And
Sheets("tarif2").Cells(row, 8) = dimension3 Then Exit For
Next row
Je me doute que ce genre de test n'est pas terrible m'enfin il
fonctionne.
Je voudrais que chaque fois que je sors de la boucle la ligne vienne
s'afficher dans le listbox
ou plus compliqué pour moi qu'elle vienne se mettre dans un tableau et
afficher le tableau dans la listbox .Je suis sur la fonction array mais
je
n'avance plus.
Merci de ton interet pour mon pb
"anonymousA" a écrit dans le message de news:
42077c31$0$10459$bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3 à
D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les consfigurations
possibles pour un objet range
A+Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
re,
je te donne un exemple de remplissage de listbox issu de l'aide d'Excel
auquel j'ai rajouté quelques commentaires plus explicatifs ( en fait
très peu car elle est bien faite).
Elle a le mérite de marier tes 2 demandes , à savoir rentrer des données
dans un tableau et les renvoyer à une listbox.
Je pense qu'à partir de ça , c'est une bonne base pour toi pour
developper ce que tu veux réellement.
'exemple5 :remplir 2 listbox ou combobox à partir de tableaux et utiliser
'la propriété columcount qui permet de définir le nombre de colonnes
'd'une listbox ou d'un combobox
'On notera que la propriété Listindex commence à 0 dans un combobox ou
une listbox
'Au passage le fait de passer par la propriété Column de Lisbox
'transpose le tableau MyArray
Dim MyArray(0 To 5, 0 To 2)
'la 1ere listbox contiendra 3 colonnes de données
' ListBox1.ColumnCount = 3
'la 2eme listbox contiendra 6 colonnes de données
ListBox2.ColumnCount = 6
'Chargement des valeurs entières dans la 1ere colonne de MyArray
For i = 0 To 5: MyArray(i, 0) = i: Next i
'Chargement des valeurs dans la 2eme et 3eme colonne de MyArray
MyArray(0, 1) = "Zero": MyArray(1, 1) = "One": MyArray(2, 1) = "Two"
MyArray(3, 1) = "Three": MyArray(4, 1) = "Four": MyArray(5, 1) = "Five"
MyArray(0, 2) = "Zero": MyArray(1, 2) = "Un ou Une": MyArray(2, 2) "Deux"
MyArray(3, 2) = "Trois": MyArray(4, 2) = "Quatre": MyArray(5, 2) = "Cinq"
'Chargement des données dans ListBox1 and ListBox2
'Listbox1 est donc une matrice (6,3) et Listbox2 une matrice(3,6)
ListBox1.List() = MyArray: ListBox2.Column() = MyArray
La difficulté pour toi viendra de ce que j'ai pu comprendre du fait que
tu ne disposes pas à priori du nombre d'éléments que tu veux rentrer
dans ton listbox. En conséquence, la définition de la limite haute du
tableau peut être problématique car pour un tableau à plusieurs
dimensions on ne peut redimensionner dynamiquement ( par les mots-clés
Redim et eventuellement preserve) que la dernière dimension du tableau .
Ceci dit, rien ne t'empêche de déclarer un tableau de 1ere dimension
très grande (ca bouffe de la mémoire mais vu les programmes qu'on
développe usuellement, ca mange rarement de pain), puis de rentrer des
éléments dans ton listbox et enfin de supprimer les élements vides du
listbox par un controle sur la valeur de ces éléments ( par
l'instruction , de mémoire, removeitem ).
A+
Je ne me suis pas exprimé clairement je te mets une partie de mon code
For row = 1 To 1500
If Sheets("tarif2").Cells(row, 10) = ivval And
Sheets("tarif2").Cells(row,
6) = dimension1 And Sheets("tarif2").Cells(row, 7) = dimension2 And
Sheets("tarif2").Cells(row, 8) = dimension3 Then Exit For
Next row
Je me doute que ce genre de test n'est pas terrible m'enfin il
fonctionne.
Je voudrais que chaque fois que je sors de la boucle la ligne vienne
s'afficher dans le listbox
ou plus compliqué pour moi qu'elle vienne se mettre dans un tableau et
afficher le tableau dans la listbox .Je suis sur la fonction array mais
je
n'avance plus.
Merci de ton interet pour mon pb
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
42077c31$0$10459$8fcfb975@news.wanadoo.fr...
bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3 à
D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les consfigurations
possibles pour un objet range
A+
Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
re,
je te donne un exemple de remplissage de listbox issu de l'aide d'Excel
auquel j'ai rajouté quelques commentaires plus explicatifs ( en fait
très peu car elle est bien faite).
Elle a le mérite de marier tes 2 demandes , à savoir rentrer des données
dans un tableau et les renvoyer à une listbox.
Je pense qu'à partir de ça , c'est une bonne base pour toi pour
developper ce que tu veux réellement.
'exemple5 :remplir 2 listbox ou combobox à partir de tableaux et utiliser
'la propriété columcount qui permet de définir le nombre de colonnes
'd'une listbox ou d'un combobox
'On notera que la propriété Listindex commence à 0 dans un combobox ou
une listbox
'Au passage le fait de passer par la propriété Column de Lisbox
'transpose le tableau MyArray
Dim MyArray(0 To 5, 0 To 2)
'la 1ere listbox contiendra 3 colonnes de données
' ListBox1.ColumnCount = 3
'la 2eme listbox contiendra 6 colonnes de données
ListBox2.ColumnCount = 6
'Chargement des valeurs entières dans la 1ere colonne de MyArray
For i = 0 To 5: MyArray(i, 0) = i: Next i
'Chargement des valeurs dans la 2eme et 3eme colonne de MyArray
MyArray(0, 1) = "Zero": MyArray(1, 1) = "One": MyArray(2, 1) = "Two"
MyArray(3, 1) = "Three": MyArray(4, 1) = "Four": MyArray(5, 1) = "Five"
MyArray(0, 2) = "Zero": MyArray(1, 2) = "Un ou Une": MyArray(2, 2) "Deux"
MyArray(3, 2) = "Trois": MyArray(4, 2) = "Quatre": MyArray(5, 2) = "Cinq"
'Chargement des données dans ListBox1 and ListBox2
'Listbox1 est donc une matrice (6,3) et Listbox2 une matrice(3,6)
ListBox1.List() = MyArray: ListBox2.Column() = MyArray
La difficulté pour toi viendra de ce que j'ai pu comprendre du fait que
tu ne disposes pas à priori du nombre d'éléments que tu veux rentrer
dans ton listbox. En conséquence, la définition de la limite haute du
tableau peut être problématique car pour un tableau à plusieurs
dimensions on ne peut redimensionner dynamiquement ( par les mots-clés
Redim et eventuellement preserve) que la dernière dimension du tableau .
Ceci dit, rien ne t'empêche de déclarer un tableau de 1ere dimension
très grande (ca bouffe de la mémoire mais vu les programmes qu'on
développe usuellement, ca mange rarement de pain), puis de rentrer des
éléments dans ton listbox et enfin de supprimer les élements vides du
listbox par un controle sur la valeur de ces éléments ( par
l'instruction , de mémoire, removeitem ).
A+Je ne me suis pas exprimé clairement je te mets une partie de mon code
For row = 1 To 1500
If Sheets("tarif2").Cells(row, 10) = ivval And
Sheets("tarif2").Cells(row,
6) = dimension1 And Sheets("tarif2").Cells(row, 7) = dimension2 And
Sheets("tarif2").Cells(row, 8) = dimension3 Then Exit For
Next row
Je me doute que ce genre de test n'est pas terrible m'enfin il
fonctionne.
Je voudrais que chaque fois que je sors de la boucle la ligne vienne
s'afficher dans le listbox
ou plus compliqué pour moi qu'elle vienne se mettre dans un tableau et
afficher le tableau dans la listbox .Je suis sur la fonction array mais
je
n'avance plus.
Merci de ton interet pour mon pb
"anonymousA" a écrit dans le message de news:
42077c31$0$10459$bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3 à
D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les consfigurations
possibles pour un objet range
A+Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
RE,
Malgré beaucoup de recherche je n'y arrive pas : pourquoi 2 listbox ?
Dim MyArray(0 To 5000, 0 To 1)
liste1.ColumnCount = 5
' ICI je définis la ligne dont quatre colonnes correspondent aux critères
de
recherche et je mets (en tout cas je crois les n° de lignes en mémoire)
For row = 1 To 5000
If Sheets("tarif2").Cells(row, 1) = "" Then Exit For
If Sheets("tarif2").Cells(row, 10) = ivval And Sheets("tarif2").Cells(row,
6) = dimen1 And Sheets("tarif2").Cells(row, 7) = dimen2 And
Sheets("tarif2").Cells(row, 8) = dimen3 Then MyArray(row, 0) = row
Next row
'Chargement des valeurs dans la 2eme et 3eme colonne de MyArray
MyArray(row, 1) = Sheets("tarif2").Cells(row, 1): MyArray(row, 1) > Sheets("tarif2").Cells(row, 2): MyArray(row, 1) > Sheets("tarif2").Cells(row, 3)
MyArray(row, 1) = Sheets("tarif2").Cells(row, 4): MyArray(row, 1) > Sheets("tarif2").Cells(row, 5)
liste1.List() = MyArray:
Je ne trouve pas le moyen d'enregistrer plusieurs lignes qui correspondent
aux critères
Si tu as encore un peu de temps merci d'avance je rame je rame je rame
a+
"anonymousA" a écrit dans le message de news:
42078ed5$0$2194$re,
je te donne un exemple de remplissage de listbox issu de l'aide d'Excel
auquel j'ai rajouté quelques commentaires plus explicatifs ( en fait
très peu car elle est bien faite).
Elle a le mérite de marier tes 2 demandes , à savoir rentrer des données
dans un tableau et les renvoyer à une listbox.
Je pense qu'à partir de ça , c'est une bonne base pour toi pour
developper ce que tu veux réellement.
'exemple5 :remplir 2 listbox ou combobox à partir de tableaux et
utiliser
'la propriété columcount qui permet de définir le nombre de colonnes
'd'une listbox ou d'un combobox
'On notera que la propriété Listindex commence à 0 dans un combobox ou
une listbox
'Au passage le fait de passer par la propriété Column de Lisbox
'transpose le tableau MyArray
Dim MyArray(0 To 5, 0 To 2)
'la 1ere listbox contiendra 3 colonnes de données
' ListBox1.ColumnCount = 3
'la 2eme listbox contiendra 6 colonnes de données
ListBox2.ColumnCount = 6
'Chargement des valeurs entières dans la 1ere colonne de MyArray
For i = 0 To 5: MyArray(i, 0) = i: Next i
'Chargement des valeurs dans la 2eme et 3eme colonne de MyArray
MyArray(0, 1) = "Zero": MyArray(1, 1) = "One": MyArray(2, 1) = "Two"
MyArray(3, 1) = "Three": MyArray(4, 1) = "Four": MyArray(5, 1) = "Five"
MyArray(0, 2) = "Zero": MyArray(1, 2) = "Un ou Une": MyArray(2, 2) > "Deux"
MyArray(3, 2) = "Trois": MyArray(4, 2) = "Quatre": MyArray(5, 2) "Cinq"
'Chargement des données dans ListBox1 and ListBox2
'Listbox1 est donc une matrice (6,3) et Listbox2 une matrice(3,6)
ListBox1.List() = MyArray: ListBox2.Column() = MyArray
La difficulté pour toi viendra de ce que j'ai pu comprendre du fait que
tu ne disposes pas à priori du nombre d'éléments que tu veux rentrer
dans ton listbox. En conséquence, la définition de la limite haute du
tableau peut être problématique car pour un tableau à plusieurs
dimensions on ne peut redimensionner dynamiquement ( par les mots-clés
Redim et eventuellement preserve) que la dernière dimension du tableau .
Ceci dit, rien ne t'empêche de déclarer un tableau de 1ere dimension
très grande (ca bouffe de la mémoire mais vu les programmes qu'on
développe usuellement, ca mange rarement de pain), puis de rentrer des
éléments dans ton listbox et enfin de supprimer les élements vides du
listbox par un controle sur la valeur de ces éléments ( par
l'instruction , de mémoire, removeitem ).
A+Je ne me suis pas exprimé clairement je te mets une partie de mon code
For row = 1 To 1500
If Sheets("tarif2").Cells(row, 10) = ivval And
Sheets("tarif2").Cells(row,6) = dimension1 And Sheets("tarif2").Cells(row, 7) = dimension2 And
Sheets("tarif2").Cells(row, 8) = dimension3 Then Exit For
Next row
Je me doute que ce genre de test n'est pas terrible m'enfin il
fonctionne.
Je voudrais que chaque fois que je sors de la boucle la ligne vienne
s'afficher dans le listbox
ou plus compliqué pour moi qu'elle vienne se mettre dans un tableau et
afficher le tableau dans la listbox .Je suis sur la fonction array
mais
jen'avance plus.
Merci de ton interet pour mon pb
"anonymousA" a écrit dans le message de news:
42077c31$0$10459$bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3
à
D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les
consfigurations
possibles pour un objet range
A+Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne
se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
RE,
Malgré beaucoup de recherche je n'y arrive pas : pourquoi 2 listbox ?
Dim MyArray(0 To 5000, 0 To 1)
liste1.ColumnCount = 5
' ICI je définis la ligne dont quatre colonnes correspondent aux critères
de
recherche et je mets (en tout cas je crois les n° de lignes en mémoire)
For row = 1 To 5000
If Sheets("tarif2").Cells(row, 1) = "" Then Exit For
If Sheets("tarif2").Cells(row, 10) = ivval And Sheets("tarif2").Cells(row,
6) = dimen1 And Sheets("tarif2").Cells(row, 7) = dimen2 And
Sheets("tarif2").Cells(row, 8) = dimen3 Then MyArray(row, 0) = row
Next row
'Chargement des valeurs dans la 2eme et 3eme colonne de MyArray
MyArray(row, 1) = Sheets("tarif2").Cells(row, 1): MyArray(row, 1) > Sheets("tarif2").Cells(row, 2): MyArray(row, 1) > Sheets("tarif2").Cells(row, 3)
MyArray(row, 1) = Sheets("tarif2").Cells(row, 4): MyArray(row, 1) > Sheets("tarif2").Cells(row, 5)
liste1.List() = MyArray:
Je ne trouve pas le moyen d'enregistrer plusieurs lignes qui correspondent
aux critères
Si tu as encore un peu de temps merci d'avance je rame je rame je rame
a+
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
42078ed5$0$2194$8fcfb975@news.wanadoo.fr...
re,
je te donne un exemple de remplissage de listbox issu de l'aide d'Excel
auquel j'ai rajouté quelques commentaires plus explicatifs ( en fait
très peu car elle est bien faite).
Elle a le mérite de marier tes 2 demandes , à savoir rentrer des données
dans un tableau et les renvoyer à une listbox.
Je pense qu'à partir de ça , c'est une bonne base pour toi pour
developper ce que tu veux réellement.
'exemple5 :remplir 2 listbox ou combobox à partir de tableaux et
utiliser
'la propriété columcount qui permet de définir le nombre de colonnes
'd'une listbox ou d'un combobox
'On notera que la propriété Listindex commence à 0 dans un combobox ou
une listbox
'Au passage le fait de passer par la propriété Column de Lisbox
'transpose le tableau MyArray
Dim MyArray(0 To 5, 0 To 2)
'la 1ere listbox contiendra 3 colonnes de données
' ListBox1.ColumnCount = 3
'la 2eme listbox contiendra 6 colonnes de données
ListBox2.ColumnCount = 6
'Chargement des valeurs entières dans la 1ere colonne de MyArray
For i = 0 To 5: MyArray(i, 0) = i: Next i
'Chargement des valeurs dans la 2eme et 3eme colonne de MyArray
MyArray(0, 1) = "Zero": MyArray(1, 1) = "One": MyArray(2, 1) = "Two"
MyArray(3, 1) = "Three": MyArray(4, 1) = "Four": MyArray(5, 1) = "Five"
MyArray(0, 2) = "Zero": MyArray(1, 2) = "Un ou Une": MyArray(2, 2) > "Deux"
MyArray(3, 2) = "Trois": MyArray(4, 2) = "Quatre": MyArray(5, 2) "Cinq"
'Chargement des données dans ListBox1 and ListBox2
'Listbox1 est donc une matrice (6,3) et Listbox2 une matrice(3,6)
ListBox1.List() = MyArray: ListBox2.Column() = MyArray
La difficulté pour toi viendra de ce que j'ai pu comprendre du fait que
tu ne disposes pas à priori du nombre d'éléments que tu veux rentrer
dans ton listbox. En conséquence, la définition de la limite haute du
tableau peut être problématique car pour un tableau à plusieurs
dimensions on ne peut redimensionner dynamiquement ( par les mots-clés
Redim et eventuellement preserve) que la dernière dimension du tableau .
Ceci dit, rien ne t'empêche de déclarer un tableau de 1ere dimension
très grande (ca bouffe de la mémoire mais vu les programmes qu'on
développe usuellement, ca mange rarement de pain), puis de rentrer des
éléments dans ton listbox et enfin de supprimer les élements vides du
listbox par un controle sur la valeur de ces éléments ( par
l'instruction , de mémoire, removeitem ).
A+
Je ne me suis pas exprimé clairement je te mets une partie de mon code
For row = 1 To 1500
If Sheets("tarif2").Cells(row, 10) = ivval And
Sheets("tarif2").Cells(row,
6) = dimension1 And Sheets("tarif2").Cells(row, 7) = dimension2 And
Sheets("tarif2").Cells(row, 8) = dimension3 Then Exit For
Next row
Je me doute que ce genre de test n'est pas terrible m'enfin il
fonctionne.
Je voudrais que chaque fois que je sors de la boucle la ligne vienne
s'afficher dans le listbox
ou plus compliqué pour moi qu'elle vienne se mettre dans un tableau et
afficher le tableau dans la listbox .Je suis sur la fonction array
mais
je
n'avance plus.
Merci de ton interet pour mon pb
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
42077c31$0$10459$8fcfb975@news.wanadoo.fr...
bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3
à
D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les
consfigurations
possibles pour un objet range
A+
Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne
se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci
RE,
Malgré beaucoup de recherche je n'y arrive pas : pourquoi 2 listbox ?
Dim MyArray(0 To 5000, 0 To 1)
liste1.ColumnCount = 5
' ICI je définis la ligne dont quatre colonnes correspondent aux critères
de
recherche et je mets (en tout cas je crois les n° de lignes en mémoire)
For row = 1 To 5000
If Sheets("tarif2").Cells(row, 1) = "" Then Exit For
If Sheets("tarif2").Cells(row, 10) = ivval And Sheets("tarif2").Cells(row,
6) = dimen1 And Sheets("tarif2").Cells(row, 7) = dimen2 And
Sheets("tarif2").Cells(row, 8) = dimen3 Then MyArray(row, 0) = row
Next row
'Chargement des valeurs dans la 2eme et 3eme colonne de MyArray
MyArray(row, 1) = Sheets("tarif2").Cells(row, 1): MyArray(row, 1) > Sheets("tarif2").Cells(row, 2): MyArray(row, 1) > Sheets("tarif2").Cells(row, 3)
MyArray(row, 1) = Sheets("tarif2").Cells(row, 4): MyArray(row, 1) > Sheets("tarif2").Cells(row, 5)
liste1.List() = MyArray:
Je ne trouve pas le moyen d'enregistrer plusieurs lignes qui correspondent
aux critères
Si tu as encore un peu de temps merci d'avance je rame je rame je rame
a+
"anonymousA" a écrit dans le message de news:
42078ed5$0$2194$re,
je te donne un exemple de remplissage de listbox issu de l'aide d'Excel
auquel j'ai rajouté quelques commentaires plus explicatifs ( en fait
très peu car elle est bien faite).
Elle a le mérite de marier tes 2 demandes , à savoir rentrer des données
dans un tableau et les renvoyer à une listbox.
Je pense qu'à partir de ça , c'est une bonne base pour toi pour
developper ce que tu veux réellement.
'exemple5 :remplir 2 listbox ou combobox à partir de tableaux et
utiliser
'la propriété columcount qui permet de définir le nombre de colonnes
'd'une listbox ou d'un combobox
'On notera que la propriété Listindex commence à 0 dans un combobox ou
une listbox
'Au passage le fait de passer par la propriété Column de Lisbox
'transpose le tableau MyArray
Dim MyArray(0 To 5, 0 To 2)
'la 1ere listbox contiendra 3 colonnes de données
' ListBox1.ColumnCount = 3
'la 2eme listbox contiendra 6 colonnes de données
ListBox2.ColumnCount = 6
'Chargement des valeurs entières dans la 1ere colonne de MyArray
For i = 0 To 5: MyArray(i, 0) = i: Next i
'Chargement des valeurs dans la 2eme et 3eme colonne de MyArray
MyArray(0, 1) = "Zero": MyArray(1, 1) = "One": MyArray(2, 1) = "Two"
MyArray(3, 1) = "Three": MyArray(4, 1) = "Four": MyArray(5, 1) = "Five"
MyArray(0, 2) = "Zero": MyArray(1, 2) = "Un ou Une": MyArray(2, 2) > "Deux"
MyArray(3, 2) = "Trois": MyArray(4, 2) = "Quatre": MyArray(5, 2) "Cinq"
'Chargement des données dans ListBox1 and ListBox2
'Listbox1 est donc une matrice (6,3) et Listbox2 une matrice(3,6)
ListBox1.List() = MyArray: ListBox2.Column() = MyArray
La difficulté pour toi viendra de ce que j'ai pu comprendre du fait que
tu ne disposes pas à priori du nombre d'éléments que tu veux rentrer
dans ton listbox. En conséquence, la définition de la limite haute du
tableau peut être problématique car pour un tableau à plusieurs
dimensions on ne peut redimensionner dynamiquement ( par les mots-clés
Redim et eventuellement preserve) que la dernière dimension du tableau .
Ceci dit, rien ne t'empêche de déclarer un tableau de 1ere dimension
très grande (ca bouffe de la mémoire mais vu les programmes qu'on
développe usuellement, ca mange rarement de pain), puis de rentrer des
éléments dans ton listbox et enfin de supprimer les élements vides du
listbox par un controle sur la valeur de ces éléments ( par
l'instruction , de mémoire, removeitem ).
A+Je ne me suis pas exprimé clairement je te mets une partie de mon code
For row = 1 To 1500
If Sheets("tarif2").Cells(row, 10) = ivval And
Sheets("tarif2").Cells(row,6) = dimension1 And Sheets("tarif2").Cells(row, 7) = dimension2 And
Sheets("tarif2").Cells(row, 8) = dimension3 Then Exit For
Next row
Je me doute que ce genre de test n'est pas terrible m'enfin il
fonctionne.
Je voudrais que chaque fois que je sors de la boucle la ligne vienne
s'afficher dans le listbox
ou plus compliqué pour moi qu'elle vienne se mettre dans un tableau et
afficher le tableau dans la listbox .Je suis sur la fonction array
mais
jen'avance plus.
Merci de ton interet pour mon pb
"anonymousA" a écrit dans le message de news:
42077c31$0$10459$bonjour,
le+ simple reste de remplri ton lstbox par la propriété additem
p.e
en admettant que tu parcours la plage discontinue de A1 à B2 et de C3
à
D4
set plage=Union(range("A1:B2"),range("C3:D4"))
for each c in plage
me.listbox1.additem c.value
next
tu peux bricoler la nautre de ta plage selon toutes les
consfigurations
possibles pour un objet range
A+Bonjour,
Je voudrais faire afficher dans une listbox plusieurs lignes qui ne
se
suivent pas.
Je définis la valeur de ces lignes dans une boucle for to next
liste.RowSource = Range(Cells(row, 1), Cells(row, 3))
Je ne sais pas trop comment m'en sortir.
Pouvez-vous m'aider ?
Merci