Bonjour ;
Même si ce sujet est marqué résolu ; et pour ne pas créer un sujet similaire permettez moi de continuer dans le même ordre d’idées :
Précédemment les formules ne répondent pas exactement à ce que veut JeanBaptisteP (la liste en B1 doit rester complète prête pour resélectionner n’importe quel élément)
Dans ce fichier j’e me suis proposé avec vba, de généraliser, en partant du fichier de Cylfo, de la façon suivante :
si l’élément tapé dans A1 appartient à la liste équipement, alors l’afficher dans B1, tout en gardant la liste de choix en B1 intacte complète comme voulu, et si il n’appartient pas afficher « vide ».
ça marche sauf pour le vide : lorsque je tape ‘(ou sélectionne ) en A1 un élément n’appartenant pas à liste Equipement, il ne me met pas le vide : où est le problème dans le code ?!!
même si ça apparaît sans grande importance ou utilité , ça aide à comprendre le fonctionnement d’Excel et vba.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NumElementList
On Error GoTo Err_WSC
If Target.Rows.Count > 1 Or Target.Areas.Count > 1 Then Exit Sub
If Target = Range("A1") Then
Application.EnableEvents = False
NumElementList = WorksheetFunction.Match(Target.Value, Range("Equipement"), 0)
If IsNumeric(NumElementList) Then
Target.Offset(0, 1).Value = Target.Value
Target.Offset(0, 2).Value = NumElementList
Else
Target.Offset(0, 1).Value = ""
Target.Offset(0, 2).Value = "non trouvé"
End If
End If
Application.EnableEvents = True
Exit Sub
Err_WSC:
Err.Clear
Application.EnableEvents = True
Exit Sub
End Sub
Cordialement