Reconciliation

Bonsoir

J,aimerais avoir votre aide afin de pouvoir avoir une Macro qui va m'aider a réconcilier deux colonnes avec des montant différents.

J'ai attache dans mon message un fichier exemple.J'aurais besoin d'un macro qui va pouvoir me sortir dans des colonnes différents:

1)le montant non trouves (non réconcilie dans la colonne AR et le montant non réconcilie dans le colonne banque.

Donc comme titres des colonnes sera non réconcilie AR et non réconcilie banque.

J,aimerais que ce réconciliation sera effectue avec une bouton que est relie a une macro.

J,ai essaye avec la fonction Vrecherche , mais s,il y a des doublons elle ne fonctionne pas.

Je vous remercie d'avance pour votre aide

Bonne soiree

30test-rec.xlsx (26.11 Ko)

Bonsoir,

Je ne suis pas sûr de comprendre ?

Il s'agit de comparer les montants des 2 colonnes, et ceux de AR qu'on ne retrouve pas dans Banque, on les relève, et vice-versa ?

Bonjour,

Pas sûr de comprendre non plus mais un simple NB.SI() sur chaque colonne ne suffirait pas ?

Hello Hello tout le monde,

En fait il souhaite faire du rappro bancaire lambda et mettre ce qu'il reste non rappro à part dans des colonnes (AR > GL sté) et banque (relevé), sauf que ce n'est pas si simple et pas si rapide à faire (le calcul d'excel j'entends).

Au vue de la taille en nb de lignes du fichier, faire du rappro comme ça sur excel, risque de prendre de plusieurs heures à plusieurs jours.

Si tu le souhaite, tu peux déjà utiliser la fonction recherche de valeur en double (cf fichier ci-joint si besoin d'explication sur la fonction) ça éliminera un certain nombre de chose et avec le filtre, faire un copier/coller.

* Et en sélectionnant une colonne, on peut encore refaire une recherche de doublon (changer la couleur par contre pour voir la différence)

Voila, bon café

Hello,

Eh bien il y en a au moins un qui comprend ce qui est demandé

Donc, je passe la main !

Bonjour à tous,

Le rapprochement basique, je l'ai fait dans la foulée de mon dernier post, mais j'attends confirmation que ce soit bien ça qui est cherché !

Bonjour a tous et merci beaucoup pour vos réponses.

L’idée avec la réconciliation a l'aide de mise en forme conditionnelle est super.

Je ne savais pas si s'était possible a faire une macro qui peut faire le rapprochement automatique a l'aide d'un bouton.

Pour être une plus claire j'avais besoin de une fonction macro qui va trouver les montants de la colonne AR dans la colonne Banque et qu'il ressort dans une colonne séparée les montants pas trouvés .A l’inverse je voulais avoir dans une colonne séparée les montants de la colonne banque qui n'ont pas été retrouvées dans la colonne AR. Les noms des colonnes resultats sera non réconcilie AR et non reconcilie banque.

Je ne pas des connaissances en macro et vous serais reconnaissante de votre aide.

Eh bien voilà !

Sub Reconciliation()
    Dim da As Object, db As Object, k, na%, nb%, i%
    Set da = CreateObject("Scripting.Dictionary")
    Set db = CreateObject("Scripting.Dictionary")
    With ActiveSheet
        na = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 3 To na
            k = .Cells(i, 1)
            da(k) = ""
        Next i
        nb = .Cells(.Rows.Count, 3).End(xlUp).Row
        For i = 3 To nb
            k = .Cells(i, 3)
            If da.exists(k) Then
                da.Remove (k)
            Else
                db(k) = ""
            End If
        Next i
        na = da.Count: nb = db.Count
        .Cells(2, 7).CurrentRegion.ClearContents
        .Cells(2, 9).CurrentRegion.ClearContents
        .Cells(2, 7) = "Non réconciliés AR"
        .Cells(2, 9) = "Non réconciliés Banque"
        If na > 0 Then
            With .Cells(3, 7).Resize(na)
                .Value = WorksheetFunction.Transpose(da.keys)
                .NumberFormat = "#,##0.00"
            End With
        End If
        If nb > 0 Then
            With .Cells(3, 9).Resize(nb)
                .Value = WorksheetFunction.Transpose(db.keys)
                .NumberFormat = "#,##0.00"
            End With
        End If
    End With
End Sub

Cordialement.

Un super gros merci!

C'est parfait

merci beaucoup et bonne journée!

Vous êtes exceptionnel!

Bonjour a tous

Merci Mferrand pour ton aide avec la fonction macro.

Je me suis rendue compte que j'aurais aussi besoins des information supplémentaires,lorsque le montant non reconclie je doit le copier dans une tableau afin de finir la réconciliation.

Donc j'ai inséré deux colonnes devant colonne AR et deux colonnes devant la colonne banque.

Est-ce que sera possible de modifier la macro afin que je aussi les détails comme la date , numero bach et numero client pour les AR non réconcilie et la date et la référence pour le montants non reconcilie banque?

J'ai mis en attachement le fichier avec macro initial et le nouveau fichier avec les détails.

Merci d'avance pour votre aide

17test-rec.xlsx (66.98 Ko)

Bonjour,

Je vais voir après avoir éclusé le courrier (j'ai fait pause électorale hier ! ). A+

Est-ce qu'on tient compte des dates dans la réconciliation ?

Bonjour

est-ce que tu pourrai m'aider a modifier la macro , afin d'avoir les détails aussi?

merci

Si tu répondais à ma questions ?

Excuse-moi pour le retard,

Les dates ne comptes pas dans la réconciliation.En effet la macro fait la réconciliation de montants très bien.

Pour être plus claire ,les résultats de la réconciliation , donc les montants nonréconcilié de la colonne AR et le montants nonréconcilié de la colonne banque je doit le copier dans une autre page excel,sommaire de la réconciliation générale de la banque.

J'aurais besoin de détails, comme la date,le référence la bach.(les colonnes que j'ai rajouté dans le fichier initial rec test.

Je voulais seulement que ce détails soient devant ces montants non reconclie ,si possible.

Laissez moi savoir si tu veux que je te fasse parvenir de nouveau les fichiers.

Merci d'avance pour ton aide,c'est très très apprécié

Bonsoir,

Sub Reconciliation()
    Dim T(), da As Object, db As Object, k, itm, n%, nr%, i%
    Set da = CreateObject("Scripting.Dictionary")
    Set db = CreateObject("Scripting.Dictionary")
    With ActiveSheet
        na = .Cells(.Rows.Count, 4).End(xlUp).Row
        For i = 3 To na
            k = .Cells(i, 4)
            itm = .Cells(i, 1) & "|" & .Cells(i, 2) & "|" & .Cells(i, 3)
            da(k) = itm
        Next i
        nb = .Cells(.Rows.Count, 3).End(xlUp).Row
        For i = 3 To nb
            k = .Cells(i, 8)
            If da.exists(k) Then
                da.Remove (k)
            Else
                itm = .Cells(i, 6) & "|" & .Cells(i, 7)
                db(k) = itm
            End If
        Next i
    End With
    With Worksheets("Feuil2")
        .UsedRange.Offset(2).ClearContents
        n = da.Count
        If n > 0 Then
            ReDim T(n - 1, 3)
            For Each k In da.keys
                itm = Split(da(k), "|")
                For i = 0 To 2
                    T(nr, i) = itm(i)
                Next i
                T(nr, 3) = k: nr = nr + 1
            Next k
            .Range("A3").Resize(n, 4).Value = T
            .Range("D3").Resize(n).NumberFormat = "#,##0.00"
        End If
        n = db.Count: nr = 0
        If n > 0 Then
            ReDim T(n - 1, 2)
            For Each k In db.keys
                itm = Split(db(k), "|")
                For i = 0 To 1
                    T(nr, i) = itm(i)
                Next i
                T(nr, 2) = k: nr = nr + 1
            Next k
            .Range("F3").Resize(n, 3).Value = T
            .Range("H3").Resize(n).NumberFormat = "#,##0.00"
        End If
    End With
End Sub

C'est la même méthode, la procédure étant juste réaménagée pour la récupération des données supplémentaires. On reconstitue un tableau à la fin, avant affectation, ce qui n'était pas nécessaire dans le cas précédent.

A voir si cela convient...

Je dois tout de même appeler ton attention sur un risque d'anomalie liée à cette méthode : si des montants identiques sont susceptibles de figurer dans une même colonne de montants, les doublons sont éliminés, et seul le dernier sera conservé.

Toutefois, la réconciliation elle-même, ne s'appuyant que sur des montants, fait courir un risque comparable...

A toi d'examiner cet aspect de la question et voir si des mesures spécifiques ne devraient pas être étudiées...

Cordialement.

Merci beaucoup,

Ce que-est que j'avais besoin.Tu m,a sauve au mois 3 h heures de travail.

Bonne journée,

Bonjour

J'ai encore une question.

Est-ce que sera possible d'avoir une total de montants réconcilies de la colonne AR et de la banque.

Sera très utile de pouvoir avoir sa de cette façon j'aurais avoir un clé de contrôle.

Merci d'avance de votre aide.

Bonjour

J'ai vérifie la réconciliation que la fonction macro a fait.

Tu as eu raison quant aux anomalies pour le doublons

Est ce que on ne peut pas rien faire...

dans le fichier attache j'ai mis en rose les montant doublons .

Pour la colonne non réconcilie Ar le montant de 63.24 est éliminée, et pour la colonne banque le montant en double ne sont pas réconcilie qu'une fois.

Merci

>>Je dois tout de même appeler ton attention sur un risque d'anomalie liée à cette méthode : si des montants identiques sont susceptibles de figurer dans une même colonne de montants, les doublons sont éliminés, et seul le dernier sera conservé.

Toutefois, la réconciliation elle-même, ne s'appuyant que sur des montants, fait courir un risque comparable...

>>

Bonjour,

Le problème, si l'on ne se réfère qu'au montant, c'est qu'avec des montants identiques on ne sait lesquels sont à rapprocher. Il faut donc un dispositif qui, si on en trouve le même nombre de part et d'autre, les élimine comme les montants individuels, mais qui dès lors qu'on a une différence dans le nombre les conserve tous (car là on ne peut savoir lesquels peuvent être éliminés).

Et incorporer ce dispositif dans le processus global...

Pas le temps de penser ça dans l'immédiat... j'y réfléchis (à la fusion dans le processus déjà en place).

Bonne journée.

Rechercher des sujets similaires à "reconciliation"