Renvoie d'une plage de cellule dans une listbox [Résolu]

ecthug 42 Messages postés lundi 20 décembre 2004Date d'inscription 12 novembre 2008 Dernière intervention - 7 janv. 2005 à 22:43 - Dernière réponse : ecthug 42 Messages postés lundi 20 décembre 2004Date d'inscription 12 novembre 2008 Dernière intervention
- 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
Afficher la suite 

8 réponses

cs_PROGRAMMIX 1134 Messages postés mercredi 2 octobre 2002Date d'inscription 24 juillet 2011 Dernière intervention - 8 janv. 2005 à 19:09
0
Utile
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
ecthug 42 Messages postés lundi 20 décembre 2004Date d'inscription 12 novembre 2008 Dernière intervention - 8 janv. 2005 à 20:13
0
Utile
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
cs_PROGRAMMIX 1134 Messages postés mercredi 2 octobre 2002Date d'inscription 24 juillet 2011 Dernière intervention - 8 janv. 2005 à 20:22
0
Utile
Dis-moi, ton code, tu veux le faire tourner dans VBA d'Excel ou VB6 ?

Programmix
ecthug 42 Messages postés lundi 20 décembre 2004Date d'inscription 12 novembre 2008 Dernière intervention - 9 janv. 2005 à 01:22
0
Utile
C'est du VBA avec excel 2000
Manu
ecthug 42 Messages postés lundi 20 décembre 2004Date d'inscription 12 novembre 2008 Dernière intervention - 9 janv. 2005 à 01:27
0
Utile
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
cs_PROGRAMMIX 1134 Messages postés mercredi 2 octobre 2002Date d'inscription 24 juillet 2011 Dernière intervention - 9 janv. 2005 à 10:17
0
Utile
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
ecthug 42 Messages postés lundi 20 décembre 2004Date d'inscription 12 novembre 2008 Dernière intervention - 9 janv. 2005 à 13:09
0
Utile
ok merci pour le tuyau,je vais décortiquer
je te tiens au courant
manu
ecthug 42 Messages postés lundi 20 décembre 2004Date d'inscription 12 novembre 2008 Dernière intervention - 9 janv. 2005 à 21:39
-2
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.