XL 2013 [résolu] Effacer contenus combobox

yannickty

XLDnaute Nouveau
Bonjour

J utilise un fichier dans lequel il y a beaucoup de combobox , car elles contiennent des listes de noms pour faire un planning.
J aimerai pouvoir avec un bouton réinitialiser toutes ces combobox lorsque l on veut rendre vierge ce planning

Y a til un commande qui permet de remettre toutes les combobox a blanc ?

Merci de votre aide
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re,

ComboBox1.Clear est donné à titre d'exemple

si le combo en question se nomme ComboBox2 , il est clair que ça ne marchera pas

Autre question: le Combobox se trouve t'il sur une feuille où dans un USF ?

Sans voir le fichier, difficile d'apporter une réponse adaptée

à+
Philippe
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Pour info, mon objet ComboBoxLiées possède une méthode Nettoyer qui remet à blanc toutes les ComboBox dont on lui a confié la charge. Mais je ne sais évidemment pas si on est dans un cas de figure où son emploi peut s'appliquer.
 

yannickty

XLDnaute Nouveau
Bonjour @laetitia90
J ai maintenant des erreurs en utilisant ce code
Est il possible qu il apparaisse une erreur car l une de ces combobox est vide au moment de l exécution de cette commande ?

Message d erreur "Erreur d execution 1004 , Impossible de lire la propriété OLEOObjects de la classe Worksheet"

Et pourtant l effacement s opère quand meme
 

laetitia90

XLDnaute Barbatruc
re tous:)
bizarre chez moi pas ce pb... même si il sont tous vide???

tu peus tester
VB:
Dim x As Byte
On Error Resume Next
For x = 1 To 4: Feuil1.OLEObjects("ComboBox" & x).Object = "": Next x

ou en plus propre :rolleyes:

VB:
Dim x As Byte
For x = 1 To 4
If Feuil1.OLEObjects("ComboBox" & x).Object <> "" Then _
Feuil1.OLEObjects("ComboBox" & x).Object = ""
Next x
 

yannickty

XLDnaute Nouveau
MErci beaucoup pour ton aide, je viens peut etre de trouver mon erreur

Ayant renommé ma feuille je remplacais Feuil1 dans le code par nomdemafeuille
cela ne convient pas

En remettant feuil1 cela refonctionne, y a peut etre moyen de mettre correctement le nom de la feuille ?
 

Si...

XLDnaute Barbatruc
Bon_soir

Remarque : beaucoup de nouveaux programmeurs ignorent qu'il est important de savoir où sera écrit le code.

En plaçant la macro dans la fenêtre de codes de la feuille, cela devrait suffire :
VB:
 Sub vide()
  ComboBox1 = "": ComboBox2 = "": ComboBox3 = "": ComboBox4 = ""
End Sub
Ce sera encore plus simple (la suite aussi) si on renomme les listes avec des noms courts.
Avec ç1, ç2, ç3 et ç4 par exemple, on aura :
VB:
 Sub vide()
  ç1 = "": ç2 = "": ç3 = "": ç4 = ""
End Sub

La boucle sera plus appropriée si le nombre de listes augmente, augmente …

Si tu essaies de répartir des personnes dans des ateliers, il serait sans doute intéressant d'éviter des doublons avec des listes dégressives non ? Mais ç'est une autre histoire (bien plus compliquée n'est-ce pas Léti ;) ) !
 

yannickty

XLDnaute Nouveau
@laetitia90 et @Si... merci de votre aide

Mon fichier fonctionne tres bien, une seule chose a régler
La liste de mes combobox est lié a un listing dans le fichier
Il peut arriver que ce listing change en cours d utilisation , a ce moment là j importe le nouveau listing par une macro

Mon souci est que si j ai commencé a utiliser le fichier et sélectionner des noms dans les combobox , celles ci au moment de l importation du nouveau listing se rafraichissent et s effacent et cela ne m arrange pas dutout
Y a t il possibilité de rafraichir le menu sans que les combobox rafraichissent leur sélection ?

J ai essaye qqes options dans les combobox mais rien a faire
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 917
Membres
101 839
dernier inscrit
laurentEstrées