bluejames
Messages postés8Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention29 juillet 2009
-
12 avril 2005 à 16:54
bluejames
Messages postés8Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention29 juillet 2009
-
13 avril 2005 à 15:52
Bonjour
Je développe en VBA, en utilisant ADO à partir d'Excel pour chercher des data dans une base Access.
Mon pb est le suivant :
Dans un controle MultiPage posé sur un UserForm, en fonction d'un critère choisi par l'utilsateur, je remplis une vingtaine de combobox à partir de tables Access correspondantes.
Jusque là tout va bien. Le pb est qu'en fonction d'un autre choix de l'utilisateur, les combobox ne sont pas toutes remplies. Or il ne "vide" pas celle qui l'étaient sur la recherche précédente.
Donc je veux vider avant tte nouvelle recherche chaque combobox, ce qui se fait très facilement en tapant nomcombobox.clear
Seulement, j'aimerais éviter de taper le nom de chaque combobox pour la vider mais plutot proposer une boucle type For Each element In Collection...
Et là cela ne marche pas, je n'arrive pas à accéder à la collection des combobox de mon controle multipage. Je ne sais pas quel code taper pour le faire.
Si quelqu'un a une idée, je suis preneur !!!
Merci beaucoup.
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 12 avril 2005 à 18:57
Place la propeiété TAG de tes Combobox à 1.
Ensuite place ce code.Tu devras peut-être changer le nom du UserForm.
Public Sub LockTheControl(blocked As Boolean)
Dim indx As Integer
On Error Resume Next
For indx = 0 To UserForm1.Controls.Count - 1
If (UserForm1.Controls(indx).Tag = "1") Then
If (TypeOf UserForm1.Controls(indx) Is ComboBox) Then
If (blocked) Then
UserForm1.Controls(indx).Clear
End If
End If
End If
Next indx
End Sub
Private Sub CommandButton1_Click()
LockTheControl True
End Sub
.
jpleroisse
bluejames
Messages postés8Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention29 juillet 2009 13 avril 2005 à 10:15
Merci beaucoup !
Ca marche.
Il y a juste un truc que je pige pas : quelle utilité d'envoyer le booleen "True" et de le tester dans la mesure où si j'appelle la procédure, c'est que je veux que le clear soit réalisé !!
En passant j'ai élargi la procédure à d'autres controles présent dans mon userform (textbox, checkbox...)
Merci encore !
Blue James
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 13 avril 2005 à 15:45
J'ai extrais cette partie de code d 'un code que j'ai fais dans une appli. ou je place la propriété booléenne à True pour colorer l'intérieur de mes Textbox en jaune au moment de l'écriture et je la place à False pour les remettres en blanc au moment de la validation.
Voila pourquoi j' ai une propriété booléenne.
jpleroisse
Vous n’avez pas trouvé la réponse que vous recherchez ?