XL 2010 RechercheV & valeur dans une Liste de validation en cascade

kif

XLDnaute Occasionnel
Bonjour la team

voici mon contexte


J'ai une liste de validation en cascade, en fonction du 1er choix (colonne A) et du deuxième choix de la sous catégorie (colonne B) je souhaite faire apparaitre le reste des valeurs des colonnes F/G/K/L (qui sont renseignées sur le deuxième Onglet (BD)

vous me direz tu n'a qu'a faire une recherche V ou un Index ! oui mais => je souhaite conserver quand mème les listes de validation dans ces colonnes F/G/K/L

ci joint le fichier

Merci d'avance de votre support
 

Pièces jointes

  • Kif_Cascade.xls
    44 KB · Affichages: 7

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Kif,
Une cellule ne peut pas contenir une formule ET une valeur. Donc ce n'est guère possible ... sauf en VBA.
Un essai en PJ avec cette macro événementielle :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B4:D23")) Is Nothing Then
         Ligne = Target.Row: Theme = Cells(Ligne, "B"): Config = Cells(Ligne, "D")
         With Sheets("BD")
            For L = 2 To .[A65500].End(xlUp).Row
                If .Cells(L, "A") = Theme And .Cells(L, "B") = Config Then Cells(Ligne, "F") = .Cells(L, "D")
            Next L
        End With
    End If
Fin:
End Sub
Si on modifie une valeur de A,B ou C alors la valeur en F est ajoutée.
( ici, ce n'est fait que pour RI, il faut continuer pour les autres colonnes en dupliquant la ligne
Cells(Ligne, "F") = .Cells(L, "D") avec Cells(Ligne, "G") = .Cells(L, "E") ....
 

Pièces jointes

  • Kif_Cascade (2).xls
    60 KB · Affichages: 2

kif

XLDnaute Occasionnel
Bonjour Sylvanu

Oui super j'ai transposer, merci beaucoup ça fonctionne c'est super!

Par contre j'ai toujours cette erreur en colonne E (RA), que je n'arrive pas à modifier (meme je teste la valeur de D >0)
par cette instruction
=INDEX(RiskASD;EQUIV(1;(Thema=B4)*(Configuration=D4);0))
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Je ne comprends pas pourquoi vous mettez des formules alors qu'il suffit d'enrichir le VBA comme je l'ai indiqué au post #2, par ex avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B4:D23")) Is Nothing Then
         Ligne = Target.Row: Theme = Cells(Ligne, "B"): Config = Cells(Ligne, "D")
         With Sheets("BD")
            For L = 2 To .[A65500].End(xlUp).Row
                If .Cells(L, "A") = Theme And .Cells(L, "B") = Config Then
                    For Col = 5 To 12
                        Cells(Ligne, Col) = .Cells(L, Col - 2)
                    Next Col
                End If
            Next L
        End With
    End If
Fin:
End Sub
 

Pièces jointes

  • Kif_Cascade (V2).xls
    62.5 KB · Affichages: 7

Discussions similaires

Réponses
8
Affichages
858

Statistiques des forums

Discussions
315 093
Messages
2 116 132
Membres
112 667
dernier inscrit
foyoman