OVH Cloud OVH Cloud

Validation de liste

7 réponses
Avatar
Jose
Bonsoir,
J'ai créé une liste avec le menu Données/Validation/Liste.
Comment faire en VBA pour connaitre la position de la valeur sélectionnée
dans cette liste.
Merci d'avance
José

7 réponses

Avatar
isabelle
bonjour José,

tu as entré la liste manuellement dans la case source, ou bien tu as fait référence à une plage de cellules ?

isabelle

Bonsoir,
J'ai créé une liste avec le menu Données/Validation/Liste.
Comment faire en VBA pour connaitre la position de la valeur sélectionnée
dans cette liste.
Merci d'avance
José




Avatar
Jose
Bonsoir Isabelle,

Je fais réference à une plage de cellules.
Mais si la solution nécessite d'entrer la liste dans la case source, ça ne
pose aucun problème.
Merci

"isabelle" a écrit dans le message de news:
%
bonjour José,

tu as entré la liste manuellement dans la case source, ou bien tu as fait
référence à une plage de cellules ?

isabelle

Bonsoir,
J'ai créé une liste avec le menu Données/Validation/Liste.
Comment faire en VBA pour connaitre la position de la valeur sélectionnée
dans cette liste.
Merci d'avance
José




Avatar
garnote
Bonsoir Jose,

Je suppose ici que tes valeurs sont dans la plage D11:D16
et que ta liste est dans la cellule E11. Si toutes tes valeurs
sont différentes, essaie ceci :

Sub Numéro()
v = [E11]
ordre = WorksheetFunction.Match(v, Range("D11:D16"), 0)
MsgBox ordre
End Sub

Serge

"Jose" a écrit dans le message de news:
43d92360$0$16207$
Bonsoir,
J'ai créé une liste avec le menu Données/Validation/Liste.
Comment faire en VBA pour connaitre la position de la valeur sélectionnée
dans cette liste.
Merci d'avance
José



Avatar
anonymousA
Bonjour,

A mettre dans le module de la feuille et en supposant que la cellule
pour laquelle Données/validation est effective est en E1 et que tu as au
moins Excel 2000

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("E1")) Is Nothing Then MsgBox
Application.WorksheetFunction.Match(Target.Value,
Range(Split(Target.Validation.Formula1, "=")(1)), 0)

End Sub

te donnera la position dans la plage source de la valuer sur laquelle tu
auras cliquée.

A+

Bonsoir Isabelle,

Je fais réference à une plage de cellules.
Mais si la solution nécessite d'entrer la liste dans la case source, ça ne
pose aucun problème.
Merci

"isabelle" a écrit dans le message de news:
%

bonjour José,

tu as entré la liste manuellement dans la case source, ou bien tu as fait
référence à une plage de cellules ?

isabelle


Bonsoir,
J'ai créé une liste avec le menu Données/Validation/Liste.
Comment faire en VBA pour connaitre la position de la valeur sélectionnée
dans cette liste.
Merci d'avance
José









Avatar
Jacky
Bonsoir,
Exemple ici:
http://cjoint.com/?bAw7iYCTCo
Salutations
JJ


"Jose" a écrit dans le message de news:
43d92360$0$16207$
Bonsoir,
J'ai créé une liste avec le menu Données/Validation/Liste.
Comment faire en VBA pour connaitre la position de la valeur sélectionnée
dans cette liste.
Merci d'avance
José



Avatar
garnote
Salut anonymousA

Connaissais pas ça moé cette affaire-là !
Tripatif ;-)

Serge

"anonymousA" a écrit dans le message de news:
43d943a3$0$19701$
Bonjour,

A mettre dans le module de la feuille et en supposant que la cellule pour
laquelle Données/validation est effective est en E1 et que tu as au moins
Excel 2000

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("E1")) Is Nothing Then MsgBox
Application.WorksheetFunction.Match(Target.Value,
Range(Split(Target.Validation.Formula1, "=")(1)), 0)

End Sub

te donnera la position dans la plage source de la valuer sur laquelle tu
auras cliquée.

A+

Bonsoir Isabelle,

Je fais réference à une plage de cellules.
Mais si la solution nécessite d'entrer la liste dans la case source, ça
ne pose aucun problème.
Merci

"isabelle" a écrit dans le message de news:
%

bonjour José,

tu as entré la liste manuellement dans la case source, ou bien tu as fait
référence à une plage de cellules ?

isabelle


Bonsoir,
J'ai créé une liste avec le menu Données/Validation/Liste.
Comment faire en VBA pour connaitre la position de la valeur
sélectionnée dans cette liste.
Merci d'avance
José










Avatar
docm
Bonjour

Une alternative (en supposant que la liste s'appelle List):

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("E2")) Is Nothing Then MsgBox _
[List].Find(Target.Value).Row - [List].Row + 1

End Sub

docm

"Jose" a écrit dans le message de news: 43d92360$0$16207$
Bonsoir,
J'ai créé une liste avec le menu Données/Validation/Liste.
Comment faire en VBA pour connaitre la position de la valeur sélectionnée
dans cette liste.
Merci d'avance
José