cs_Pimouss3
Messages postés20Date d'inscriptionlundi 4 juin 2007StatutMembreDernière intervention15 septembre 2007
-
5 juin 2007 à 12:12
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
5 juin 2007 à 17:22
En fait je n'arrive toujours pas à obtenir ce que je souhaite, il faudrait que mes listes déroulantes (contrôles de formulaire) n'affiche rien (remise à zéro). J'ai essayé différents codes sans succès. Comment trouve-t-on le nom attribué à cette liste déroulante ???
merci de vos réponses !
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 5 juin 2007 à 16:41
Re,
Bon faut dire aussi que MicrosSoft ne nous facilte pas la tâche...
Alors en fait il se trouve que les contrôles List Combiné (ajoutable sur une feuille depuis la boite à outils Formulaire) sont ajoutés dans la collection "cachée" DropDowns.
Donc essaie ce code qui devrait effacer le contenu de TOUT les controle de type DropDown Présent dans la feuille active
Dim Ctrl As DropDown
For Each Ctrl In ActiveSheet.DropDowns
Ctrl.RemoveAllItems
Next
, ----
[code.aspx?ID=41455 By Renfield]
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 5 juin 2007 à 12:21
Salut,
Il est totalement inutile de reposter une question alors que des membres ont déjà pris la peine de repondre ICI Si ton problème n'est pas résolu, pourquoi alors avoir appuyer sur réponse acceptée (qui marque le problème comme résolu).
Mas signature n'est valable que si ton problème est réglé.
Pour ce qui est de ton problème. Explique mieux ce que tu souhaite faire. car .clear cevrait suffire.
Le nom attribue a cette liste est visible dans la propriété Name une fois le controle inséré dans le UserForm.
@+: Ju£i?n Pensez: Réponse acceptée
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 5 juin 2007 à 12:24
Tu es ici dans la section VB6....
Je suppose donc que ce que tu appelles une liste déroulante (en ajoutant "contrôle de formulaire") est une listbox .
Et dans ce cas :
Ta_Listbox.clear effacera toute le contenu de la listbox nommée Ta_Listbox
Ce n'est pas çà ? ... tu n'es finalement pas sous VB6 ? Zut, alors... dommage...
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 5 juin 2007 à 14:04
NB2: Lorsque tu tape Zonecombinée15 puis que tu tape . normalement il y a une liste déroulante te proposant les différentes propriétés et méthodes de l'objet en question.
cs_Pimouss3
Messages postés20Date d'inscriptionlundi 4 juin 2007StatutMembreDernière intervention15 septembre 2007 5 juin 2007 à 14:13
Le zonecombinée15 est le nom qu'excel attribue immédiatement après avoir créer la liste déroulante, je n'ai pas les différentes propriétés après avoir taper le point .
cs_Pimouss3
Messages postés20Date d'inscriptionlundi 4 juin 2007StatutMembreDernière intervention15 septembre 2007 5 juin 2007 à 14:41
Alors :
A partir de plusieurs lignes j'ai créé une liste déroulante avec le contrôle de formulaire, tout ce qui a de plus simple. Quand je sélectionne et fais "Visualiser le code" voici c que VBA m'affiche :
Sub Zonecombinée15_QuandChangement()
End Sub
J'ai ensuite créer deux boutons : un pour imprimer la page (c bon) et l'autre pour réinitialiser mes listes déroulantes. Cependant ça ne marche pas avec le nom et le clear :
Private Sub CommandButton1_Click()
ActiveSheet.PrintOut
End Sub
Private Sub CommandButton2_Click()
Zonecombinée15.Clear
End Sub
Ce que j'aimerais savoir aussi c'est s'il n'existe pas directement une commande pour remettre à zéro toutes les listes déroulantes de la feuille (comme pour les checkbox si simple).
???
Merci encore !
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 5 juin 2007 à 14:47
Re,
Ok on avance.
L'objet insérer est donc une listBox directement dans une feuille.
Essaie peu être ceci.
Private Sub CommandButton1_Click()
'l'objet Worksheet possède des collections "cachées"
'l'une d'entre elle s'appelle ListBoxes.
Dim MList As ListBox
For Each MList In ActiveSheet.ListBoxes
MList.Delete
Next
End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 5 juin 2007 à 15:26
Pimouss3 :
Tu as vu ma toute première réaction à propos de la section dans laquelle tu as ouvert la présente discussion...
Quand tu l'as ouverte, il t'a été proposé un choix de sections et thèmes.
Voici le choix que tu aurais dû faire (ce qui aurait fait gagner du temps à chacun, à commencer par toi) :
Thèmes / Visual Basic 6 / Langages dérivés / VBA Nous te serons rtous reconnaissants de bien vouloir en prendre bonne note (pour ta prochaine pouverture d'une question relative à VBA).
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 5 juin 2007 à 16:31
Salut,
Il faut que tu arrête de dire:
"Cela ne marche pas" car pour ca n'a aucune utilité.
As tu une erreur,qu est ce qui se passe ou mets tu le code.
Il y a fallut que l'on devine que le controle était insérer directement dans une feuille et non dans Un USERFORM.