Curieux probleme de selection Select Case

Spock

XLDnaute Occasionnel
Bonjour,

Je suis en forme aujourd'hui.
Quoique, si je trouve pas de solution, c'est que ne dois être en forme du tout.
Bref :

Dans un select case, ci après, bien que les deux valeurs soient différente, 'il' ne passe pas pas le 'MsgBox'. Bizarre !



Case testpseudo <> TextBox2.Value
MsgBox 'ok'

Le testpseudo = 'Benoit'
Le TextBox2.value = 'pfffff'
C'est confirmé par les espions etc.... Pourtant pas de Msgbox ???


Une idée ?

Merci !

Message édité par: Spock, à: 23/08/2005 20:13

Message édité par: Spock, à: 23/08/2005 21:41
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:Curieux (en attente de solution)

Bonjour Mr Spock, Dan, le Forum

Non Dan si on met '=' pour une MsgBox on va se faire attraper par le debuger VBA...

Par contre pour ça aussi on devrait se faire attraper par le méchant debuger...

Case testpseudo <> TextBox2.Value

Car en fait un 'Case' n'est que la Projection 'au cas par cas' de la Valeur qu'il doit vérifier et qui lui a été attribué au moment du 'Select Case'...

Par conséquent je t'orienterai plutot vers une syntax plus conventionnelle de la sorte :

Option Explicit

Private Sub CommandButton1_Click()
&nbsp; &nbsp; DrMcCoy
End Sub

Sub DrMcCoy()
Dim TestPseudo As String
TestPseudo = 'Benoit'

&nbsp; &nbsp;
Select Case TestPseudo
&nbsp; &nbsp; &nbsp; &nbsp;
Case Is <> TextBox2.Value
&nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'ok'
&nbsp; &nbsp; &nbsp; &nbsp;
Case Is = TextBox2.Value
&nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Not Ok'
&nbsp; &nbsp;
End Select

End Sub


Ou encore plus directe :

Sub DrMcCoy()
Dim TestPseudo As String
TestPseudo = 'Benoit'

&nbsp; &nbsp;
Select Case TestPseudo
&nbsp; &nbsp; &nbsp; &nbsp;
Case Is = TextBox2.Value
&nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Not Ok'
&nbsp; &nbsp; &nbsp; &nbsp;
Case Else
&nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'ok'
&nbsp; &nbsp;
End Select

End Sub


Maintenant si ce n'est pas ce que tu cherches, je pense qu'un simple 'If' devrait suffir... Mais tu n'as pas vraiment donné beaucoup de détails.


Bonne Soirée
[ol]@+Thierry[/ol]
 

Celeda

XLDnaute Barbatruc
Re:Curieux (en attente de solution)

Bonjour,

bon ben voilà Titre nul, je ne suis pas d'accord!!!


et pourtant spock a lu la charte !!!

et on continue dans des posts qui en plus maintenant vont s'écrire

' en attente de solution'

oilà on vient d'ouvrir encore une nouvelle porte !!!

non

non


de non

Celeda
 

Spock

XLDnaute Occasionnel
Re:Curieux (en attente de solution)

Bonjour Celeda,

J'ai lu votre sujet sur votre 'salon de thé' a propos des statuts des questions.
Du genre résolu ou pas. Il semblait clairement y avoir un interet, mais pas de solution.

Ceci explique le titre.

Je vais encore me faire 'ramasser' par toi, mais bon, je rappelle que je suis personnellement admin d'un forum depuis 2 ans ( + de 100.000 messages). Je partage donc mon expérience sur les forums que j'admire. Celui ci en fait partie.

99.00 % de mes initiatives ont été retenues.

Avant de te connaitre, j'étais à 99.99 % ;)

C'est vraiment une si mauvaise idée que ça ?
 

Spock

XLDnaute Occasionnel
Re:Curieux (en attente de solution)

Re bonjour,
Revenons au schmilblick

Le but est de refuser le texte de ('feuil1').TextBox1.Value si le 'value' de ('feuil1').TextBox2 n'existe pas dans les 'Item' de
('feuil1').ListBox2

Bref, c'est un semblant de chat, pour lequel un pseudo 'textbox2' n'as pas le droit de de poster si il n'est pas dans ListBox2.

