OVH Cloud OVH Cloud

ComboBox et procédure événementielle

3 réponses
Avatar
Nicolas B.
Bonsoir à tous,

J'ai une liste de choix (disons qu'elle propose 1, 2 ou 3) avec laquelle je
veux changer la valeur d'une cellule lorsque je choisis une valeur dans la
liste (et ça, sans utiliser LinkedCell). J'uilise donc la procédure suivante
:

Private Sub ComboBox1_Change()
[A1] = ComboBox1.Value
End Sub

Ceci me convient, sauf pour une situation particulière :
Quand je sélectionne 3, A1 se met à 3, c'est OK.
Je rentre ensuite dans A1 un nombre quelconque, sans passer par la liste de
choix.
Et là, si je désire sélectionner à nouveau 3 dans la liste, A1 ne se remet
pas à 3. (La procédure ComboBox_Change ne s'exécute pas, puisque 3 était
déjà sélectionné auparavant dans la liste).

Est-il donc possible de mettre à jour la valeur de la cellule dans un cas
comme celui-ci ?


Merci
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

3 réponses

Avatar
Frédéric Sigonneau
Bonsoir,

Utilise deux procédures au lieu d'une seule, et vois si ça donne ce que tu
souhaites :

'=================== Private Sub ComboBox1_Change()
Range("A1").Value = ComboBox1.Value
End Sub

Private Sub ComboBox1_DropButtonClick()
Dim Tmp
Tmp = ComboBox1.Value
ComboBox1.Value = ""
ComboBox1.Value = Tmp
End Sub
'===================
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir à tous,

J'ai une liste de choix (disons qu'elle propose 1, 2 ou 3) avec laquelle je
veux changer la valeur d'une cellule lorsque je choisis une valeur dans la
liste (et ça, sans utiliser LinkedCell). J'uilise donc la procédure suivante
:

Private Sub ComboBox1_Change()
[A1] = ComboBox1.Value
End Sub

Ceci me convient, sauf pour une situation particulière :
Quand je sélectionne 3, A1 se met à 3, c'est OK.
Je rentre ensuite dans A1 un nombre quelconque, sans passer par la liste de
choix.
Et là, si je désire sélectionner à nouveau 3 dans la liste, A1 ne se remet
pas à 3. (La procédure ComboBox_Change ne s'exécute pas, puisque 3 était
déjà sélectionné auparavant dans la liste).

Est-il donc possible de mettre à jour la valeur de la cellule dans un cas
comme celui-ci ?

Merci
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Avatar
Chris Michel
Méthode la plus bète:

tu sélectionnes un autre valeur (1, par exemple), puis tu
resélectionnes 3.

non?

-----Message d'origine-----
Bonsoir à tous,

J'ai une liste de choix (disons qu'elle propose 1, 2 ou
3) avec laquelle je

veux changer la valeur d'une cellule lorsque je choisis
une valeur dans la

liste (et ça, sans utiliser LinkedCell). J'uilise donc la
procédure suivante

:

Private Sub ComboBox1_Change()
[A1] = ComboBox1.Value
End Sub

Ceci me convient, sauf pour une situation particulière :
Quand je sélectionne 3, A1 se met à 3, c'est OK.
Je rentre ensuite dans A1 un nombre quelconque, sans
passer par la liste de

choix.
Et là, si je désire sélectionner à nouveau 3 dans la
liste, A1 ne se remet

pas à 3. (La procédure ComboBox_Change ne s'exécute pas,
puisque 3 était

déjà sélectionné auparavant dans la liste).

Est-il donc possible de mettre à jour la valeur de la
cellule dans un cas

comme celui-ci ?


Merci
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


.



Avatar
Nicolas B.
Merci Frédéric, ça marche.


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Bonsoir,

Utilise deux procédures au lieu d'une seule, et vois si ça donne ce
que tu souhaites :

'=================== > Private Sub ComboBox1_Change()
Range("A1").Value = ComboBox1.Value
End Sub

Private Sub ComboBox1_DropButtonClick()
Dim Tmp
Tmp = ComboBox1.Value
ComboBox1.Value = ""
ComboBox1.Value = Tmp
End Sub
'=================== >
FS


Bonsoir à tous,

J'ai une liste de choix (disons qu'elle propose 1, 2 ou 3) avec
laquelle je veux changer la valeur d'une cellule lorsque je choisis
une valeur dans la liste (et ça, sans utiliser LinkedCell). J'uilise
donc la procédure suivante



Private Sub ComboBox1_Change()
[A1] = ComboBox1.Value
End Sub

Ceci me convient, sauf pour une situation particulière :
Quand je sélectionne 3, A1 se met à 3, c'est OK.
Je rentre ensuite dans A1 un nombre quelconque, sans passer par la
liste de choix.
Et là, si je désire sélectionner à nouveau 3 dans la liste, A1 ne se
remet pas à 3. (La procédure ComboBox_Change ne s'exécute pas,
puisque 3 était déjà sélectionné auparavant dans la liste).

Est-il donc possible de mettre à jour la valeur de la cellule dans
un cas comme celui-ci ?

Merci
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC