Réconcilier crédit et débit et calculer délai de payement.

Boris1989

XLDnaute Nouveau
Bonjour,

Je dois calculer les délais moyens de payement de mon entreprise.

Pour ce faire, il faut que prenne les facture d'Achat ("ACH" dans la Colonne A), que je trouve le débit correspondant en fonction du montant (en gros je cherche dans la colonne C, un débit égal au crédit de ma facture d'achat), puis à partir de là je calcul le délai entre les deux dates indiquées dans la colonne B.

Ce n'est évidemment pas trop compliqué à faire manuellement comme je l'ai fait dans la colonne E pour ce qui concerne les données de la référence "Barlant". Mais hélas, le tableau complet (que je ne préfère pas mettre sur le forum pour des raisons de confidentialité) fait 18.000 lignes... ça me prendrait donc énormément de temps. Cela fait plusieurs heures que je cherche en vain une formule qui calculerait tout ça automatiquement (que je n'ai plus qu'à incrémenté au moins fournisseur par fournisseur, c'est à dire: une fois pour Barlant, puis pour Battiliti, puis pour tous les autres) mais j'ai beau chercher je ne trouve pas.

Si un de vous a une idée pour me tirer d'affaire, je lui en serais très reconnaissant :).

Merci à tous!
 

Pièces jointes

  • balance comptable - calcul délai.xlsx
    11.6 KB · Affichages: 41

ERIC S

XLDnaute Barbatruc
Re : Réconcilier crédit et débit et calculer délai de payement.

Bonjour

à tester en E4 et tirer

Code:
=SI(NB.SI(DECALER(C4;0;0;EQUIV("Date";$B4:$B$100000;0)-1);D4)=0;"";SI(NB.SI(DECALER(C4;0;0;EQUIV("Date";$B4:$B$100000;0)-1);D4)=1;DECALER(B4;EQUIV(D4;DECALER($C4;0;0;EQUIV("Date";$B4:$B$100000;0)-1);0)-1;0)-B4;"plusieurs possibilités"))
 

Paf

XLDnaute Barbatruc
Re : Réconcilier crédit et débit et calculer délai de payement.

Bonsoir Boris1989 et bienvenue sur XLD, bonsoir ERIC S,

un essai par fonction personnalisée:

Dans un module standard:

Code:
Function DifDate()
 Dim Lig As Integer, LigF As Integer, j As Integer, MonTab
 Application.Volatile
 Lig = Application.ThisCell.Row
 LigF = Range("A" & Lig).End(xlDown).Row
 MonTab = Range("B" & Lig & ":D" & LigF)
 If Cells(Lig, 4) = "" Then
    DifDate = ""
    Exit Function
 End If
 If Cells(Lig, 1) = "" And Cells(Lig, 2) = "" Then
    DifDate = ""
    Exit Function
 End If
 For j = LBound(MonTab) To UBound(MonTab)
    If MonTab(j, 2) <> "" Then
            If MonTab(j, 2) = Cells(Lig, 4) Then
                DifDate = Abs(CDate(Cells(Lig, 2)) - CDate(MonTab(j, 1)))
                Exit For
            End If
    End If
 Next
End Function

et la macro pour la formule en colonne F (à adapter)

Code:
Sub CollerFormule()
 Dim DerL As Integer
 With Worksheets("Feuil1")
 DerL = .Range("A" & Rows.Count).End(xlUp).Row
 .Range("F4:F" & DerL).Formula = "=DifDate()"       ' colonne à adapter
 End With
End Sub

Si pour un même fournisseur il existe plusieurs crédits identiques (avec leur débit correspondant), le résultat n'est pas garanti, ne sachant quelle ligne de débit 'couvre' quelle ligne de crédit.

A+
 

Boris1989

XLDnaute Nouveau
Re : Réconcilier crédit et débit et calculer délai de payement.

Merci beaucoup à tous,

La formule d'Eric me facilite déjà grandement le travail, par contre en ce qui concerne les données de PAF, je dois avouer n'avoir aucune notion en VBA et macro :s donc même adapter la formule me parait difficile :).
 

Discussions similaires

Réponses
3
Affichages
340

Statistiques des forums

Discussions
312 677
Messages
2 090 820
Membres
104 676
dernier inscrit
akram1619