Saisie liste déroulanre

Comment lors de la saisie d’une cellule à partir d’une liste déroulante excel, vérifier que cette donnée saisie
n’est pas présente dans la colonne d’un autre onglet et si présente envoyer une msg
Un grand merci pour votre aide

Bonjour gg21

Voici une possibilité :wink:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim RngFind As Range
  If Target.Value = "" Then Exit Sub
  ' Si le choix se fait dans la colonne A
  ' vérifier si la cellule modifiée s'y trouve bien, sinon on sort
  If Intersect(Range("A:A"), Target) Is Nothing Then Exit Sub
  ' Choix fait dans la colonne indiquée
  ' Trouver la valeur dans la colonne A de l'onglet de recherche
  Set RngFind = Sheets("OngletDeRecherche").Range("A:A").Find(What:=Target.Value, LookIn:=xlValues, _
    LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False)
  If Not RngFind Is Nothing Then
    MsgBox "Attention, cette valeur existe déjà sur la ligne " & RngFind.Row
  End If
End Sub

@+

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.