Référence à la cellule "à gauche" de la cellule active

Bonjour,

J'ai besoin de l'aide d'avertis.

Je construis un tableau de collecte de données, avec menu déroulant en cascade.

Le menu déroulant de ma colonne 2 doit dépendre de la valeur du menu déroulant de la colonne 1.

J'ai trouvé comment faire, pour une ligne, mais ma méthode ne fonctionne plus dés la seconde ligne de ma plage, puisque la formule employée pour la plage du nom fait référence à une cellule absolue, alors que je la voudrais relative...

J'ai tenté de l'expliquer dans le fichier joint.

Merci d'avance pour votre aide

Bonjour à tous,

Passe en relatif !

=DECALER(Datas!$A$3;1;EQUIV(Collecte!$A4;Datas!$B$3:$G$3;0);NBVAL(DECALER(Datas!$B$3:$B$14;1;EQUIV(Collecte!$A4;Datas!$B$3:$G$3;0)-1;;)))

Crdlmt

DjiDji59430 merci!

Je vais paraître un peu bêta, mais j'avais testé ce moyen sans succès.

Probablement une mauvaise manip qui m'a fait penser que ça ne fonctionnait pas...

Et j'ai ensuite passé des heures à tenter autre chose. No comment !! )

Merci beaucoup !

Salut FredGres,

Salut DjiDji,

Une version VBA qui permet de soulager la feuille de toutes ces listes de validation en n'en posant que là où on la demande!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
Dim iRow%, iCol%
'
If Selection.Count > 1 Then Exit Sub
Cells.Validation.Delete
'
If Not Intersect(Target, Range("A:A")) Is Nothing Then
    If Target.Row > 3 Then
        Target.Offset(0, 1) = ""
        iCol = Worksheets("Datas").Cells(3, Columns.Count).End(xlToLeft).Column
        Target.Validation.Add Type:=xlValidateList, Formula1:="=Datas!B3:" & Chr(64 + iCol) & "3"
    End If
End If
'
If Not Intersect(Target, Range("B:B")) Is Nothing Then
    If Target.Row > 3 Then
        If Target.Offset(0, -1) <> "" Then
            iCol = Worksheets("Datas").Rows(3).Find(what:=Target.Offset(0, -1), lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlNext).Column
            iRow = Worksheets("Datas").Range(Chr(64 + iCol) & Rows.Count).End(xlUp).Row
            Target.Validation.Add Type:=xlValidateList, Formula1:="=Datas!" & Chr(64 + iCol) & "4:" & Chr(64 + iCol) & iRow & ""
        Else
            MsgBox "Vous devez d'abord spécifier une catégorie sportive!", vbInformation + vbOKOnly, "Encodage"
            Target.Offset(0, -1).Select
        End If
    End If
End If
'
End Sub

A+

5fredgres.xlsm (23.94 Ko)

curulis57 Merci !

Je vais regarder dans quelle mesure je peux appliquer ta proposition.

Rechercher des sujets similaires à "reference gauche active"