S
steph
Guest
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
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