Liste de validation en fonction de la même liste

natorp

XLDnaute Accro
Bjr à toutes et tous

J'aimerais une liste de validation qui serait fonction d'un choix fait dans une autre cellule sur la même liste

En D15 on choisit un joueur dans une liste et en D16 on choisit un autre joueur mais la liste ne tient plus compte du joueur choisi plus haut.

Voir le fichier joint

Merci de votre attention, cordialement, Gérard
 

Pièces jointes

  • Calcul des points.xls
    23.5 KB · Affichages: 30
  • Calcul des points.xls
    23.5 KB · Affichages: 33
  • Calcul des points.xls
    23.5 KB · Affichages: 34

job75

XLDnaute Barbatruc
Re : Liste de validation en fonction de la même liste

Bonjour Gérard,

Une solution VBA :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range, t$
If Target.Address <> "$D$15" Then Exit Sub
For Each cel In [Liste]
  If cel <> Target Then t = t & "," & cel
Next
t = Mid(t, 2)
With Target.Offset(1).Validation
  .Delete
  If Target <> "" Then .Add xlValidateList, Formula1:=t
End With
End Sub
Fonctionne si le texte t qui définit la liste ne comporte pas plus de 255 (ou 256 ?) caractères.

Autrement il faut passer par une plage auxiliaire avec formule (on verra ça).

Fichier joint.

A+
 

Pièces jointes

  • Calcul des points VBA(1).xls
    33.5 KB · Affichages: 25
Dernière édition:

job75

XLDnaute Barbatruc
Re : Liste de validation en fonction de la même liste

Re,

Donc maintenant la solution par formule.

Formule matricielle en D2 à tirer vers le bas :

Code:
=INDEX(Liste;PETITE.VALEUR(SI(Liste<>E$15;LIGNE(Liste)-1);LIGNES(D$2:D2)))
Formule de validation en E16 :

Code:
=DECALER($D$1;1;;EQUIV("zzz";$D:$D)-1)
Fichier joint.

A+
 

Pièces jointes

  • Calcul des points Formule(1).xls
    27 KB · Affichages: 27
Dernière édition:

natorp

XLDnaute Accro
Re : Liste de validation en fonction de la même liste

Merci job75

tjrs aussi efficace, je vais choisir la première solution, je ne pense avoir de nom de joueur à plus de 255 caractères...

Et encore merci, bonne journée, Gérard
 

natorp

XLDnaute Accro
Re : Liste de validation en fonction de la même liste

Bonsoir

je viens avec une autre question : comment faire pour que la troisième liste soit construite en fonction des 2 autres

merci, de votre aide, cordialement, Gérard
 

Pièces jointes

  • Calcul des points du tarot test.xls
    25 KB · Affichages: 22

job75

XLDnaute Barbatruc
Re : Liste de validation en fonction de la même liste

Bonsoir Gérard,

Puisque c'est le VBA qui vous intéresse :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range, t$
For Each cel In [Liste1]
  If cel <> [I2] And cel <> [I3] _
    Then t = t & "," & cel
Next
t = Mid(t, 2)
With [I4].Validation
  .Delete
  .Add xlValidateList, Formula1:=t
End With
End Sub
Le plus simple est de se passer de Target.

A+
 

Discussions similaires

Réponses
8
Affichages
502

Statistiques des forums

Discussions
312 839
Messages
2 092 688
Membres
105 509
dernier inscrit
hamidvba