Verifier que la valeur textbox n'existe pas déjà

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
N
Nismo
Membre habitué
Membre habitué
Messages : 113
Inscrit le : 11 août 2015
Version d'Excel : 2010

Message par Nismo » 2 janvier 2019, 10:31

BONJOUR
Je souhaite vérifier que la valeur inclue dans ma textRaison( TextBox) ne soit pas déjà existante dans la colonne F, si oui j'empêche la validation
Hors le message s'affiche si la valeur ressemble de près ou de loin à une des valeurs de la colonnes, comment faire pour qu'il ne s'agisse que tu cas où la valeur est exactement la même,
en plus si il s'agit d'un nom composé exemple : SARL SSK la macro le valide si c'stait seulement SSK la macro ne valide pas !!
en colonne "A" j'ai le nom des distributeurs avec lesquels le client est en contrats je voudrais aussi que le message m'indique en cas de redondance le nom du distributeur intial
Merci d'avance !
Private Sub TxtRaison_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
 
Dim rg As Range

If TxtRaison.Text = "" Then
Exit Sub
End If
Set rg = Sheets("TRI avec code client").Range("F2:F319").Find(Replace(TxtRaison, " ", vbNullString))
 
If Not rg Is Nothing Then
 
    MsgBox "Le client existe déja"
    Cancel = True
 
End If
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 6'898
Appréciations reçues : 694
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 2 janvier 2019, 10:59

Bonjour Nismo,

bonne année 2019:trfl:

je te propose ce code VBA :
Private Sub TxtRaison_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
  Dim chn$, rg As Range
  chn = Replace$(TxtRaison.Text, " ", ""): If chn = "" Then Exit Sub
  Set rg = Worksheets("TRI avec code client").[F2:F319].Find(chn, , -4163, 1, 1)
  If Not rg Is Nothing Then MsgBox "document existant": Cancel = True
End If
note qu'avec le Replace$(), ça enlève tous les espaces, même ceux qui sont au milieu du texte ; si tu as besoin d'enlever seulement d'éventuels espaces à gauche et à droite, met à la place : chn = Trim$(TxtRaison.Text) ; si y'a jamais d'espaces à gauche et que tu as besoin d'enlever seulement d'éventuels espaces à droite, met : chn = RTrim$(TxtRaison.Text)

dhany
N
Nismo
Membre habitué
Membre habitué
Messages : 113
Inscrit le : 11 août 2015
Version d'Excel : 2010

Message par Nismo » 2 janvier 2019, 11:06

coucou dhany Bonne Année 2019,
j'ai essayé ton code ça marche pas :( , pour les noms simple ex: SSK la macro réagit
mais pour les noms composés genre SARL SSK elle valide même si le nom existe
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 6'898
Appréciations reçues : 694
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 2 janvier 2019, 11:08

alors essaye avec : .Find(chn, , -4163, 2, 1)

dhany
N
Nismo
Membre habitué
Membre habitué
Messages : 113
Inscrit le : 11 août 2015
Version d'Excel : 2010

Message par Nismo » 2 janvier 2019, 11:11

rien aussi ça valide
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 6'898
Appréciations reçues : 694
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 2 janvier 2019, 11:18

ben là, j'pige pas, car le 2 qui remplace le 1 signifie xlPart au lieu de xlWhole ; donc ça trouve "SSK" même s'il fait partie d'un texte plus long, comme "SARL SSK".

dhany
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 6'898
Appréciations reçues : 694
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 2 janvier 2019, 11:28

pour t'aider davantage, il faudrait ton classeur (sans données confidentielles) ; pour cela, tu peux utiliser le bouton « Ajouter des fichiers » qui est situé juste sous la fenêtre d'édition de ton post.

dhany
N
Nismo
Membre habitué
Membre habitué
Messages : 113
Inscrit le : 11 août 2015
Version d'Excel : 2010

Message par Nismo » 3 janvier 2019, 10:41

coucou dhany :lol:
le fichier etait trop volumineux
j'ai joint une version "Light" :lol:
Test 2019.xlsm
(985.21 Kio) Téléchargé 14 fois
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 6'898
Appréciations reçues : 694
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 3 janvier 2019, 12:01

Screen.jpg
Screen.jpg (41.97 Kio) Vu 187 fois
ben euh, j'vois pas bien en quoi il est allégé.  :lole:

dhany
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message