Problème de critères

  • Initiateur de la discussion Initiateur de la discussion tallia64
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tallia64

XLDnaute Occasionnel
bonsoir je travaille sur un code qui me permet de retrouver des personnes dans une liste, selon certains critères. Les critères dans mon formulaire sont les suivants :

RaisonSociale format RaisonSociale = UCase(RaisonSociale )
Titre format Titre = UCase(Titre )
Nom format Nom = UCase(Nom )
Prénom format Prenom = UCase(Prenom )
DateDeNaissance format DateDeNaissance.MaxLength = 8

Quand je lance mon application sans le critère DateDeNaissance mon application fonctionne parfaitement dès que je rajoute le critère DateDeNaissance elle n'effectue plus la recherche et je ne comprends pas pourquoi. Voici mon code en espérant que vous puissiez m'aider. Je vous en remercie d'avance pour votre aide car je dois présenter cette application cette semaine. Bonne soirée.
Tallia🙂



Private Sub liste_noire_Click()

Dim DerLig As Long, lig As Long
Dim VRaisonsociale As String, VTitre As String, VNom As String, VPrenom As String, VDateDeNaissance As String
' Récupérer le numéro de ligne sur laquelle on se trouve
lig = ActiveCell.Row

' Mémoriser la raison sociale, le titre, le nom,le prénom, la date de naissance de la ligne sélectionnée

VRaisonsociale = ActiveSheet.Range("A" & lig).Value
VTitre = ActiveSheet.Range("B" & lig).Value
VNom = ActiveSheet.Range("C" & lig).Value
VPrenom = ActiveSheet.Range("D" & lig).Value
VDateDeNaissance = ActiveSheet.Range("E" & lig).Value

' Vérifier l'existence d'une raison sociale nom et prénom sur la ligne

If VRaisonsociale = "" And VTitre = "" And VNom = "" And VPrenom = "" And VDateDeNaissance = "" Then
MsgBox "Merci de selectionner une ligne avec un titre un nom et prénom et une date de naissance"
Exit Sub
End If

' Effectuer une recherche de doublon

If NbVSearch(VRaisonsociale, VTitre, VNom, VPrenom, VDateDeNaissance) > 0 Then
If MsgBox("Attention cette personne fait déjà partie de la liste !" & vbCrLf & vbCrLf _
& "Voulez-vous continuer ?", vbQuestion + vbYesNo, "ATTENTION ...") = vbNo Then
'AJOUT.Hide
End If
ActiveSheet.Range("A" & lig & "😛" & lig).Interior.ColorIndex = 3
End If
end sub


Function NbVSearch(RaisonSociale As String, TITRE As String, NOM As String, PRENOM As String, DateDeNaissance As String)
Dim myformule As String


