Re : Vérifier présence dans liste deroulante
Bonjour JOB75, le forum,
Désolé pour ma réponse tardive. Merci pour tes nombreuses solutions malgré mes nombreux problèmes apportés.
Maintenant j'essaye de comprendre ta solution.
Peux-tu me confirmer mes dires voir me corriger si nécessaire.
Private Sub Worksheet_Calculate()
Dim o As Object, a, n, liste, t$ '
'déclaration de variable o avec les objets a,n,liste et t$
For Each o In Me.OLEObjects
a = Array("B", "D", "F", "H", "J") '
'se reporte aux listes d'element, ici les liste déroulantes
n = Val(Right(o.Name, 1)) - 1 '
'valeur des éléments moins 1
liste = Evaluate("IF(SUM(B7:" & a(n) & "7)>10,"""",OFFSET(Article,,,MATCH(" & a(n) & "11,N5:N11)))")
'formule général pour déterminer les possibilité
t = Left(o.Name, Len(o.Name) - 1)
'renvoie un nombre de caractères en partant de la gauche. La syntaxe est Left(Texte, Nombre de caractères).
If Application.CountA(liste) = 1 And Not IsError(liste) Then 'liste avec une seule valeur
bject.Enabled = UCase(t) = UCase(liste)
Else
n = Application.Match(t, liste, 0)
bject.Enabled = IsNumeric(n)
End If
Next
End Sub
Merci
Cordialement