Empêcher la saisie de doublons par deux colonne / même ligne [Résolu]

Signaler
Messages postés
4
Date d'inscription
dimanche 18 octobre 2020
Statut
Membre
Dernière intervention
7 novembre 2020
-
Messages postés
7340
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 avril 2021
-
Bonjour,
alors je veux d'empêcher la saisie de doublons par deux colonne
dans mon exemple :
c'est possible de saisie le même code article mais de différents magasin
je sais c'est que possible avec Excel sous la fonction SOMEPROUD ,mais pour moi Je voudrais le code VBA pour utiliser sur userform et merci d'avance!!!

2 réponses

Messages postés
7340
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 avril 2021
122
Bonjour,

voici un exemple avec un Bouton, une TextBox et la liste dans la colonne A:

Option Explicit
Private Sub CommandButton1_Click()
Dim obj As Object
Dim FL1 As Worksheet
Dim DerniereLigneUtilisee As Long
DerniereLigneUtilisee = Range("A" & Rows.Count).End(xlUp).Row + 1 'adapter colonne
    Set FL1 = Worksheets("Feuil1") 'adapter feuille
With FL1
  Set obj = .Columns("A").Find(TextBox1.Text, , , xlWhole) 'adapter colonne
If Not obj Is Nothing Then MsgBox "Cet article existe déjà!", vbCritical, "Ajout d'article": Exit Sub
 Range("A" & DerniereLigneUtilisee).Value = TextBox1.Text ' ajout d'article
End With
End Sub



A adapter
Messages postés
4
Date d'inscription
dimanche 18 octobre 2020
Statut
Membre
Dernière intervention
7 novembre 2020

Merci pour ta réponse mais le problème c'est que je veut tester deux textbox le code article et magasin .
Messages postés
7340
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 avril 2021
122
comme ceci:

Option Explicit
Private Sub CommandButton1_Click()
Dim obj As Object
Dim FL1 As Worksheet
Dim DerniereLigneUtilisee As Long
Dim DerLigne As Long
DerniereLigneUtilisee = Range("A" & Rows.Count).End(xlUp).Row + 1 'adapter colonne
DerLigne = Range("L" & Rows.Count).End(xlUp).Row + 1 'adapter colonne
    Set FL1 = Worksheets("Feuil1") 'adapter feuille
With FL1
  Set obj = .Columns("A").Find(TextBox1.Text, , , xlWhole) 'adapter colonne
If Not obj Is Nothing Then MsgBox "Cet article existe déjà!", vbCritical, "Ajout d'article": Exit Sub
 .Range("A" & DerniereLigneUtilisee).Value = TextBox1.Text ' ajout d'article
  Set obj = .Columns("L").Find(TextBox2.Text, , , xlWhole) 'adapter colonne
If Not obj Is Nothing Then MsgBox "Ce magasin existe déjà!", vbCritical, "Ajout de magasin": Exit Sub
 .Range("L" & DerLigne).Value = TextBox2.Text ' ajout de magasin
End With
End Sub


@+ Le Pivert