Il y a encore très peu de variables, mais je le ferai dès que mon prob sera résolu.

Je joint le fichier, très mal fait puisque pas encore terminé.

Private Sub CommandButton1_Click()


texte = Sheets('feuil1').TextBox1.Value
pseudo = Sheets('feuil1').TextBox2.Value

Case TestPseudo <> TextBox2.Value
MsgBox 'ok'


Case 'Benoit'
Exit For

Case 'Shena'
Exit For
Case 'kik83'
Exit For
Case 'fifille33'
Exit For
Case 'xsa_ra'
Exit For
Case 'Arnaud'
Exit For
Case Else
MsgBox 'Pseudo inconnu, opération annulée'
Exit Sub


End Select
Next i
End With



Sheets('feuil1').ListBox1.AddItem pseudo & ' > ' & texte
End Sub [file name=chat.zip size=18233]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/chat.zip[/file]
 

Pièces jointes

  • chat.zip
    17.8 KB · Affichages: 24
  • chat.zip
    17.8 KB · Affichages: 21
  • chat.zip
    17.8 KB · Affichages: 23

Dan

XLDnaute Barbatruc
Re:Curieux (en attente de solution)

re,

D'abord mes excuses pour mon intervention de tout à l'heure en effet l'instruction Msgbox = 'OK' va comme le dit Thierry faire un plantage.
Merci Thierry.
Le Msg fonctionne en VBA mais dans un autre contexte. donc là oublions ce que j'ai écrit.

Maintenant Spoke, je l'avais déjà remarqué mais bon je me suis dit que ton code n'était pas complet.

Il te manque le SELECT CASE dans ta macro ...
Thierry te l'explique pourtant ...

:)
 

Spock

XLDnaute Occasionnel
Re:Curieux (en attente de solution)

Re bonjour,

Merci Dan pour ta réponse pertinante.

Il y a du avoir une 'perte' dans le copier/coller


Private Sub CommandButton1_Click()

texte = Sheets('feuil1').TextBox1.Value
pseudo = Sheets('feuil1').TextBox2.Value
With ListBox2
For i = 0 To .ListCount - 1
TestPseudo = .List(i)
Select Case TestPseudo & TextBox2.Value


Case TestPseudo
Case Is <> TextBox2.Value
MsgBox 'OK'

Case TestPseudo <> TextBox2.Value
MsgBox 'ok'


Case 'Benoit'
Exit For

Case 'Shena'
Exit For
Case 'kik83'
Exit For
Case 'fifille33'
Exit For
Case 'xsa_ra'
Exit For
Case 'Arnaud'
Exit For
Case Else
MsgBox 'Pseudo inconnu, opération annulée'
Exit Sub


End Select
Next i
End With



Sheets('feuil1').ListBox1.AddItem pseudo & ' > ' & texte
End Sub
 

Celeda

XLDnaute Barbatruc
Re:Curieux (en attente de solution)

Bonsoir,

Bon c'est mùa fête,

ecoute spock , si tu es admin d'un forum tu devrais reconnaitre que mettre le bazard dans un forum c'est facile!!

essayer d'y faire don de sa personne c'est autre chose

alors si tu es très fort, tant mieux

parce que moi, je suis quelqu'un qui se remet en question tous les jours donc je te félicite, je n'ai jamais réussi à être sure de moi 24 h sur 24 h !!

tu connais la charte et les titres, donc tu n'as aucune excuse

tu fais de la provoc

tu me trouves,

mais ce que tu ne sais pas, spoke, c'est que je suis prête à m'aplatir pour XLD,

parce que ce n'est pas à toi à qui je peux transmettre quelque chose,

ce sont à tous les autres qui peuvent avoir confiance dans xld :

ici il y a trois joyaux :

l'admiration : y a des soluces (des codes) qui t'amènent vers l'éveil

l'emerveillement : la découverte de ces soluces

la certitude : c'est quand nous avons eu la pratique de ces enseignenements (formules ou codes)

Tu vois la différence où elle se situe ?


Celeda
 

Discussions similaires

Réponses
8
Affichages
756

Membres actuellement en ligne

Statistiques des forums

Discussions
312 636
Messages
2 090 378
Membres
104 512
dernier inscrit
rhks0150