Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimer valeur dans TextBox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Xtian_Québec

XLDnaute Occasionnel
Bonjour le forum, j'ai une fichier qui contient plusieurs ComboBox et plusieurs fonctionnent avec des listes déroulantes. Hors, lorsque je saisie une valeur à partir d'une liste déroulante, je ne peux pas la cancellée à moins de sélectionner un autre choix parmi la liste...

J'aimerais pouvoir remettre à zéro certaines valeurs sélectionnées mais je ne suis pas capable. J'ai un code qui supprime toutes les valeurs des ComboBox de ma feuille mais je voudrais seulement effacer un ComboBox en particulier, pas tous les ComboBox...

Je voudrais "identifier" le ComboBox lorsqu'il est sélectionné et avoir un bouton relié à un code qui "efface" le contenu du ComboBox sélectionné. J'ai déjà une partie de code avec cb????????_GotFocus pour chacun des ComboBox mais je ne sais pas comment intégré une partie de code qui identifiera le ComboBox et pouvoir utiliser un autre code pour effacer la valeur de ce ComboBox.

Je suis certain qu'un de vous aurez une idée brillante...

Merci beaucoup de votre aide

@+++
Xtian_Québec
 
Re : Supprimer valeur dans ComboBox

Salut lacorse33 et le forum, malheureusement, mon fichier est trop volumineux pour le joindre en pièce jointe. De plus, j'ai beaucoup de code qui sont reliés à mes ComboBox donc il serait ardu pour moi de reproduire exatement ce qui se passe avec chaque ComboBox dans un fichier DEMO.

Il doit surement exister une manière d'identifier un ComboBox qui est sélectionné, garder le nom du ComboBox en mémoire et utiliser le code ComboBoxSélectionné.value = "" en appuyant sur un bouton...J'utilise cette fonction pour vidanger tous mes ComboBox mais comme mentionné précédemment, je veux faire la même chose avec seulement un ComboBox.

La fonction .value="" n'est pas un mystère, c'est l'identification du ComboBox sélectionné qui me cause des ennuis...

Merci

Xtian_Québec
 
Re : Supprimer valeur dans TextBox

Bonsoir à tous,
Pas sur de comprendre,
pour identifier le combobox selectionné

Private Sub ComboBox1_GotFocus()
Range("a1").Value = ComboBox1.Name
End Sub

Et quant il est plus selectionné
Private Sub ComboBox1_LostFocus()
Range("a1").Value = ""
End Sub
Salut Yves
hola la colision,Bonsoir José
 
Re : Supprimer valeur dans TextBox

Merci les boys !!!
Je crois que je vais "baragouinner" quelquechose avec vos idées. J'aime bien celle de ziopizza car j'ai déjà des code GotFocus sur mes ComboBox. Je vais populer le Range "A1" avec le nom lors de la sélection du ComboBox et lorsque j'executerai mon code Clear, j'irai lire la valeur de "A1" et supprimerai la valeur du ComboBox correspondant...

Gros merci...ça semble si simple mais quand on a la tête en mode recherche, on recherche souvent des choses compliquées alors que c'est parfois si simple...


Merci encore.

Xtian_Québec
 
Re : Supprimer valeur dans TextBox

Salut jmps, la vrai raison c'est que je ne suis pas familié avec
Me.ActiveControl.Name.Value = ""
ou :
Me.ActiveControl.Name.ListIndex = -1

Si cette solution est plus solide, j'aimerais bien si tu pouvais me donner plus d'explications. Ça me ferait quelquechose de nouveau à apprendre.

Voici un exemple de ComboBox de mon fichier:

"cbAccidentIncident" liste déroulante qui contient trois choix, 1)Accident avec blessure, 2)Atteinte à l'environnement et 3)passer-près

Merci encore à toi

Xtian_Québec
 
Re : Supprimer valeur dans TextBox

Re jmps, effectivement, mon fichier est trop volumineux et en plus, il est lié à d'autres fichiers Excel et à une base de données Access donc, il est très difficile pour moi de réduire et conserver toutes les fonctions du fichier..."y va planter"...

Par contre, voici le code que j'ai développé pour "essayer" de résoudre mon problème. Je suis bien près de la solution mais il me manque un petit quelquechose...Les ajouts sont en ROUGE. Aussi, pour mieux comprendre la logique de mon fichier, j'explique quelques autres codes qui sont nécessaires dans mon fichier mais qui n'ont pas nécessairement de relations avec mon problème.

Voici les codes qui touchent un de mes ComboBox (cbAccidentIncident):

Jai un code LoadList qui alimente mes ComboBox. Ce code est exécuté à l'ouverture du fichier ou lorsqu'on effectue des changements dans les choix des listes déroulantes. Ce code n'a aucune incidence avec mon problème.

Sur sélection du ComboBox:
Private Sub cbAccidentIncident_GotFocus()
nTabIndex = CSTcbAccidentIncident
Range("H11").value = cbAccidentIncident.Name
End sub

nTabIndex est utilisé avec un autre sub TabNavigation pour me déplacer d'un ComboBox à un autre avec la touche TAB, ENTER ou FLÈCHE du clavier. Ce code n'a aucune incidence avec mon problème.

Supposons que je sélectionne "Accident avec blessure" à partir de ma liste dans mon ComboBox cbAccidentIncident, cette valeur est affichée dans mon ComboBox et au Range H11.

J'ai créé le code suivant pour effacer cette valeur:

Sub btnClearInfo_Click()
Call ClearComboSelect
Call LoadListSelect
End Sub

Sub ClearComboSelect()
Dim obj(1)
Set obj(1) = Feuil1.cbAccidentIncident
obj(1).Style = fmStyleDropDownCombo
obj(1).Clear
obj(1).Text= ""
obj(1).Style = fmStyleDropDownList
Set obj(1) = Nothing
End Sub

Sub LoadListSelect
Dim i, j, k, m as Integer
Dim obj(1) as Object
Set obj(1) = Feuil1.cbAccidentIncident
...'je t'épargne les While, Loop, etc de ce code...
...'les informations de ce code n'ont aucune incidence avec mon problème
...
End Sub

Si j'exécute le code btnClearInfo_Click tel que décrit ci-dessus, ma sélection dans cbAccidentIncident est effacer et c'est exactement ce que je veux faire.

Mon problème est que je voudrais remplacer cbAccidentIncident dans mes codes et utiliser la variable qui se retrouve dans mon RANGE H11, ce range étant alimenté par les fonction Got_Focus de chacun des ComboBox.

J'ai essayé:
Set obj(1) = Range("H11").value 'Ça ne fonctionne pas...
Erreur = Objet requis

Set obj(1) = Range("H11").Name.Value 'Ça ne fonctionne pas...
Erreur = Erreur définie par l'application ou par l'objet

Comment puis-je changer la référence cbAccidentIncident dans mes codes par la référence en Range "H11" ???

Merci

Xtian_Québec
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
519
Réponses
13
Affichages
733
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…