Problème de filtre dans une textbox

Bonjour,

Je rencontre quelques problèmes concernant la mise en place d'un filtre dans une textbox ne laissant pas la possibilité à l'utilisateur de saisir des données autres que "0123456789.-".

Dans le fichier Excel joint, le filtre fonctionne bien mais je n'arrive pas à renvoyer exactement la valeur saisie dans la textbox de la "Valeur A" vers le fichier Excel (à l'inverse, la "Valeur B" qui ne dispose pas de filtre renvoie la valeur exact).

Je suis bien bloqué donc si quelqu'un a une petite idée ça me dépannerai bien

Merci beaucoup !

Morgan

17classeur1.xlsm (24.13 Ko)

Bonjour

Essayes

Option Explicit

Private Sub TextBox1_Change()
If TextBox1 = "" Then TextBox1.BackColor = 10092543
If TextBox1 <> "" Then TextBox1.BackColor = 13434828

'Renvoi "TextBox1" vers fiche Feuil1'

    Sheets("Feuil1").Range("B2") = TextBox1

End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   If InStr("0123456789.-", Chr(KeyAscii)) = 0 Then KeyAscii = 0: Beep
End Sub

Private Sub TextBox2_Change()

  If TextBox2 = "" Then TextBox2.BackColor = 10092543
  If TextBox2 <> "" Then TextBox2.BackColor = 13434828

  'Renvoi "TextBox2" vers fiche Feuil1'

    Sheets("Feuil1").Range("B4") = TextBox2

End Sub

Merci beaucoup ça marche au poil

Bonne soirée !

Juste une dernière petite question^^ Est-ce que quelqu'un sait comment ajouter en plus du filtre précédent les conditions suivantes sur la textbox1:

-30 < valeur(textbox1) < +70 et la condition faisant que la la valeur saisie pas l'utilisateur dans la textbox1 soit un multiple de 5.

Les choix des valeurs prisent par la textbox1 seront donc limitées aux valeurs suivantes: -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70.

Merci d'avance

Morgan

Bonjour

Un essai

Rajoutes cette procédure

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Nbre As Integer
  If Me.TextBox1 = "" Then Exit Sub
  Nbre = Val(Me.TextBox1)
  If Nbre Mod 5 = 0 And Nbre >= -30 And Nbre <= 70 Then Exit Sub
  MsgBox "Valeur non conforme"
  Me.TextBox1 = ""
End Sub

Bonjour, merci j'ai essayé mais cela ne fonctionne pas :/

Bonjour

Joins ton fichier en cause

Rechercher des sujets similaires à "probleme filtre textbox"