Rechercher : dans
Par :

[VBA] colorier une ligne avec conditions

Dernière réponse le 7 jun 2007 à 16:40:07 frenchfries, le 7 jun 2007 à 15:45:16 
 Signaler ce message aux modérateurs

Bonjour,
je suis nouveau ici et novice sur VBA mais j'essaye de m'améliorer!
Alors mon probleme du moment:
j'ai deux feuilles excel remplies de données (une de 16000 ligne et une de 160 lignes environ)
Ce que je veux c'est que si les données de 2 colonnes sur une même ligne sont égales dans l'autre document alors on surligne la ligne en rouge.

(je sais pas si c'est très clair mais bon..)

alors mon code c'est ça pour l'instant

Sub colorier()

For i = 1 To 172
For j = 1 To 15813
If Worksheets("pc").Range("T" & i) = Worksheets("eu").Range("F" & j) And Worksheets("pc").Range("I" & i) = Worksheets("eu").Range("N" & j) Then


Rows("j:j").Select
Range(Cells(7, j)).Activate
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With

End If

Next j
Next i

End Sub

mais ça colore rien du tout (j'ai vérifier que c'était les bonnes colonnes et le même type d'écriture)
donc help!
en plus utiliser des boucle avec de si nombreuses lignes rend le programme assez lent.

Merci pour l'aide

Configuration: Windows 2000
Firefox 2.0.0.4

Meilleures réponses pour « [VBA] colorier une ligne avec conditions » dans :
[Excel] Colorer des cellules sur conditions VoirIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un...
[VBA] RechercheV Polyvalente VoirRECHERCHE POLYVALENTE Pour les accros et les inconditionnels des fonctions d'Excel, avant de crier au scandale, lisez les quelques lignes suivantes. La RechercheV d'origine a beaucoup de limites: La colonne de la donnée doit être avec un offset...
Excel - Surligner la ligne active VoirQuand on "ripe" sur la feuille on perd souvent le point de repère. Cette petite fonction surligne (le fond en rouge et l'écriture en jaune), toute la ligne où se trouve le curseur. À placer dans le module de la feuille Private Sub...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
VBScript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à...

1

mat, le 7 jun 2007 à 16:05:08
  • +1

J'ai fait un programme VB en stage qui faisait un peu la même chose
la difference c'est que j'utilise des boucle while a la place de tes for mais ça fait la même chose voila:
n1 = numero de ligne feuille 1
n2= numero de ligne n2
MaFeuN1=feuille de 160 lignes
MaFeuN2=fruillre 16000 lignes
n1=1
n2=1
While MaFeu1.Cells(n1,"met le numero de ta colone" ).Value <> ""
If (MaFeuN1.Cells(n1, "numero de ta colone1 feuille 1").Value = MaFeuN2.Cells(n2, "numero de ta colonne1 feuille 2").Value And MaFeuN1.Cells(n1, "numero de ta colone2 feuille 1").Value = MaFeuN2.Cells(n2, "numero de ta colonne2 feuille 2").Value) Then
MaFeuN1.Rows(n1).Interior.Color = RGB(255, 255, 0) 'jaune
MaFeuN2.Rows(n2).Interior.Color = RGB(255, 255, 0)'jaune
End If
n1=n1+1
n2=n2+1
wend
voila j'éspére que ça pourra t'aider

mat

Répondre à mat

2

 frenchfries, le 7 jun 2007 à 16:40:07

Merci Mat pour le message d'aide mais j'ai l'impression que si je fait tourner ton programme, la boucle elle avance pas et on scanne pas toutes les lignes de la feuille de 16000 ligne.
Je sais pas trop..

Répondre à frenchfries