shenkool
Messages postés15Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention21 septembre 2009
-
3 juil. 2009 à 09:07
shenkool
Messages postés15Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention21 septembre 2009
-
6 juil. 2009 à 21:58
Bonjour,
Je souheterai créer un sub permettant d'effacer le contenu d'une combobox mis en parametre. En effet dans mon programme j'efface plusieurs fois des combobox donc je voudrais pouvoir les mettres en paremetre dans ma fonction
Voici ce que j'ai fais mais cela ne fonctionne pas. Pour info je travaille sous Access, mais je pense que la solution a mon probleme n'est pas seulement limité a access mais a l'ensemble de la programmation en vba
EffacerCombobox (ListeFicheComposant) ' appel de effacerCombobox avec la
' combobox listefichecomposant
' en parametre
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 3 juil. 2009 à 11:02
bonjour
pourquoi faire toute cette usine à gaz alors que pour vider une combobox il suffit de faire
combobox.clear
ce qui ne prend pas plus de ligne que d'appeler ta sub
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
shenkool
Messages postés15Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention21 septembre 2009 3 juil. 2009 à 23:53
Bonjour ou plutot bonsoir pile_poil
Desolé, mais je n'ai pas cette méthode pour les combobox sous access et si j'essaye quand meme la synthaxe que tu me propose il m'indique une erreur.
C'est peut etre une usine a gaz pour le peu d'interet que cela apporte mais je voudrais comprendre pourquoi cela ne fonctionne pas et ce qu'il faut y changer .
Cordialement
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 5 juil. 2009 à 00:56
salut,
après un coup d'oeil aux propriétés, voici peut-être une possibilité :
Sub
clearComboBoxes(
ParamArray
ComboArray()
As Variant
)
Dim c As Access.ComboBox
For Each c In ComboArray
c.ControlSource = Nothing
c.Recordset = Nothing
c.RowSource = vbNullString
c.RowSourceType = vbNullString
Next c
Set c = Nothing
End Sub
NB :
*pas testé et je ne suis pas fan de vba...
*même pas sûr que le FOR EACH fonctionne dans ces conditions, passer alors par le bouclage de lbound à ubound
shenkool
Messages postés15Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention21 septembre 2009 6 juil. 2009 à 09:37
Bonjour PCPT,
Dans l'appel du sub je ne vois pas quoi mettre en parametre. Si j'ai bien compris avec l'appel du sub je met plusieurs index de combobox, mais ce n'est pas tout a fait ce que je veut faire.
je veux faire plus simple que ca (je suis debutant), en parametre je ne veux q'un seul combobox et envoyé son index ou son nom ou autre je ne sais pas.
Comme j'applerai plusieur fois l'effacement d'une differente combobox dans mes procedure,c'est pour cela que je desir mettre en parametre dans mon sub une reference de la combobox en question .
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
shenkool
Messages postés15Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention21 septembre 2009 6 juil. 2009 à 13:57
en faite il me renvoi une erreur n°424, "objet requis". Je l'ai refait dans un nouveau programme pour partir d'une base vide , mais le resultat est le meme.
voici le programme
Private Sub Commande2_Click()
clearComboBoxes (Modifiable0)
End Sub
Sub clearComboBoxes(ByRef c As Access.ComboBox)
c.ControlSource = Nothing
c.Recordset = Nothing
c.RowSource = vbNullString
c.RowSourceType = vbNullString
End Sub
Sinon concernant l'index, je suis pas un pro en programmation comme tu as du le constater mais pour moi quand je dis l'index c'est par exemple un numero qui renvoi a une control suivi son ordre de creation.
Merci encore PCPT pour l'aide que tu m'apporte
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 6 juil. 2009 à 14:14
Modifiable0 est bien le nom d'une combobox? => indispensable
elle se situe bien sur le même formulaire que celui qui contient le Commande2 ?=> sinon il faut la préfixer du nom du formulaire (frm3.modifiable0)
pour l'index, tu parles de la propriété TABINDEX alors?
si oui il correspond à l'ordre de navigation entre les contrôle, par la tabulation
un ordre de focus si tu préfères
ils s'incrémentent par défaut dans l'ordre de création des contrôles c'est vrai, mais son usage ne concerne pas leur identification
dans le pire des cas héberge ton fichier, je tenterai d'y jeter un oeil
(exemple de site d'upload gratuit : www.cijoint.fr)
shenkool
Messages postés15Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention21 septembre 2009 6 juil. 2009 à 21:58
J'ai essayé d'envoyé le fichier sur le site que tu m'as dit mais il prend pas en charge les extensions .mdb
Si tu un mail et si tu as le temps d'y jeter un oeil, je pourrai te l'envoyé.
Merci
Cordialement