[RESOLU] Macro de validation de données

tibel6

XLDnaute Nouveau
Bonjour à tous,
Je suis en train de créer un fichier me permettant de dresser un inventaire d'échantillons. Je souhaiterais afficher la liste des valeurs possibles en tapant les 1ère lettres. J'ai donc suivi l'excellent tuto trouvé sur le site suivant :
Listes en cascade

Néanmoins, cette technique ne permet pas d'empêcher à l'utilisateur d'entrer une valeur qui n'est pas sur la liste. Le tuto propose donc l'ajout de la macro ci-dessous :

Pour empêcher la saisie d'un nom qui n'existe pas dans la liste Noms

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Target <> "" Then
On Error Resume Next
Set temp = [noms].Find(Target.Value, LookAt:=xlWhole)
If Err = 50290 Then Exit Sub
If temp Is Nothing Then Application.Undo
End If
End If
End Sub

Mon fichier n'est pas organisé pareil que celui de l'exemple puisque les cellules à vérifier sont en colonne B, de B16 à B105 pour être plus précis. J'ai changé Target.Column = 2 mais ensuite je suis bloqué !
Merci par avance pour l'aide que vous pourrez m'apporter.

PS: merci de m'expliquer votre solution pour que je puisse progresser !
 

Pièces jointes

  • inventaire_forum.xlsm
    69.5 KB · Affichages: 45
Dernière édition:

tibel6

XLDnaute Nouveau
Re : Macro de validation de données

J'ai oublié de préciser qu'il faut absolument que la macro ne concerne que les lignes à partir de la ligne 16.
Merci

Edit : J'ai trouvé pour ça voilà le nouveau code que j'utilise, le problème étant que ça me supprime tout même si le nom est dans la liste :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Row > 15 And Target.Count = 1 Then
If Target <> "" Then
On Error Resume Next
Set temp = [noms].Find(Target.Value, LookAt:=xlWhole)
If Err = 50290 Then Exit Sub
If temp Is Nothing Then Application.Undo
End If
End If
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 691
Messages
2 090 997
Membres
104 723
dernier inscrit
floch