Debutant, besoin d'aide car pb avec Select Case quand ya du text!

Résolu
pier0
Messages postés
67
Date d'inscription
mardi 19 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005
- 3 août 2005 à 18:26
pier0
Messages postés
67
Date d'inscription
mardi 19 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005
- 4 août 2005 à 11:35
J'ai un prog qui effectue différente taches et j'ai un pb avec Select Case.
Voila un bout de mon code :
************codeVB**************************************************************
Select Case (Worksheets("Résultats de comparaison").Cells(k, 1).Value Case "LUNDI" ' La case contient LUNDI
MsgBox ("ligne=") & k & (" contient") & Worksheets("Résultats de comparaison").Cells(k, 1).Value

Case "MARDI" ' La case contient MARDI
MsgBox ("ligne=") & k & (" contient") & Worksheets("Résultats de comparaison").Cells(k, 1).Value

Case "MERCREDI" ' La case contient MERCREDI
MsgBox ("ligne=") & k & (" contient") & Worksheets("Résultats de comparaison").Cells(k, 1).Value

Case "JEUDI" ' La case contient JEUDI
MsgBox ("ligne=") & k & (" contient") & Worksheets("Résultats de comparaison").Cells(k, 1).Value

Case "VENDREDI" ' La case contient VENDREDI
MsgBox ("ligne=") & k & (" contient") & Worksheets("Résultats de comparaison").Cells(k, 1).Value

Case "SAMEDI" ' La case contient SAMEDI
MsgBox ("ligne=") & k & (" contient") & Worksheets("Résultats de comparaison").Cells(k, 1).Value

Case "DIMANCHE" ' La case contient DIMANCHE"
MsgBox ("ligne=") & k & (" contient") & Worksheets("Résultats de comparaison").Cells(k, 1).Value

Case Else ' Autres valeurs.
MsgBox ("autre cas!ligne=") & k & (" case=") & (Worksheets("Résultats de comparaison").Cells(k, 1).Value)
End Select
*******************************************************************************
En fait mon pb c'est que les MsgBox me retourne des contenus de cellule excel vide (alors qu'en rélité elle contiennent "LUNDI","MARDI"....) et le program ce retrouve tj dans le Case Else!
Est ce que cela provient d'un pb avec le Select Case utilisé avec du texte????
MERCI A L'AME CHARITABLE VOLANT A MON SECOURS!!!!!!!!!!!!!!!!!!

10 réponses

pier0
Messages postés
67
Date d'inscription
mardi 19 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

4 août 2005 à 11:35
Merci les gars pour vos conseils!
La valeur de k était bonne.
En fait le pb é t tout bête!
Le tableau que je traitait était préalablement rempli par un autre bout de code or celui ci était situé après le Case Select donc je testait un tableau vide que je remplissait après...
La solution tte simple a été de placer le Case Select après avoir rempli le tableau et le tour est joué.
Par ailleurs le select case proposé par pcpt ne peut pas s'appliqué car traitement différent selon le jour
Ciao @+
Pier0
3
cs_CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
3 août 2005 à 18:47
Salut,
Le msgbox de ton case else t'affiche quoi ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
3 août 2005 à 18:50
S'il ne t'affiche rien, vérifie la valeur de k.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_chris81
Messages postés
589
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
29 avril 2008
2
3 août 2005 à 18:51
MsgBox ("ligne=" & k & " contient" & Worksheets("Résultats de comparaison").Cells(k, 1).Value

http://www.correzeweb.com
http://www.localetv.com
[ol%28%27http://spaces.msn.com/members/devlog81/%27%29; http://]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MasterHack
Messages postés
586
Date d'inscription
jeudi 18 septembre 2003
Statut
Membre
Dernière intervention
13 février 2008
2
3 août 2005 à 19:55
j'aime po toute ces parenteze moi


Life is short...Learn moreCopy Rights <> Rights to Copy
0
cs_chris81
Messages postés
589
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
29 avril 2008
2
3 août 2005 à 20:25
apres le dernier value ajoute une parenthese car c msgbox ()

http://www.correzeweb.com
http://www.localetv.com
[ol%28%27http://spaces.msn.com/members/devlog81/%27%29; http://]
0
cs_CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
3 août 2005 à 20:52
Je dirais même plus, on voit plusieurs fois :
Worksheets("Résultats de comparaison").Cells(k, 1).Value
De plus, la cellule contient peut-être des espaces avant et/ou après le mot cherché ?
Le mot est peut-être en minuscule ?

Dans ces cas, solution proposée :

Dim tmp As String


tmp = Trim(UCase(Worksheets("Résultats de comparaison").Cells(k, 1).Value))


Select Case tmp
Case "LUNDI" ' La case contient LUNDI
MsgBox "ligne = " & k & " contient " & tmp
Case "MARDI" ' La case contient MARDI
MsgBox "ligne = " & k & " contient " & tmp
Case "MERCREDI" ' La case contient MERCREDI
MsgBox "ligne = " & k & " contient " & tmp
Case "JEUDI" ' La case contient JEUDI
MsgBox "ligne = " & k & " contient " & tmp
Case "VENDREDI" ' La case contient VENDREDI
MsgBox "ligne = " & k & " contient " & tmp
Case "SAMEDI" ' La case contient SAMEDI
MsgBox "ligne = " & k & " contient " & tmp
Case "DIMANCHE" ' La case contient DIMANCHE"
MsgBox "ligne = " & k & " contient " & tmp
Case Else ' Autres valeurs. MsgBox "autre cas!ligne " & k & " case " & tmp
End Select

Mais il n'en reste pas moins qu'il faut être sùr de la valeur de k, j'insiste.

A moins que le mot cherché soit perdu dans un groupe du genre "Le lundi 1 Aout 2005" et là, le select case n'est plus utilisable.

Attendons donc les précisions de pier0.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
50
3 août 2005 à 22:43
salut

et pour raccourcir un peu le select case de CanisLupus :

Select Case tmp
Case "LUNDI","MARDI","MERCREDI","JEUDI","VENDREDI","SAMEDI","DIMANCHE"
MsgBox "ligne = " & k & " contient " & tmp Case Else: MsgBox "autre cas!ligne " & k & " case " & tmp
End Select

PCPT
0
cs_CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 mars 2006
18
3 août 2005 à 23:06
OK avec toi pour l'optimisation mais je n'ai pas osé aller jusque là sans connaitre le but de .


Des fois qu'il veuille faire un traitement différent suivant le nom des jours !?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
50
3 août 2005 à 23:25
oui, à vouloir trop condenser...
PCPT
0