Vérifier si dernier mot saisi dans textbox existe dans la plage

zombe

XLDnaute Occasionnel
Salut le forum

Dans certains textbox(textbox5:textbox7 de mon usf, je dois saisir un ensemble de mot + un mot qui doit exister dans la plage PARAME!G3:G181.
Exemple : si j'écris dans dans l'un des textbox secteur 4, je dois ajouter un mot de la plage désignée; ce qui donnerai par exemple secteur 4 Beninoise. Ici le dernier mot saisi = beninoise.
Si le dernier mot saisi n'existe pas dans la plage, je souhaite que le msgbox du genre "Mot saisi inexistant merci de réessayer"
 

Pièces jointes

  • Interfacage.xlsm
    207.1 KB · Affichages: 54
  • Interfacage.xlsm
    207.1 KB · Affichages: 55
  • Interfacage.xlsm
    207.1 KB · Affichages: 55

Gurgeh

XLDnaute Occasionnel
Re : Vérifier si dernier mot saisi dans textbox existe dans la plage

Salut zombe,

Tu devrais pouvoir t'en sortir avec les deux fonctions suivantes :

Code:
Function DernierMot(Chaîne As String) As String
    'On utilise la fonction InStrRev qui permet de trouver la position d'une chaîne dans une autre en partant de la fin
    'En l'occurence, on regarde la position du dernier espace
    PositionDernierEspace = InStrRev(Chaîne, " ", -1, vbTextCompare)
    'Et on ne garde que les caractères qui se trouvent après ce dernier espace
    DernierMot = Right(Chaîne, Len(Chaîne) - PositionDernierEspace)
End Function

Cette fonction te renvoie le dernier mot d'une chaîne (tous les caractères derrière le dernier espace)

et


Code:
Function EstDansListe(MotAChercher As String) As Boolean
    'On utilise la fonction Find pour savoir si le mot à chercher fait bien partie de la liste en colonne G
    Set c = Sheets("PARAME").Columns(7).Find(MotAChercher, LookIn:=xlValues)
    'Et si c'est le cas la fonction renvoie vrai
    EstDansListe = Not (c Is Nothing) And (MotAChercher <> "")
End Function

Cette fonction teste si une chaîne est présente dans la colonne 7 de la feuille PARAME

En combinant les deux et en faisant un test à la fin de la saisie tu devais pouvoir afficher le message que tu veux.

Gurgeh
 

Discussions similaires

Statistiques des forums

Discussions
312 364
Messages
2 087 624
Membres
103 624
dernier inscrit
PhilduMorvan