XL 2010 Résolu par pierrejean If a plusieurs critères VBA

reinruof77

XLDnaute Occasionnel
re-bonjour

Voila j'ai ce code pour éviter les doubles saisie

Code:
If Application.WorksheetFunction.CountIf(Range("N:N"), TextBox4.Value) = 2 Then
      
    MsgBox "SAISIE DEJA EFFECTUER "
        End If

mais est t'il possible d'avoir plusieurs critères.
j'ais essayer ça
Code:
 If Application.WorksheetFunction.CountIf(Range("C:C"), ComboBox2.Value) = 2 Then
     If Application.WorksheetFunction.CountIf(Range("F:F"), DTPicker1.Value) = 2 Then
    If Application.WorksheetFunction.CountIf(Range("N:N"), TextBox4.Value) = 2 Then
      
    MsgBox "SAISIE DEJA EFFECTUER "
        End If
        End If
        End If

Mais cela ne fonctionne pas.:mad:

Merci de votre aide
(promis après j’arrête):)
 

pierrejean

XLDnaute Barbatruc
Bonjour à tous
A tester

If Application.WorksheetFunction.CountIf(Range("C:C"), ComboBox2.Value) > 1_
Or Application.WorksheetFunction.CountIf(Range("F:F"), DTPicker1.Value) >1_
Or Application.WorksheetFunction.CountIf(Range("N:N"), TextBox4.Value) >1 Then

MsgBox "SAISIE DEJA EFFECTUEE "

End If
 

Chris24

XLDnaute Impliqué
Re:

Mais c'est bien sûr où ai-je la tête

Code:
Nb= Application.WorksheetFunction.CountIfs(Range("C:C"), ComboBox2.Value) = 2, Range("F:F"), DTPicker1.Value) = 2, Range("N:N"), TextBox4.Value) = 2 ) 
If Nb>0  Then
MsgBox "SAISIE DEJA EFFECTUER "
End If
 

pierrejean

XLDnaute Barbatruc
Re

If Application.WorksheetFunction.CountIf(Range("C:C"), ComboBox2.Value) > 1_
Or Application.WorksheetFunction.CountIf(Range("F:F"), DTPicker1.Value) >1_
Or Application.WorksheetFunction.CountIf(Range("N:N"), TextBox4.Value) >1 Then

MsgBox "SAISIE DEJA EFFECTUEE "
exit sub
End If
 

reinruof77

XLDnaute Occasionnel
heu comment dire cela

finalement ça va pas :(

car si j'ai un critère en double je suis bloquer alors qu'il faut que ce soit les trois en même temps

(si combobox2 ET dtpicker1 ET textbox4) alors message

la quand le combobox2 existe mais pas les autres j'ai le message.
 

reinruof77

XLDnaute Occasionnel
Re:

Mais c'est bien sûr où ai-je la tête

Code:
Nb= Application.WorksheetFunction.CountIfs(Range("C:C"), ComboBox2.Value) = 2, Range("F:F"), DTPicker1.Value) = 2, Range("N:N"), TextBox4.Value) = 2 )
If Nb>0  Then
MsgBox "SAISIE DEJA EFFECTUER "
End If

merci mais j'ai une erreur de syntaxe?

Capture222.PNG
 

reinruof77

XLDnaute Occasionnel
j'ai essayer avec And mais non plus
Code:
If Application.WorksheetFunction.CountIf(Range("C:C"), ComboBox2.Value) > 1 And Application.WorksheetFunction.CountIf(Range("F:F"), DTPicker1.Value) > 1 And Application.WorksheetFunction.CountIf(Range("N:N"), TextBox4.Value) > 1 Then
MsgBox "SAISIE DEJA EFFECTUEE "

Exit Sub
End If
 

Chris24

XLDnaute Impliqué
Et RE:
Code:
Sub test()
Dim Nb As Boolean, Nb1 As Boolean, Nb2 As Boolean
Nb = Application.WorksheetFunction.CountIfs(Range("C:C"), ComboBox2.Value > 1)
Nb1 = Application.WorksheetFunction.CountIfs(Range("F:F"),  DTPicker1.Value > 1)
Nb2 = Application.WorksheetFunction.CountIfs(Range("n:n"), 'TexTbox4.Value > 1)
If  Nb And Nb1 And Nb2 = True Then
MsgBox "toto"
Exit Sub
End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 094
Messages
2 085 242
Membres
102 833
dernier inscrit
Hassna