Changement de couleur de ligne vba [Résolu]

erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 08:03 - Dernière réponse : erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention
- 20 mai 2009 à 15:03
Bonjours a tous!
Mon problème est que dans mon datagrid je ne parviens pas a mettre en rouge les ligne ou il y a oui dans un certain item!
Après la simulation vb me dit que l'index est hors limite!
Voici ma "fonction" qui devrait le faire en un clic mais non!
Si quelqu'un peu m'aider!?.

Dim i = DataGridView1.Rows.Count
Dim x = 0
Do
If DataGridView1.Rows(x).Cells.Item(7).ToString = "OUI" Then
DataGridView1.Rows(x).DefaultCellStyle.BackColor = Color.Red
End If
x = x + 1

Loop While x = i - 1
Afficher la suite 

Votre réponse

30 réponses

Meilleure réponse
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 mai 2009 à 13:59
3
Merci
dans le Header ?

je te parles d'un

Messagebox.Show DataGridView1.Rows(x).Cells.Item(7).Value.ToString()

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de Renfield
Meilleure réponse
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 14:19
3
Merci
Sa y est, j'ai trouvé grâce a toi!!!! Il manquais le mot value dans le "IF" merci infiniment!!!!




For x As Integer = 0 To DataGridView1.Rows.Count - 1
MessageBox.Show(DataGridView1.Rows(x).Cells.Item(5).Value.ToString())
If DataGridView1.Rows(x).Cells.Item(5).Value.ToString = "OUI" Then
DataGridView1.Rows(x).DefaultCellStyle.BackColor = Color.Red
End If
Next x

Merci erokage 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de erokage
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 mai 2009 à 09:31
0
Merci
pourquoi utiliser une boucle Do...While ?
(ta condition de sortie est fausse, d'ailleurs)

For x As Integer = 0 To DataGridView1.Rows.Count -1
If DataGridView1.Rows(x).Cells.Item(7).ToString = "OUI" Then
DataGridView1.Rows(x).DefaultCellStyle.BackColor = Color.Red
End If
Next x
Commenter la réponse de Renfield
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 09:51
0
Merci
Merci beaucoup!
J'avais essayer de faire le faire mais je n avais pas réussi!
Par contre sa ne marche toujours pas! il me dit toujours que l'index était hors limite et il me montre cette ligne:

If DataGridView1.Rows(x).Cells.Item(7).ToString = "OUI" Then

Bon je reviens c est la pose café!
Commenter la réponse de erokage
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 mai 2009 à 09:54
0
Merci
le '7' du nombre de colonnes doit pas aller
tu cherches bien la huitième colonne ?
Commenter la réponse de Renfield
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 10:24
0
Merci
Je pense qu'en faite c'était la 5m colonne parce que la première et la 0 mais la il dois y avoir un bug parce que je n'est plus de message d'erreur mais la ligne ne passe pas au rouge , je ne comprend pas il n' y a pas de raison pour que sa ne marche pas , surtout avec ton aide!
Commenter la réponse de erokage
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 mai 2009 à 10:34
0
Merci
place ton curseur de texte sur la ligne du IF
presse F9
et relance ton programme

reste plus qu'a executer en pas a pas (F8) pour traquer le bug^^
Commenter la réponse de Renfield
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 10:54
0
Merci
se doit être ma condition du if qui n est pas bonne parce qu'il ne ne la fait pas.
Quand il arrive dessus après il saute une ligne donc la ligne

DataGridView1.Rows(x).DefaultCellStyle.BackColor = Color.Red

ne s'effectue pas.
Commenter la réponse de erokage
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 10:54
0
Merci
Comme si ce n'étais jamais égale a oui!!
Commenter la réponse de erokage
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 mai 2009 à 10:59
0
Merci
et à quoi est-ce égal ?

en mode pas a pa, tu peux survoller du curseur du texte selectionné (variables, etc.) pour que VB t'en donne la valeur.

ainsi, tu pourrais obtenir le resultat de ton xxxx.ToString()
Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 mai 2009 à 11:00
0
Merci
au fait, que contient cette case de ton DataGrid ? (quel type de case est-ce ?)
Commenter la réponse de Renfield
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 11:15
0
Merci
oui ou non comme un booleen
Commenter la réponse de erokage
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 11:21
0
Merci
le x est a 0 mais il ne vois pas le oui il passe direct au end if et il boucle par contre il conte parfaitement le nombre de boucle et arrivé a la fin il sort de la boucle et voila
Commenter la réponse de erokage
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 mai 2009 à 11:22
0
Merci
alors testes un boolean, quelle utilité de jouer avec "OUI" qui manifestement ne fonctionne pas

te faudrait, au pire, tester "True" et non "OUI" ...

tentes simplement:

If DataGridView1.Rows(x).Cells.Item(7) Then
...
Commenter la réponse de Renfield
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 11:42
0
Merci
je viens de le faire!
Commenter la réponse de erokage
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 mai 2009 à 11:47
0
Merci
et ?
Commenter la réponse de Renfield
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 12:15
0
Merci
ba rien de mieux
Commenter la réponse de erokage
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 19 mai 2009 à 13:01
0
Merci
donc c'est pas un Boolean que ça renvoie... tout bêtement.

que renvoie:
DataGridView1.Rows(x).Cells.Item(7).Value

?

c'est toi qui a le code, le projet...
Commenter la réponse de Renfield
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 13:54
0
Merci
il faudrait que j aille voir dans le header mais je ne sais pas comment l ouvrir
Commenter la réponse de erokage
erokage 91 Messages postés mardi 19 mai 2009Date d'inscription 23 juin 2009 Dernière intervention - 19 mai 2009 à 14:06
0
Merci
la fenêtre s'ouvre et sa dit "oui" donc c est oui
Commenter la réponse de erokage

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.