Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 30/06/2003, 11h50   #1 (permalink)
steph
Guest
 
Messages: n/a
Par défaut creation de fonction, est-ce possible

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
Vieux 01/07/2003, 05h39   #2 (permalink)
ZON
Guest
 
Messages: n/a
Par défaut Re: creation de fonction, est-ce possible

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+++
 
Vieux 01/07/2003, 15h20   #3 (permalink)
steph
Guest
 
Messages: n/a
Par défaut Re: creation de fonction, est-ce possible

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

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 19h52.


(C) 2006 Excel Downloads