Renvoie d'une plage de cellule dans une listbox

Résolu
ecthug Messages postés 42 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 12 novembre 2008 - 7 janv. 2005 à 22:43
ecthug Messages postés 42 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 12 novembre 2008 - 9 janv. 2005 à 21:39
Bonjour,ce soir mon prob est que je n'arrive pas à renvoyer dans ma Listbox2
la plage de cellule (Cellule à droite et celle du dessous:EXEMPLE: B10et B11)
situé dans une colonne à droite ayant le meme index (Index de la listbox1 (A11))

Ligne=LisBox1.ListIndex
Ligne2=Ligne +1
Colone=1
ListBox2.RowSource=Range(Cells(Ligne,Colone),Cells(Ligne2,Colone))

Ca bug toujours à la derniere ligne et je ne trouve pas d'exemple dans les
codes source.
Merci de m'aider pour la syntaxe ou autre

8 réponses

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
8 janv. 2005 à 19:09
JE crois que Range attends par exemple "A2:B5" comme valeur.
Il faudrait donc revoir ta formulation.
Essaie Range(Cells(Ligne,Colone).Adress &":" &Cells(Ligne2,Colone).Adress)
PS: je sais plus si c'est adress ou address

Programmix
0
ecthug Messages postés 42 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 12 novembre 2008
8 janv. 2005 à 20:13
Salut Programmix
Range(Cells(Ligne,Colone).Adress &":" &Cells(Ligne2,Colone).Adress)

Ne fonctionne pas pour envoyer dans ma listbox
je ne comprend plus rien
manu
0
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
8 janv. 2005 à 20:22
Dis-moi, ton code, tu veux le faire tourner dans VBA d'Excel ou VB6 ?

Programmix
0
ecthug Messages postés 42 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 12 novembre 2008
9 janv. 2005 à 01:22
C'est du VBA avec excel 2000
Manu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ecthug Messages postés 42 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 12 novembre 2008
9 janv. 2005 à 01:27
en fait si dans ma listbox1 je choisi l'item correspondant à la case A10
Je veux que dans ma listbox2 il m'affiche les valeur dans les cases
B10 et B11
je ne trouve pas la syntaxe
merci de m'aider (tout cela en VBA)
merci
Manu
0
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
9 janv. 2005 à 10:17
Voici la méthode que j'utilise généralement pour me dépanner en VBA : je crée un nouveau dossier, j'enclenche l'enregistreur de macro et je réalise ce qui me pose problème.

Ensuite, il ne me reste plus qu'à lire le code (attention de ne pas oublier d'éteindre l'enregistreur à ce moment-là... ça m'arrive parfois).

Ainsi, dans 90% des cas, la solution apparaît.

J'ai donc appliqué la même méthode pour ton problème, ce qui donne les 2 macros suivantes :

'Pour créer Macro1, j'avais préparé une liste d'item dans une colonne.
'J'ai ensuite procédé à l'enregistrement de la mise en place d'une listbox avec définition de la plage des données et la plage résultat.

Sub Macro1()
'Insertion d'une listboxe
ActiveSheet.ListBoxes.Add(60, 52.5, 178.5, 81).Select
With Selection
.ListFillRange = "$A$5:$A$8"
.LinkedCell = "$A$1"
.MultiSelect = xlNone
.Display3DShading = False
End With
Range("D4").Select
End Sub
'Comme tu peux le constater la plage est définie par .ListFillRange et non par .RowSource.

'Avec la Macro2, j'ai tester le changement d'attribution de la plage des données

Sub Macro2()
ActiveSheet.Shapes("List Box 2").Select
Selection.ListFillRange = "A6:A7"
Range("A1").Select
End Sub

Je te laisse éplucher ce plus en détail...et 'adapter à tes besoins.

Programmix
0
ecthug Messages postés 42 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 12 novembre 2008
9 janv. 2005 à 13:09
ok merci pour le tuyau,je vais décortiquer
je te tiens au courant
manu
0
ecthug Messages postés 42 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 12 novembre 2008
9 janv. 2005 à 21:39
J'ai réussi


en selectionnant par exemple A12 dans ma listbox1

Ligne=LisBox1.ListIndex
Ligne2=Ligne +2
Ligne3=Ligne+3
Colone=1
Un=Cells(Ligne2,Colone)
Deux=Cells(Ligne3,Colone)

'ici je renvoie les valeurs dans la listbox2
ListBox2.AddItem Un
ListBox2.AddItem Deux

Ca marche Merci beaucoup

Manu
-2
Rejoignez-nous