A voir également:
- Comparaison deux colonnes
- Faire deux colonnes sur word - Guide
- Inverser deux colonnes excel - Guide
- Fusionner deux colonnes excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Deux ecran pc - Guide
1 réponse
Ziggy69
Messages postés
7
Date d'inscription
jeudi 17 juin 2010
Statut
Membre
Dernière intervention
6 août 2010
2
Modifié par Ziggy69 le 3/08/2010 à 14:53
Modifié par Ziggy69 le 3/08/2010 à 14:53
Salut hélo,
dans ton if, tu lui demande de comparer la valeur de 2 colonnes ! C'est impossible, il faut que tu précise la cellule, en l'occurrence ici la ligne ou tu te trouve. La solution à mon avis, même si elle est lourde est d'y aller ligne par ligne dans ta colonne D et de tester avec chaque ligne de la colonne M. ça donne un truc du genre :
C'est un traitement lourd surtout si tu à beaucoup de lignes mais je ne connais pas d'autres techniques pour comparer 2 colonnes.
Pour gagner du temps tu peux le mettre dans un while ou un goto pour qu'il passe à la ligne suivante quand il a trouvé une cellule égale dans M et dans D du genre :
A toi de voir ce que tu veux en faire.
dans ton if, tu lui demande de comparer la valeur de 2 colonnes ! C'est impossible, il faut que tu précise la cellule, en l'occurrence ici la ligne ou tu te trouve. La solution à mon avis, même si elle est lourde est d'y aller ligne par ligne dans ta colonne D et de tester avec chaque ligne de la colonne M. ça donne un truc du genre :
for k =1 to range("D70000").end(xlup).row for p=1 to range("M70000").end(xlup).row if cells(k,"D").Value=cells(p,"M").Value then cells(k,"D").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End With end if next p next k
C'est un traitement lourd surtout si tu à beaucoup de lignes mais je ne connais pas d'autres techniques pour comparer 2 colonnes.
Pour gagner du temps tu peux le mettre dans un while ou un goto pour qu'il passe à la ligne suivante quand il a trouvé une cellule égale dans M et dans D du genre :
for k =1 to range("D70000").end(xlup).row for p=1 to range("M70000").end(xlup).row if cells(k,"D").Value=cells(p,"M").Value then cells(k,"D").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End With goto finboucle end if next p finboucle: next k
A toi de voir ce que tu veux en faire.
4 août 2010 à 16:06
le "row" ça veut dire quoi? je le vois svt, mais je ne sais pas ce que s'est...
4 août 2010 à 17:31
Row signifie ligne. Donc range("M70000").end(xlup).row renvoie la ligne finale en partant de M70000 et en allant vers le haut. La ligne finale veut dire le changement d'état donc si la cellule M70000 est vide, il va te renvoyer la première ligne non vide en partant du bas vers le haut. très utile !
5 août 2010 à 10:12