conciliation

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
 
C

Compte Supprimé 979

Guest
Re : conciliation

Salut Seb_Abellano,

Après avoir planché pas mal de minutes :D je pense avoir trouvé la solution ;)

Pour chaque cellule de chaque colonne j'évalue le nombre d'occurence dans chaque colonne de la valeur en cours.

Je compare le résultat obtenu selon les indications que tu as donné

Voir fichier joint

A+
 

Pièces jointes

  • SebAbellano_Test1.xls
    36.5 KB · Affichages: 59

seb_abellano

XLDnaute Nouveau
Re : conciliation

Salut BrunoM45 !

Désolé du retard mais comme je te le disais les fins de mois me sont fatales... et j'étais en déplacement cette semaine...:eek:

j'ai bien regardé ton fichier et "essayé" :confused: de comprendre le code mais c'est pas encore ça...:D

Enfin, le fichier est "presque" parfait mais il manque une condition...et comme j'ai pas tout compris...je sais pas ni où ni comment la rajouter...

je joins de nouveau le fichier si tu peux jeter un cou d'oeil...:)

merci d'avance pour ta patience...et moi faut que j'apprenne vite car ça donne envie d'en faire des macros...des idées il m'en vient tout les jours...:D

j'espère avoir été clair dans le fichier...

a +
 

Pièces jointes

  • Test1.xls
    38 KB · Affichages: 45
  • Test1.xls
    38 KB · Affichages: 49
  • Test1.xls
    38 KB · Affichages: 46
C

Compte Supprimé 979

Guest
Re : conciliation

Salut Seb_Abellano,

Pas facile de concilier toutes les conditions, mais ça à l'air d'être bon cette fois ci ;)

A tester.

A+
 

Pièces jointes

  • SebAbellano_Test2.xls
    38 KB · Affichages: 42
C

Compte Supprimé 979

Guest
Re : conciliation

Re,

Tu viens de me faire gagner un truc comme 5 heures de travail !!!
Oui, c'est clair que le VBA peut faire gagner beaucoup de temps.

A mon boulot, j'ai développé pas mal de choses,
notamment pour les reporting économiques, qui prenait une journée entière à mon collègue
(saisie, pointage, vérification, ...)
Avec un peu (beaucoup) de code, il clique sur un bouton, ça met 10 minutes
king.gif


Aïe Bruno j'ai un petit problème serait-il possible que la macro ne prenne pas les chiffre à virgule...???
On dirait que dès que les nombre sont décimaux, il y a un debogage...
Oui effectivement, il suffit de changer le type de variable des FoundX

Code:
Dim FoundE As Double, FoundJ As Double, FoundF As Double

As Integer c'est pour des entiers !

A+ ;)
 
Dernière modification par un modérateur:

seb_abellano

XLDnaute Nouveau
Re : conciliation

Je te repasse le fichier car la je comprends pas, tu peux voir si ça marche chez toi???

peut etre que j'ai excel mal configurer?
 

Pièces jointes

  • SebAbellano_Test3.xls
    37.5 KB · Affichages: 43
  • SebAbellano_Test3.xls
    37.5 KB · Affichages: 45
  • SebAbellano_Test3.xls
    37.5 KB · Affichages: 42
C

Compte Supprimé 979

Guest
Re : conciliation

re,

C'est vrai que c'est étrange !?
Ca ne marche pas non plus chez moi avec : 1,2 :rolleyes:

Pour y remédier, il faut transformer la valeur à chercher au format anglais, avec un point à la place de la virgule

Essaye ce fichier ..

A+
 

Pièces jointes

  • SebAbellano_Test3.xls
    43.5 KB · Affichages: 51
  • SebAbellano_Test3.xls
    43.5 KB · Affichages: 55
  • SebAbellano_Test3.xls
    43.5 KB · Affichages: 57

Discussions similaires

Réponses
1
Affichages
194
Réponses
0
Affichages
175

Statistiques des forums

Discussions
312 459
Messages
2 088 577
Membres
103 884
dernier inscrit
simon.corpataux