seb_abellano
XLDnaute Nouveau
Bonjour tout le monde,
j'aimerai effectuer une macro sous excel pour effectuer une conciliation bancaire, en fait il s'agirait ni plus ni moins de trouver les doublons mais en l'améliorant un peu (et c'est la ou je coince).
Je m'explique:
j'ai 3 colonnes disons colonne E, F et J: la colonne E est la liste de paiements effectués, la colonne F est celle des paiements reçus et la colonne J la colonne de comptabilité qui regroupe "normalement" les 2 premières colonnes.
Je vous copie la macro que j'ai effectuée:
Sub Essai()
Dim rngA As Range
Dim rngB As Range
Set rngE = Range(Cells(3, "E"), Cells(Rows.Count, "E").End(xlUp))
Set rngJ = Range(Cells(3, "J"), Cells(Rows.Count, "J").End(xlUp))
Set rngF = Range(Cells(3, "F"), Cells(Rows.Count, "F").End(xlUp))
For Each cell In rngE
If Not IsError(Application.Match(cell.Value, rngJ, 0)) Then
Cells(cell.Row, "E").Interior.ColorIndex = 4
End If
Next
For Each cell In rngJ
If Not IsError(Application.Match(cell.Value, rngE, 0)) Then
Cells(cell.Row, "J").Interior.ColorIndex = 4
End If
Next
For Each cell In rngF
If Not IsError(Application.Match(cell.Value, rngJ, 0)) Then
Cells(cell.Row, "F").Interior.ColorIndex = 4
End If
Next
For Each cell In rngJ
If Not IsError(Application.Match(cell.Value, rngF, 0)) Then
Cells(cell.Row, "J").Interior.ColorIndex = 4
End If
Next
End Sub
Le problème avec cette macro c'est que je colorie tous les doublons. et mon but serait de trouver seulement les doublons uniques.
voilà ce que j'obtiens avec ma macro:
Paiements effectués; Paiements reçus; comptabilité
100; 200; 200
200; 400; 300
300; 500; 400
1000; 122; 1000
122; 3; 600
1; 2; 300
En fait j'aimerai avoir ceci:
Paiements effectués; Paiements reçus; comptabilité
100; 200; 200
200; 400; 300
300; 500; 400
1000; 122; 1000
122; 3; 600
1; 2; 300
Cas 1 : Quand un même nombre est trouvé plus que 2 fois colorier la cellule en rouge (à vérifier conilier manuellement)
Cas 2 : Quand un nombre est trouvé 1 seule fois entre la colonne 3 et 1 ou 3 et 2 colorier en vert (conciliation automatique), la colonne 3 étant la colonne de référence. Attention je complique si l'on Trouve par exemple 3 fois le nombre 250 dans la colonne 3 et qu'il apparait "seulement" 3 fois entre les colonnes 1 et 2 colorié aussi en vert.
Cas 3 : Quand un nombre est trouvé 1 seule fois entre la colonne 1 et 2 (sans apparaitre dans colonne 3 sinon on se retrouve dans le premier cas ) colorier en bleu.
Je suis vraiment bloqué avec cette macro si quelqu'un pouvait me donner au moins une piste, je crois que je m'y prends mal... mais j'ai vraiment besoin de cette macro car j'ai des milliers de lignes à traiter chaque mois et cela prend un temps fou!!
j'espère avoir été assez claire
Merci par avance de votre aide !!!
seb
j'aimerai effectuer une macro sous excel pour effectuer une conciliation bancaire, en fait il s'agirait ni plus ni moins de trouver les doublons mais en l'améliorant un peu (et c'est la ou je coince).
Je m'explique:
j'ai 3 colonnes disons colonne E, F et J: la colonne E est la liste de paiements effectués, la colonne F est celle des paiements reçus et la colonne J la colonne de comptabilité qui regroupe "normalement" les 2 premières colonnes.
Je vous copie la macro que j'ai effectuée:
Sub Essai()
Dim rngA As Range
Dim rngB As Range
Set rngE = Range(Cells(3, "E"), Cells(Rows.Count, "E").End(xlUp))
Set rngJ = Range(Cells(3, "J"), Cells(Rows.Count, "J").End(xlUp))
Set rngF = Range(Cells(3, "F"), Cells(Rows.Count, "F").End(xlUp))
For Each cell In rngE
If Not IsError(Application.Match(cell.Value, rngJ, 0)) Then
Cells(cell.Row, "E").Interior.ColorIndex = 4
End If
Next
For Each cell In rngJ
If Not IsError(Application.Match(cell.Value, rngE, 0)) Then
Cells(cell.Row, "J").Interior.ColorIndex = 4
End If
Next
For Each cell In rngF
If Not IsError(Application.Match(cell.Value, rngJ, 0)) Then
Cells(cell.Row, "F").Interior.ColorIndex = 4
End If
Next
For Each cell In rngJ
If Not IsError(Application.Match(cell.Value, rngF, 0)) Then
Cells(cell.Row, "J").Interior.ColorIndex = 4
End If
Next
End Sub
Le problème avec cette macro c'est que je colorie tous les doublons. et mon but serait de trouver seulement les doublons uniques.
voilà ce que j'obtiens avec ma macro:
Paiements effectués; Paiements reçus; comptabilité
100; 200; 200
200; 400; 300
300; 500; 400
1000; 122; 1000
122; 3; 600
1; 2; 300
En fait j'aimerai avoir ceci:
Paiements effectués; Paiements reçus; comptabilité
100; 200; 200
200; 400; 300
300; 500; 400
1000; 122; 1000
122; 3; 600
1; 2; 300
Cas 1 : Quand un même nombre est trouvé plus que 2 fois colorier la cellule en rouge (à vérifier conilier manuellement)
Cas 2 : Quand un nombre est trouvé 1 seule fois entre la colonne 3 et 1 ou 3 et 2 colorier en vert (conciliation automatique), la colonne 3 étant la colonne de référence. Attention je complique si l'on Trouve par exemple 3 fois le nombre 250 dans la colonne 3 et qu'il apparait "seulement" 3 fois entre les colonnes 1 et 2 colorié aussi en vert.
Cas 3 : Quand un nombre est trouvé 1 seule fois entre la colonne 1 et 2 (sans apparaitre dans colonne 3 sinon on se retrouve dans le premier cas ) colorier en bleu.
Je suis vraiment bloqué avec cette macro si quelqu'un pouvait me donner au moins une piste, je crois que je m'y prends mal... mais j'ai vraiment besoin de cette macro car j'ai des milliers de lignes à traiter chaque mois et cela prend un temps fou!!
j'espère avoir été assez claire
Merci par avance de votre aide !!!
seb