Verifier si 2 valeurs existantes dans la base

Bonjour à tous,

je m’interroge sur la meilleure façon de procéder et sollicite donc vos avis

J'ai une base de donnée d'établissements et désormais un formulaire d'insertion

Seulement voila lors de l'insertion de nouveau établissement partenaire d'un projet je ne sais pas si ces centres existent déjà dans la base

Aussi j'ai besoin de faire une vérification avant d’insérer une nouvelle ligne.

je dois pouvoir comparer deux choses:

Partner_Name

Partner_Acronym

je ne sais pas trop comment m'y prendre sur deux champs en simultanée mais j'ai commencé comme cela

mais cela doit pouvoir vérifier Partner_Name.value en colonne B et Partner_Acronym.value en colonne C en valeur exacte ou s'en approchant

FindString =  Partner_Name.value

   With Sheets("Partners").Range("B:B")
        Set Rng = .Find(What:=FindString, _
                        After:=.Cells(.Cells.Count), _
                        LookIn:=xlValues, _
                        LookAt:=xlWhole, _
                        SearchOrder:=xlByRows, _
                        SearchDirection:=xlNext, _
                        MatchCase:=False)

                        End with

Aussi j'envisagerais de faire un test sur les valeurs exactes puis celles s'en approchant qui demanderais à l'utilisateur de juger

est ce toutefois la meilleure solution et comment procéder?

Quelqu'un pourrait il me guider svp?

Merci par avance

Bonjour Darkangel

Il y a même des solutions sans VBA

Mais un fichier (appauvri des données critiques) serait le bienvenu

merci

Bonjour Darkangel

Voici une petite fonction VBA si souhaité en VBA

Function TestExiste(Crit1 As String, Crit2 As String)
  Dim sForm As String
  sForm = "COUNTIFS(Partners!B:B,""" & Crit1 & """,Partners!C:C,""" & Crit2 & """)"
  TestExiste = Application.Evaluate(sForm)
End Function

Sub Appel()
  ' Recherche exacte
  Debug.Print TestExiste("Toto", "TA")
  ' Recherche approchante
  Debug.Print TestExiste("Tot*", "T*")
End Sub

@+

Merci Bruno45.

du coup est ce que cette validation serait suffisante?

If (TestExiste(Partner_Name.Value, Partner_Acronym) = 1) Or TestExiste(Partner_Name.Value & "*", Partner_Acronym & "*") = 1  Then

ou est il possible de récupérer la valeur s'en approchant afin de confirmer que l’établissement soit déjà bien là? via vbYESno

Merci par avance

Rechercher des sujets similaires à "verifier valeurs existantes base"