OVH Cloud OVH Cloud

Combobox

4 réponses
Avatar
Gérard
Bonsoir,

Deux questions pour me faire gagner du temps ;o)

- j'ai créé une Combobox (par la barre de formulaire)
Cette liste comprends les jours de la semaine
La cellule attachée à cette liste ne m'affiche que la position du jour
selectionné.
Autrement dit , quand je clique sur Mardi , ça m'affiche 2 , Vendredi...5
etc.
Pourtant la cellule est bien au format texte.
Dois je lui affecter une macro (à la list) et si oui laquelle
Ou bien une autre idée ?

- Il faudrait que l'apparition (et la disparition) de cette liste dépende
de la valeur d'une autre cellule (>0).
Comment puis je m'y prendre ?

Merci

--
Gérard

4 réponses

Avatar
michdenis
Bonjour Gérard,

Selon moi, j'espère qu'excel sera d'accord, une cellule liée à un combobox affiche seulement l'index de l'élément sélectionné
dans la liste. Cela n'a rien à voir avec Mardi -->2 .... ce n'est qu'une "malheureuse coïncidence !!!

Dépendamment comment se présente ta feuille, tu pourrais utiliser une cellule à côté de la cellule liée avec une formule du
genre :

Plage nommée :" Toto" Représentant les données qu'affiche le combobox

=INDEX(Toto;AdresseDeLaCelluleLiée;1)


Salutations!



"Gérard" a écrit dans le message de news:%
Bonsoir,

Deux questions pour me faire gagner du temps ;o)

- j'ai créé une Combobox (par la barre de formulaire)
Cette liste comprends les jours de la semaine
La cellule attachée à cette liste ne m'affiche que la position du jour
selectionné.
Autrement dit , quand je clique sur Mardi , ça m'affiche 2 , Vendredi...5
etc.
Pourtant la cellule est bien au format texte.
Dois je lui affecter une macro (à la list) et si oui laquelle
Ou bien une autre idée ?

- Il faudrait que l'apparition (et la disparition) de cette liste dépende
de la valeur d'une autre cellule (>0).
Comment puis je m'y prendre ?

Merci

--
Gérard
Avatar
Gérard
Bonsoir Denis,

En effet , j'avais bien compris que c'était l'index de l'élément , lundi
mardi.. était un exemple.

Ta solution fonctionne trés bien
le résultat est celui attendu. Merci.

Par contre , sans vouloir abuser ;o) ma deuxième question n'inspire
personne ?
(si c'est faisable bien sur)

Cordialement
--
Gérard


"michdenis" a écrit dans le message news:
ee$
Bonjour Gérard,

Selon moi, j'espère qu'excel sera d'accord, une cellule liée à un
combobox affiche seulement l'index de l'élément sélectionné

dans la liste. Cela n'a rien à voir avec Mardi -->2 .... ce n'est
qu'une "malheureuse coïncidence !!!


Dépendamment comment se présente ta feuille, tu pourrais utiliser une
cellule à côté de la cellule liée avec une formule du

genre :

Plage nommée :" Toto" Représentant les données qu'affiche le combobox

=INDEX(Toto;AdresseDeLaCelluleLiée;1)


Salutations!



"Gérard" a écrit dans le message de
news:%

Bonsoir,

Deux questions pour me faire gagner du temps ;o)

- j'ai créé une Combobox (par la barre de formulaire)
Cette liste comprends les jours de la semaine
La cellule attachée à cette liste ne m'affiche que la position du jour
selectionné.
Autrement dit , quand je clique sur Mardi , ça m'affiche 2 ,
Vendredi...5

etc.
Pourtant la cellule est bien au format texte.
Dois je lui affecter une macro (à la list) et si oui laquelle
Ou bien une autre idée ?

- Il faudrait que l'apparition (et la disparition) de cette liste
dépende

de la valeur d'une autre cellule (>0).
Comment puis je m'y prendre ?

Merci

--
Gérard







Avatar
AV
Concernant ta Combobox issue de la barre d'outils Formulaire (DropDown) et
contenant les jours de la semaine tu peux la remplir soit en faisant référence à
une plage de cellule dans le "format de contrôle" (clic droit dessus) ou bien en
l'initialisant à l'ouverture du fichier
Ex. avec ta combo sur la feuille "Feuil2" et nommée "ListJours" :

Dans le module de ThisWorkbook
Private Sub Workbook_Open()
With Sheets("Feuil2").DropDowns("ListJours")
.List = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi")
.ListIndex = 1
End With
End Sub

Ensuite pour récupérer la valeur choisie dans la liste et l'affecter à la
cellule B1 de la feuille active(c'est un exemple) :
Affecter cette macro à la combo (clic droit dessus) :
Sub RécupDropDown()
With Sheets("Feuil2")
.[B1] = .DropDowns("ListJours").List(.DropDowns("ListJours").ListIndex)
End With
End Sub

Pour ne faire apparaître la combo que si la valeur de la cellule C1 (c'est un
exemple) est > 0, dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$C$1" Then Exit Sub
With ActiveSheet
If zz > 0 Then
.DropDowns("ListJours").Visible = True
Else:
.DropDowns("ListJours").Visible = False
End If
End With
End Sub

AV

"Gérard" a écrit dans le message news:
#
Bonsoir,

Deux questions pour me faire gagner du temps ;o)

- j'ai créé une Combobox (par la barre de formulaire)
Cette liste comprends les jours de la semaine
La cellule attachée à cette liste ne m'affiche que la position du jour
selectionné.
Autrement dit , quand je clique sur Mardi , ça m'affiche 2 , Vendredi...5
etc.
Pourtant la cellule est bien au format texte.
Dois je lui affecter une macro (à la list) et si oui laquelle
Ou bien une autre idée ?

- Il faudrait que l'apparition (et la disparition) de cette liste dépende
de la valeur d'une autre cellule (>0).
Comment puis je m'y prendre ?

Merci

--
Gérard






Avatar
Alain CROS.
Bonjour.

Pour le 2, dans le module de ta feuille
Ton ComboBox étant Shapes(1) et l'autre cellule D4

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect([D4], Target) Is Nothing Then Exit Sub
If [D4] = "" Then
Shapes(1).Visible = False
Else
Shapes(1).Visible = True
End If
End Sub

Alain CROS.

-----Message d'origine-----
Bonsoir,

Deux questions pour me faire gagner du temps ;o)

- j'ai créé une Combobox (par la barre de formulaire)
Cette liste comprends les jours de la semaine
La cellule attachée à cette liste ne m'affiche que la
position du jour

selectionné.
Autrement dit , quand je clique sur Mardi , ça m'affiche
2 , Vendredi...5

etc.
Pourtant la cellule est bien au format texte.
Dois je lui affecter une macro (à la list) et si oui
laquelle

Ou bien une autre idée ?

- Il faudrait que l'apparition (et la disparition) de
cette liste dépende

de la valeur d'une autre cellule (>0).
Comment puis je m'y prendre ?

Merci

--
Gérard




.