"different de" et format de valeur

ludolato

XLDnaute Nouveau
bonjour a tous

2 problemes se posent a moi :

- je voudrais savoir comment on fait pour traduire 'different de' quand il s'agit d'une valeur sous forme de texte ?

exemple : if [valeur de ma cellule] different de "bonjour" then .....
ca marche pas avec <> :lol:

ensuite , j'ai crée une textbox a remplir ,dont la valeur ne doit etre que sous la forme '4 chiffres et 1 lettre
exemple : 1111A ou 1234B ou 2256A etc etc etc

j'ai trouvé ca :

If TextBox1.Value = Format(TextBox1.Value, "####" & "a") Then MsgBox "c'est bon" Else MsgBox "faux": Exit Sub

mais ca considere que la valeur est bonne meme si elle ne comporte pas 4 chiffres
(en gros , ca marque que c'est bon si je tape 12C ,alors que ca ne l'est pas ::~ )

des idées?
 

Victor21

XLDnaute Barbatruc
Re : "different de" et format de valeur

Bonjour, ludolato.

if [valeur de ma cellule] different de "bonjour" veut aussi dire if not[valeur de ma cellule] = à "bonjour"
Pour la longueur de la valeur dans le textbox : voir len(
 

ludolato

XLDnaute Nouveau
Re : "different de" et format de valeur

merci a toi patrick !

"if not" .... tout simplement !
désolé ,je débute dans excel et ne connais pas encore beaucoup de formules valides
(je n'aurais jamais pensé que "if not" puisse marcher :eek:)

en ce qui concerne Len ,je vais tester , en espérant que ca ne prenne pas seulement en compte la longueur de la valeur

je te tiens au courant

encore merci
 

Victor21

XLDnaute Barbatruc
Re : "different de" et format de valeur

Re,
... en ce qui concerne Len ,je vais tester , en espérant que ca ne prenne pas seulement en compte la longueur de la valeur...
Hélas si, je n'avais pas lu assez attentivement.
:eek:
Il faudra tester si les 4 premiers caractères sont numériques, et si celui de gauche est alpha.

Je n'ai plus le temps ce soir. Si ton pb persiste, reviens, et je regarderai demain.
 

Pierrot93

XLDnaute Barbatruc
Re : "different de" et format de valeur

Bonjour,

essaye ceci à utiliser dans le module de la feuille concernée ou dans le module de l'usf, selon où est placé le textbox :

Code:
Option Explicit
Private Sub TextBox1_LostFocus()
If Len(TextBox1) < 5 Then GoTo message
If Not IsNumeric(Mid(TextBox1.Value, 1, 4)) Or IsNumeric(Mid(TextBox1.Value, 5)) Then GoTo message
Exit Sub
message: MsgBox "saisie incorrecte..."
End Sub

A noter avec ce code, la propriété "MaxLength" du contrôle doit être valorisée à 5...

bonne journée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : "different de" et format de valeur

Re,

pour un contrôle placé sur un usf, utiliser l'événement "exit" bien sur :
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1) < 5 Then GoTo message
If Not IsNumeric(Mid(TextBox1.Value, 1, 4)) Or IsNumeric(Mid(TextBox1.Value, 5)) Then GoTo message
Exit Sub
message: MsgBox "saisie incorrecte..."
Cancel = True
End Sub
 

ludolato

XLDnaute Nouveau
Re : "different de" et format de valeur

apparemment il y a ca aussi :

If Me.TextBox1 Like "####[a-z,A-Z]" Then......

ca marche aussi . je le met ici ,comme ça les futurs lecteurs de ce topic auront plusieurs solutions a ce probleme

merci a tous en tout cas
 

Discussions similaires

Statistiques des forums

Discussions
312 145
Messages
2 085 761
Membres
102 965
dernier inscrit
Mael44