XL 2013 Liste - Validation de données avec condition complexe

  • Initiateur de la discussion Initiateur de la discussion Sylvain133
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

Sylvain133

Guest
Bonjour à tous,

Je voulais savoir comment faire pour créer une liste à partir de la validation de données sur Excel selon une condition complexe (appelée comme telle car elle apparaît longue) :

=si($m2="A";AA;SI($m2="B";BB;si(et($m2="C";$n2="CD");CC;si(et($m2="D";$n2="DE");DD;si(et($m2="D";$n2="DF");DD;si(et($m2="D";$n2="DG");DD;si(et($m2="D";$n2="DH");DD;si(et($m2="D";$n2="DI");DD;si(et($m2="E";$n2="EF");EE;si(et($m2="E";$n2="EG");EE;si(et($m2="E";$n2="EH");EE;si(et($m2="E";$n2="EI");EE;si(et($m2="E";$n2="EJ");EE;si(et($m2="E";$n2="EK");EE;si(et($m2="F";$n2="FG");FF;si(et($m2="F";$n2="FH");F;si(et($m2="F";$n2="FI");FF;si(et($m2="F";$n2="FJ");FF;si(et($m2="F";$n2="FK");FF;"")))))))))))))))))))

Ainsi je me sers des colonnes M et N pour appliquer la validation de données à ma colonne O. Ces 2 colonnes (M et N) possèdent elles mêmes déjà une validation de données (qui fonctionne). Lorsque j'essaye de réaliser cette manipulation à partir des commandes sur Excel il m'est impossible de le faire car lorsque je choisis "Liste" et "personnalisé" la condition est trop longue pour être collée. Auriez vous une alternative s'il vous plait ? Je vois cela possible d'être réalisé uniquement en VBA mais pas ailleurs. Est-ce justre ? Si oui comment le faire ?
J'ai essayé ceci dans VBA mais cela ne fonctionne pas : (code erreur : attente de fin d'instruction)

Sub validation2()


Dim NBLIG As Integer 'compteur de lignes

'compte le nombre de lignes
NBLIG = Cells(Rows.Count, 28).End(xlUp).Row
MsgBox (NBLIG)



Dim rng As Range: Set rng = ThisWorkbook.Worksheets("Données ind. CDI").Range(Cells(1, 18), Cells(NBLIG, 18))



With rng.validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=if($m2="A",AA,if($m2="B",BB,if(and($m2="C",$n2="CD"),CC,if(and($m2="D",$n2="DE"),DD,if(and($m2="D",$n2="DF"),DD,if(and($m2="D",$n2="DG"),DD,if(and($m2="D",$n2="DH"),DD,if(and($m2="D",$n2="DI"),DD,if(and($m2="E",$n2="EF"),EE,if(and($m2="E",$n2="EG"),EE,if(and($m2="E",$n2="EH"),EE,if(and($m2="E",$n2="EI"),EE,if(and($m2="E",$n2="EJ"),EE,if(and($m2="E",$n2="EK"),EE,if(and($m2="F",$n2="FG"),FF,if(and($m2="F",$n2="FH"),FF,if(and($m2="F",$n2="FI"),FF,if(and($m2="F",$n2="FJ"),FF,if(and($m2="F",$n2="FK"),FF,"")))))))))))))))))))"
End With

End Sub



Merci d'avance pour vos retours
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
799
L
  • Question Question
XL 2010 Doublon
Réponses
5
Affichages
659
Laurence_75
L
Réponses
1
Affichages
1 K
M
Réponses
2
Affichages
1 K
moialbert2
M
A
Réponses
3
Affichages
1 K
Alex6942
A
Retour