Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005
-
20 mai 2005 à 11:34
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005
-
20 mai 2005 à 12:55
bonjour à tous,
j'ai un problème concernant une comparaison de string en VB6.
je demande à l'utilisateur de choisir le nom d'un mois (en anglais) et d'après le choix, je recherche ce mois (dont les 3 premières lettres en français sont 'fev') dans une feuille excel. donc j'ai le code suivant:
Dim Row As Integer
If RealizationMonth.Value = "february" Then
Row = 1119
For Row = 1119 To 1130
If CStr(Val(Mid(Range("H" + CStr(Row)), 1, 3))) = "fev" Then
MsgBox "trouvé"
Else
MsgBox "pas trouvé"
End If
Next
End If
dans ce code, 'fev' existe bien dans l'intervalle des lignes vérifiées et pourtant, la message box affiche toujours 'pas trouvé'... d'où cela peut bien venir?
merci de votre réponse parce que je suis vraiment dans la mouise si je trouve pas de solution.... (et c'est un euphémisme)
gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 20182 20 mai 2005 à 12:24
Bonjour,
Deja avec un test comme tu le fais y a aucune change que cela fonctionne.
Rien quavec la conversion Val() tu convertis ta chaîne de caractère en une valeur qui comme tu le dit pour moi sera obligatoirement = 0. Apres avec CStr() tu la remet en String qui sera donc 0
Fait un premier test en écrivant la ligne suitante
If CStr(Val(Mid(Range("H" + CStr(Row)), 1, 3))) = "0" Then
MsgBox "trouvé"
Else
MsgBox "pas trouvé"
End If
Et maintenant juste avant ce test écrit cela pour que tu comprenne bien dou viens lerreur.
Msgbox (LCase(Mid Range("H" + CStr(Row)), 1, 3)))
Avec tout cela tu connaît ton erreur et tu peux la corrige Et si tu vois toujours pas cest
If
LCase(Mid Range("H" + CStr(Row)), 1, 3))
= "0" Then
MsgBox "trouvé"
Else
MsgBox "pas trouvé"
End If
Une toute derniere chose retire "Row = 1119" sa sert a rien dans ce code vu que ton for commence a cette valeur...
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005 20 mai 2005 à 12:55
c'est bon j'ai trouvé la solution...
la syntaxe était pas bonne et y'avait des problèmes de format de date (je travaille avec des dates qui des fois sont sous format date et des fois en format standard de cellules... c'est un peu le binz dans ce tableau excel...)
merci de vos réponses!