recherche avec 2 conditions

Ataahualpa

XLDnaute Junior
Bonjour a tous

Je fais des enregistrements sur une feuille via un formulaire. Avant l'enregistrement je vérifie si un enregistrement a déjà été effectué. J'arrive à effectuer la vérification pour une condition, mais pour la 2ème conditions j'ai besoin de votre aide.

Merci d'avance
 

Pièces jointes

  • Classeur1.zip
    14.9 KB · Affichages: 31
  • Classeur1.zip
    14.9 KB · Affichages: 31
  • Classeur1.zip
    14.9 KB · Affichages: 33

greg06500

XLDnaute Nouveau
Re : recherche avec 2 conditions

Salut,

Tu peux essayer comme ça :

Code:
Dim doublon As Variant
With Feuil1
For Each doublon In .Range("B2:B" & .Range("A65536").End(xlUp).Row)
If doublon.Text = TextBox2.Text Then
MsgBox "Article déja saisie", vbCritical, "INFORMATION"
TextBox2.Text = ""
End If
Next
End With

@+

GREG
 

Ataahualpa

XLDnaute Junior
Re : recherche avec 2 conditions

Re

Cette solution ne contrôle qu'une condition or ce que je cherche est , si les 2 conditions sont reunis on ne peut faire l'enregistrement.
Ex: Textbox1 et Textbox2 sont présent sur la même ligne dans feuil1, message d'erreur.

A+
 

greg06500

XLDnaute Nouveau
Re : recherche avec 2 conditions

Re

Essai comme ça si ça te convient :

Code:
Private Sub CmdButValider_Click()

Dim doublon As Variant
With Feuil1
For Each doublon In .Range("B2:B" & .Range("A65536").End(xlUp).Row)
If doublon = TextBox2.Text And doublon.Offset(0, -1) = TextBox1.Text Then
MsgBox "Article déja saisie", vbCritical, "INFORMATION"
TextBox1.Text = ""
TextBox2.Text = ""
Exit Sub
End If
Next
End With

Dim Lig As Long

With Worksheets("feuil1")
   Lig = .Range("A65536").End(xlUp)(2).Row
    
    With .Range("A" & Lig)
        .Value = TextBox1
    End With
    
    With .Range("B" & Lig)
        .Value = TextBox2
    End With
    
    With .Range("C" & Lig)
        .Value = TextBox3
    End With
 End With
End Sub

@+
 

Ataahualpa

XLDnaute Junior
Re : recherche avec 2 conditions

Re

J'ai trouvé par une autre méthode. Je n'ai pas testé la seconde solution

Dim VerifDate As Variant
Dim VerifNom As Variant
With Sheets("Enregistrements")
For Each VerifDate In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
If VerifDate = UserForm1.Calendar1.Value Then
For Each VerifNom In .Range("B2:B" & .Range("A65536").End(xlUp).Row)
If VerifNom = Sheets("Tableau").Range("C3") Then
MsgBox "Article déja saisie", vbCritical, "INFORMATION"
End
End If
Next


Merci de tes solutions


A+

End If
Next
End With
 

Discussions similaires

Réponses
8
Affichages
344

Statistiques des forums

Discussions
312 677
Messages
2 090 824
Membres
104 677
dernier inscrit
soufiane12