Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

format de caractères dans textbox

news

XLDnaute Impliqué
Bonjour à tous du forum,

Dans un Userform, je ne sais pas comment définir que si les 4 caractères ("légu" ou "bièr") se trouvent dans le text mis dans la Textbox, alors renvoi d'une Msgbox("format invalide").

p.ex.: "les tomates et oignons sont des légumes" ou "il y a beaucoup de sortes de bières", >> Msgbox(format invalide")

J'utilise le vba code suivant, mais il y du bug ou ne résoud pas complètement:

If Mid(TextBox2.Value, 1, 4) = "légu" Or Mid(TextBox2.Value, 1, 4) = "bièr"
Or Mid(TextBox2.Value, 2, 4) = "légu" Or Mid(TextBox2.Value, 2, 4) = "bièr" Then Msgbox("format invalide")
Elseif Find(TextBox2.Value) = "légu" Or Find(TextBox2.Value) = "bièr" Then Msgbox("format invalide")


Comment résoudre ?

news
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : format de caractères dans textbox

Bonjour news, Papou, le forum,

Ce n'est pas un problème de Then Papou

Find n'existe pas tout seul en VBA.

Si vous voulez l'équivalent de TROUVE dans une feuille de calcul (qui respecte la casse), il faut écrire (2 arguments) :

Code:
If IsNumeric([COLOR="Red"]Application.[/COLOR]Find("légu", TextBox2.Value)) Or IsNumeric([COLOR="Red"]Application.Find[/COLOR]("bièr", TextBox2.Value)) Then MsgBox ("format invalide")

ou plus simplement :

Code:
If TextBox2 Like "*légu*" Or TextBox2 Like "*bièr*" Then MsgBox ("format invalide")


Si la casse n'a pas d'importance (équivalent de CHERCHE) :

Code:
If IsNumeric(Application.[COLOR="Red"]Search[/COLOR]("légu", TextBox2.Value)) Or IsNumeric(Application.[COLOR="Red"]Search[/COLOR]("bièr", TextBox2.Value)) Then MsgBox ("format invalide")

Edit : salut Staple et pierrejean OK pour InStr (qui respecte la casse).

A+
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : format de caractères dans textbox

Bonjour



A tester

Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim s$
s = TextBox1.Text
If InStr(s, "légu") Or InStr(s, "bièr") Then
MsgBox "format invalide"
End If
End Sub
 

news

XLDnaute Impliqué
Re : format de caractères dans textbox

Bonjour à tous du forum,

merci Staple1600, pierrejean, job75, Paritec pour réponses

j'ai testé les différentes propositons et ils foncgtionnent bien,

bon dimanche encore,

news
 

news

XLDnaute Impliqué
Re : format de caractères dans textbox

Bonjour à tous du forum,

merci Staple1600, pierrejean, job75, Paritec pour réponses

j'ai testé les différentes propositions et ils fonctionnent bien,

bon dimanche encore,

news
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…