myformule = "SUMPRODUCT((liste_noire!$A$2:$A$65535=""" & RaisonSociale & """)*(liste_noire!$B$2:$B$65535=""" & TITRE & """)*(liste_noire!$C$2:$C$65535=""" & NOM & """)*(liste_noire!$D$2:$D$65535=""" & PRENOM & """)*(liste_noire!$E$2:$E$65535=""" & DateDeNaissance & """))"
NbVSearch = Application.Evaluate(myformule)
' si la raison sociale est vide
If RaisonSociale = "" Then
myformule = "sumproduct((liste_noire!$B$2:$B$65535=""" & TITRE & """)*(liste_noire!$C$2:$C$65535=""" & NOM & """)*(liste_noire!$D$2:$D$65535=""" & PRENOM & """)*(liste_noire!$E$2:$E$65535=""" & DateDeNaissance & """))"
End If
End Function
 
Re : Problème de critères

Bonsoir,

Pas compris grand chose, il faudrait que tu postes ton fichier mais essaie ceci :

VDateDeNaissance As Long

VDateDeNaissance = ActiveSheet.Range("E" & lig).Value2
 
Dernière édition:
Re : Problème de critères

Bonsoir merci pour votre aide. Je viens d'essayer votre code mais cela ne fonctionne pas. je voulais vous transmettre mon fichier mais le souci est qu'il est trop lourd ? j'ai essayé de créer un lien avec cjoint.com mais sans succès je vais essayer de trouver un autre moyen
tallia64
 
Re : Problème de critères

RE,
OUi j'ai essayé mais sans succès à moins que je le place mal. je pense que ça vient de ces lignes de codes

' Effectuer une recherche de doublon

If NbVSearch(VRaisonsociale, VTitre, VNom, VPrenom, VDateDeNaissance) > "" Then
If MsgBox("Attention cette personne fait déjà partie de la liste !" & vbCrLf & vbCrLf _
& "Voulez-vous continuer ?", vbQuestion + vbYesNo, "ATTENTION ...") = vbNo Then
'AJOUT.Hide
Quand je lui marque > "" il me récupère toutes les lignes sans faire la rechercher par critère. Merci pour votre aide
Tallia
 
Re : Problème de critères

Salut,

problème ici sans doute :
Code:
ActiveSheet.Cells(index, 13) = VEHICULE
ActiveSheet.Cells(index, 14) = TextBox12
ActiveSheet.Cells(index,[COLOR=Red][B] 5[/B][/COLOR]) = TextBox16
ActiveSheet.Cells(index, 7) = toto
ActiveSheet.Cells(index[COLOR=Black], [COLOR=Blue][B]5[/B][/COLOR])[/COLOR] = DateDeNaissance
ActiveSheet.Cells(index, 14) = ComboBox2
remplace 5 par 15

Tu aurais intérêt à faire le ménage. On peut réduire pas mal de lignes !
 
Re : Problème de critères

Bonsoir fo rum merci pour votre aide mais ça ne fonctionne pas il ne me récupère pas les personnes de la liste noire. Je sais que mon code a beaucoup de ligne désolée je débute en vba. Merci pour votre compréhension
tallia64
 
Re : Problème de critères

ok je viens de faire le step by step tout se déroule bien il ne met pas d'erreur mais ne fait toujours pas le test sur la liste noire ?? Je ne sais plus quoi penser. Je pensais peut être que la ligne de code de la recherche doublon a un souci ou ? voici le code :
' Effectuer une recherche de doublon

If NbVSearch(VDateDeNaissance, VRaisonsociale, VTitre, VNom, VPrenom) > 0 Then
If MsgBox("Attention cette personne fait déjà partie de la liste !" & vbCrLf & vbCrLf _
& "Voulez-vous continuer ?", vbQuestion + vbYesNo, "ATTENTION ...") = vbNo Then
'AJOUT.Hide
End If
ActiveSheet.Range("A" & lig & "😛" & lig).Interior.ColorIndex = 3
End If


Je vous remercie d'avance pour votre aide et votre patience. je dois rendre mon application cette semaine et c'est mal parti. Bonne soirée
tallia64
 
Re : Problème de critères

Bonjour,

Je voudrais bien t'aider mais ton fichier est une usine à gaz.
Comme je l'ai demandé plusieurs fois, il faut que tu donnes un contexte de test => comment utiliser ton fichier, que faut il faire pour comprendre et reproduire le probleme que tu rencontres.
Ou bien, il faudrait que tu isoles ton probleme (dans un autre fichier).

Dans ce que j'ai pu tester, NbVSearch n'a pas l'air de traiter la date.
Je ne sais pas non plus si c'est la meilleure méthode.
Il y a des dates encore en String dans NbVSearch. Il faudrait tester en format date (cf posts precedents).

Pour finir, à la fermeture du fichier je rencontre des gros problemes de ressources et Excel plante.... 🙁
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
272
Réponses
2
Affichages
467
Réponses
3
Affichages
300
Réponses
3
Affichages
589
Retour