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

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

8 réponses

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

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