Combobox

Delirium

XLDnaute Occasionnel
Bonsoir à tous.

J'ai un petit problème sur un Combobox qui est dans un Userform.

Je voudrais que lorsque l'on à choisit une valeur dans le Combobox la valeur soit affiché dans la cellule 'E3' et que l'userform se ferme.

J'ai donc fait ce code :
Code:
Private Sub ComboBoxDistanceMer_[color=#FF0000]Change[/color]()
Range('E3').Value = ComboBoxDistanceMer.ListIndex + 1
DépCôtier.Hide
End Sub
Private Sub UserForm_Initialize()
HideCloseButton Me
With ComboBoxDistanceMer
.RowSource = 'U2:U4'
.ListIndex = Range('E3').Value + 0
End With
End Sub

Le problème est que si on sélectionne la valeur qui été affiché à l'ouverture de l'userform, celui-ci ne se ferme pas.

J'ai testé aussi ce code :
Code:
Private Sub ComboBoxDistanceMer_[color=#FF0000]Click[/color]()
Range('E3').Value = ComboBoxDistanceMer.ListIndex + 1
DépCôtier.Hide
End Sub
Private Sub UserForm_Initialize()
HideCloseButton Me
With ComboBoxDistanceMer
.RowSource = 'U2:U4'
.ListIndex = Range('E3').Value + 0
End With
End Sub

Mais le résultat est le même.
Si quelqu’un peut me donner une solution, merci.
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Delirium, Pascalmou, le forum,

Il est tard et je te propose ça sans vraiment l'avoir testé :


Option Explicit
Private test As Boolean

Private Sub UserForm_Initialize()
ComboBox1.RowSource = 'U2:U4'
test = True
ComboBox1.ListIndex = 0
End Sub

Private Sub ComboBox1_Change()
Range('E3').Value = ComboBox1.Value
If test = False Then Unload Me
test = False
End Sub
 

Delirium

XLDnaute Occasionnel
Bonsoir Robert et merci de ton aide.

J'ai testé ton code et le résultat est le m^me qu'avec mon code.

Le problème est que dans mon combobox j'ai 3 possibilités de choix, et qu'a l'ouverture de l'userform, si le combobox est sur la possibilité 2 (par exemple) et que je veux choisir cette même possibilité, la selection est possible mais l'userform ne se ferme pas automatiquement.

J'ai un solution qui ne me plait pas du tout 'rajouter un bouton 'Hide me' mais cela fait un bouton de plus :(

J'aimerais qu'une fois la selection dans le combobox faite, l'userform se ferme automatiquemnt.


Merci et @ +
 

Baside

XLDnaute Impliqué
Bonjour Delirium, le Forum

Regarde le fichier, il met la valeur dans la cellule E3 et se ferme.

Bonne journée, Hervé, Je vais me coucher. [file name=Combobox.zip size=8576]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Combobox.zip[/file]
 

Pièces jointes

  • Combobox.zip
    8.6 KB · Affichages: 28
  • Combobox.zip
    8.6 KB · Affichages: 28
  • Combobox.zip
    8.6 KB · Affichages: 27

Delirium

XLDnaute Occasionnel
Bonsoir Hervé.

Encore une fois je vois que tu répond présent sur XLdownload ;)

Pur ce qui est de ta solution, c'est en partie le même code que celui que jai fais sauf que à l'ouverture (initialisation) de l'userform la valeur de 'E3' est détecté pour et le combobox se retrouve avec la valeur lui correspondant (je me demande si je suis claire la ? :pinch:)

cela se fait avec se code :
Code:
Private Sub UserForm_Initialize()
HideCloseButton Me
With ComboBoxDistanceMer
.RowSource = 'U2:U4'
.ListIndex = Range('E3').Value + 0
End With
End Sub

Mais le problème est que si je reselectionne dans le combobox la même valeur que celle qui été affiché a l'ouverture de l'userform, alors celui-ci ne se ferme pas. Cela ne marche que si je selectionne une autre valeur.


En ensperant que quelqu'un m'ais compris !!!!!!!


@+
 

Eric C

XLDnaute Barbatruc
Bonsoir le forum
Bonsoir Pascalmou, bonsoir Baside, bonsoir Robert et bonsoir Délirium

Peut être que :
Code:
Option Explicit

Private Sub UserForm_Initialize()
ComboBox1.RowSource = 'a1:a4'
End Sub

Private Sub ComboBox1_Change()
If ComboBox1.Value = ComboBox1.List(0) Then
Unload Me
Else: Range('E3').Value = ComboBox1.Value
End If
End Sub
;)
 

Discussions similaires

Statistiques des forums

Discussions
312 754
Messages
2 091 681
Membres
105 046
dernier inscrit
chadrack mbeke