Excel Downloads
Forum

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


 
 
LinkBack Outils de la discussion
Vieux 14/08/2004, 15h15   #1 (permalink)
greg
Guest
 
Messages: n/a
Par défaut comment afficher un usf aleatoirement

bonjour tous le monde,

je souhaite une aide pour faire afficher un userform aleatoirement parmi un dizaine dans un usf.
 
ANNONCES
Vieux 15/08/2004, 03h20   #2 (permalink)
Minick
Guest
 
Messages: n/a
Par défaut Re: comment afficher un usf aleatoirement

Salut,

Je te propose ceci:

Sub Alea()
Dim Usf As Byte

Randomize
Usf = Int((10 * Rnd) + 1)

Select Case Usf
Case 1
UserForm1.Show
Case 2
UserForm2.Show
Case 3
UserForm3.Show
Case 4
UserForm4.Show
Case 5
UserForm5.Show
Case 6
UserForm6.Show
Case 7
UserForm7.Show
Case 8
UserForm8.Show
Case 9
UserForm9.Show
Case 10
UserForm10.Show
End Select
End Sub


Mais il y a peut etre moyen de ne pas utiliser le Select Case
si on arrivait à passer le N° de USF en parametre on resumerait le
code à 1 ligne quelque soit le nombre de USF possible.

Je cherche et je reviens si j'ai la solution.
ou si quelqu'un a la solution cela m'interesse aussi )

@+ Minick
 
Vieux 15/08/2004, 08h33   #3 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: comment afficher un usf aleatoirement

bonjour Greg , bonjour Minick

tu peus tester cette procédure pour boucler sur les USF :


Sub BouclerSurUSF()
'nécéssite activer la reference Microsoft Visual Basic for applications extensibilty 5.3
Dim VbComp As VBComponent
Dim LaForm As Object, ObjComp As Object
Dim i As Byte, USF As Byte

Randomize
USF = Int((10 * Rnd) + 1)

Set ObjComp = ThisWorkbook.VBProject.VBComponents
For Each VbComp In ObjComp ' boucle USF
If VbComp.Type = 3 Then
i = i + 1

If i = USF Then
Set LaForm = ThisWorkbook.VBProject.VBComponents.Item(i)
VBA.UserForms.Add(VbComp.Name).Show
End If

End If
Next
End Sub


bonne journee
MichelXld
 
Vieux 15/08/2004, 08h37   #4 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: comment afficher un usf aleatoirement


ouupppsss...bonjour la faute d'orthographe !

tu peux tester la procedure ....

je suis confus ...;o(


bon dimanche
MichelXld
 
Vieux 15/08/2004, 09h55   #5 (permalink)
Minick
Guest
 
Messages: n/a
Par défaut Re: comment afficher un usf aleatoirement

Bonjour Michel,

Ca marche impec chez moi
mais j'ai du cocher l'option Faire confiance au project Visual Basic
du menu Outils/Macro/Sécurité.../Sources fiables


Personnellement j'en étais arrivé à chercher comment declarer une variable
de type VBComponent, il me manquait simplement cette reference,
je crois que j'aurai jamais trouvé (


Merci Michel
et desolé greg de m'etre incrusté dans ton fils


bon dimanche

@+ Minick
 
Vieux 15/08/2004, 12h36   #6 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: comment afficher un usf aleatoirement

rebonjour

décidemment cela ne va pas fort aujourd'hui , je viens de m'apercevoir que je n'avais pas envoyé la bonne version

Sub BouclerSurUSF_V02()
'nécéssite activer la reference Microsoft Visual Basic for applications extensibilty 5.3
Dim VbComp As VBComponent
Dim ObjComp As Object
Dim i As Byte, USF As Byte

Randomize
USF = Int((10 * Rnd) + 1)

Set ObjComp = ThisWorkbook.VBProject.VBComponents
For Each VbComp In ObjComp ' boucle USF
If VbComp.Type = 3 Then
i = i + 1

If i = USF Then VBA.UserForms.Add(VbComp.Name).Show

End If
Next
End Sub


Minick , si cela peut te rassurer ,moi c'est la façon d'afficher l'USF qui m'a pris un temps certain :
"VBA.UserForms.Add(VbComp.Name).Show"
il m'a fallu cherché sur plusieurs sources du Net avant de trouver la solution


bonne journée
MichelXld
 
Vieux 15/08/2004, 12h44   #7 (permalink)
Minick
Guest
 
Messages: n/a
Par défaut Re: comment afficher un usf aleatoirement

re,

C'est vrai qu'il fallait y penser aussi a la facon d'afficher la form.

une petite suggestion:

J'ajouterai Exit For quand le USF rend la main.

Je sais, je chipote mais si il y a un grand nombre de VBComponent ca peut aider a gagner un peu de temps


Encore merci michel, je me coucherai moins bete ce soir ;o)

@+ Minick
 
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 11h01.


(C) 2006 Excel Downloads