Excel - Liste déroulante ou rechercheV - Avoir un ou l'autre selon une condition

Bonjour,

J’ai une cellule où je voudrait appliquer le concept suivant :

=SI(Q4=“Interne”;RECHERCHEV(M4;‘PNJs interne’!$A$2:$I$120;4;FAUX);“Liste déroulante = List_Compe”)

Q4 ne peut prendre que deux valeurs, soit ‘Interne’ ou ‘Externe’
Si c’est Interne, la cellule prend la valeur de ce qui se trouve sur la feuille PNJ interne grâce à un RECHERCHEV, ça ça marche très bien.

Le problème, c’est que si Q4 est externe, il faudrait que la cellule deviennent une liste déroulante, dont la liste est List_Compe.

Bon directement sous excel je me doute bien que c’est impossible, mais je crois qu’il y aurait moyen en VB, seulement je ne sais pas du tout comment créer une liste déroulante en VB.

Quelqu’un pourrait m’aiguiller ?
Merci :slight_smile:

Bon j’ai réussit à faire apparaître la liste déroulante, mais j’arrive pas à intégrer le rechercheV dans le Else de la fonction :

Private Sub PNJs_Click()
Range(“L10”).Select
Selection.Validation.Delete
If Range(“Q4”) = “Externe” Then
Selection.Validation.Add Type:=xlValidateList, Formula1:="=List_Compe"
Else
Selection = “=RECHERCHEV(M4;‘PNJs interne’!$A$2:$J$120;5;FAUX)”
'Selection.Validation.Add Formula1:="=RECHERCHEV(M4;‘PNJs interne’!$A$2:$J$120;5;FAUX)"
End If
End Sub

J’ai essayé avec un […].Add Type:=xlValidateList ou xlValidateInputOnly, mais aucun ne fonctionne, j’ai toujours ‘une erreur définit par l’application ou par l’objet’.

Quelqu’un aurait une idée ?

Merci :slight_smile:

Bon bin finalement j’ai tout trouvé.

Merci Google :smiley: