cyberall80
Messages postés27Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention25 juillet 2008
-
23 juil. 2008 à 16:45
cyberall80
Messages postés27Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention25 juillet 2008
-
25 juil. 2008 à 08:37
Bonjour a tous,
Voila je fais une requete :
rsMaDb.Open "SELECT code_produit, libelle_produit, Nom_fournisseur, type_produit, qte_stock, seuil_alerte FROM produits where ((produits.domaine_produit) like '" & Tmp_CB_categorie & "') and ((produits.Nom_fournisseur) like '" & Tmp_CB_fournisseur & "') ;", cnMaDb, adOpenKeyset, adLockBatchOptimistic
ça alimente une MSHFlexGrid
Je voudrai que l'affichage de la ligne soit en rouge quand qte_stock<seuil_alerte
Je fais ce code là, mais juste la 1ere instance se trouve en rouge
Dim iPnt As Integer
For iPnt = 1 To MSHFlexGrid.Rows - 1
If MSHFlexGrid.TextMatrix(iPnt, 4) < MSHFlexGrid.TextMatrix(iPnt, 5) Then
MSHFlexGrid.Col = 4
MSHFlexGrid.CellForeColor = &HFF&
End If
Next
MSHFlexGrid.Refresh
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 23 juil. 2008 à 18:59
Salut,
il faut se positionner sur la ligne..
Dim iPnt As Integer
For iPnt = 1 To MSHFlexGrid.Rows - 1
If MSHFlexGrid.TextMatrix(iPnt, 4) < MSHFlexGrid.TextMatrix(iPnt, 5) Then
MSHFlexGrid.Row = iPnt
MSHFlexGrid.Col = 4
MSHFlexGrid.CellForeColor = &HFF&
End If
Next
<strike> MSHFlexGrid.Refresh
</strike>
<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
cyberall80
Messages postés27Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention25 juillet 2008 24 juil. 2008 à 11:55
Bonjour,
Bon après bien des recherches, je me suis aperçu que seul le signe '=' ou '<>' marche dans ce code.
<!-- BEGIN TEMPLATE: bbcode_code -->
Code :
If MSHFlexGrid.TextMatrix(iPnt, 4) = MSHFlexGrid.TextMatrix(iPnt, 5)
<!-- END TEMPLATE: bbcode_code -->J'en deduis donc qu'il récupere des valeurs texte et non numériques alors que je lui demande un '<' donc ça ne marche pas.
Question, comment extraire le code ASCII de mon (iPnt, 4) et (iPnt, 5)
cyberall80
Messages postés27Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention25 juillet 2008 24 juil. 2008 à 13:57
Trouvé,
C'est le Cint qui me génait.
Voici le code au cas ou ça interesse quelqu'un
Dim iPnt As Integer
For iPnt = 1 To MSHFlexGrid.Rows - 1
MSHFlexGrid.Row = iPnt
If CInt(MSHFlexGrid.TextMatrix(iPnt, 4)) <= CInt(MSHFlexGrid.TextMatrix(iPnt, 5)) Then
MSHFlexGrid.Col = 4
MSHFlexGrid.CellForeColor = &HFF&
End If
Next
Vous n’avez pas trouvé la réponse que vous recherchez ?
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 24 juil. 2008 à 20:58
Bonsoir, Bien vu pour la conversion en Integer.
Seulement il faudra faire attention aux cellules qui peuvent être vides.(sans parler du fait que le contenu ne peut être que des chiffres)
CInt("") **==>Erreur !
Deux solutions au choix :
-Avant de comparer
1° On Error Resume Next tout au début.
2° Ou bien instaurer un test
Dim iPnt As Integer
For iPnt = 1 To MSHFlexGrid.Rows - 1
MSHFlexGrid.Row = iPnt
If (MSHFlexGrid.TextMatrix(iPnt, 4)) <>"" And _(MSHFlexGrid.TextMatrix(iPnt, 5))<>"" Then
If CInt(MSHFlexGrid.TextMatrix(iPnt, 4)) <= CInt(MSHFlexGrid.TextMatrix(iPnt, 5)) Then
MSHFlexGrid.Col = 4
MSHFlexGrid.CellForeColor = &HFF&
End If
End If
Next
<hr />... Y'en a même qui disent qu'ils l'ont vu voler.