![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonjour à toutes et tous,
je débute dans la prog sous vba et je n'ai pas conscience des limites du langage. j'ai le code suivant : Option Explicit Private i As Integer Private j as Integer Private IntNbLgn As Integer Sub go() RechNbLgn ("a") LsB1.Clear For i = 1 To IntNbLgn LsB1.AddItem (Worksheets("REF").Range("a" & i).Value) Next End Sub ___________________________________ Sub RechNbLgn(ByVal StrNbColone) 'recherche du nb de ligne : IntNbLgn = 1 Do While Worksheets("REF").Range(StrNbColone & IntNbLgn).Value <> "" IntNbLgn = IntNbLgn + 1 Loop IntNbLgn = IntNbLgn - 1 End Sub Mon objectif serait de faire une fonction du style de go() en donnant en argument un entier correspondant au 1 de LsB1(qui est une listBox) par exemple. Le but final étant de remplir les ListBox LsB1, LsB2,...,LsBn avec une seule fonction avec un code du genre : Sub FonctionSuper(ByVal j) RechNbLgn (Ref de la colone) '~~Pr Ref de la colone je sais comment faire LsB & j &.Clear '~~ici concaténation de Lsb et j pour obtenir le nom de la ListBox For i = 1 To IntNbLgn LsB& j &.AddItem (Worksheets("REF").Range("a" & i).Value) Next End Sub Sub Remplissage() 'IntNbLsB est le nombre de ListBox for j=1 to IntNbLsB FonctionSuper(j) next End Sub Voilà, est-ce que ce que je veux faire et tout simplement possible? (surtout à cause de la concaténation entre LsB et j) Si vous avez le temps de me répondre merci. Steph |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir Steph et le forum,
D'aprés ce que j'ai compris, tu n'as pas besoin de créer la Fonction RechNblignes en VBA dans ta sub go comme suit Sub go() ''''RechNbLgn ("a") LsB1.Clear For i = 1 To sheets("REF").Range("A65536").end(xlup).row 'On recupère ici le N° de ligne de la dernère ligne utilisée LsB1.AddItem (Worksheets("REF").Range("a" & i).Value) Next End Sub Tu as ce fil sur Liste déroulante A+++ |
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
Bonjour ZON (enfin bonne nuit car vu l'heure où tu as répondu, maintenant tu dois dormir),
Merci pour ta réponse, je vais creuser le sujet. Mais en abusant, ma plus grande interrogation (faut qd même reconnaître que je n'ai pas été des plus clair ds mon message) est : est-ce qu'il est possible d'avoir quelque chose du style for i=1 to 34 Lsb & i &.clear 'C'est là que c'est vraiment stylisé ;-) next Ce qui me permetterait de répéter la même opération sur les 34 ListBox (nommées Lsb1, Lsb2,...,Lsb34) avec la même procedure. Fini bien ta nuit ;-) Steph |
| ANNONCES | |
| Liens sociaux |
| Outils de la discussion | |
|
|