Consolidation 2 feuilles

Bonjour a tous

Je suis dans l'impasse face a un fichier.

Je dois faire une consolidation entre 2 tableaux : le compte fournisseur et le compte client.

sachant que mon client 3 a pour correspondant mon frs3

Je voudrais dans un TCD avec ces 2 feuilles mais je suis coincé

J'ai tenté par une formule qui me récupérerais toutes les lignes du client 3 et du frs 3 mais sans succès

Je vous joint un fichier, pourriez vous m'aider SVP

Merci d'avance

21consolidation.xlsx (17.76 Ko)

Bonsoir,

Ci-joint une proposition à tester.

Un module de rapprochement comptable tout en VBA, pas trouvé plus simple

7 rapprochements, , dans l'ordre (dans tous le cas, avec correspondance de nom - client/fournisseur) :

  • n° facture + montant (hors virement) => rapproché
  • n° facture + montant (virement) => rapproché
  • n° facture (hors virement) => donc non rapproché
  • n° facture (virement) => donc non rapproché
  • montant => rapproché
  • que nom => donc non rapproché
  • lignes orphelines => donc non rapproché

Bonne soirée

Bouben

Bonjour Bouden

Merci pour cette proposition c'est vraiment ce que je recherchais.

Juste une demande d'information complémentaires

Je souhaiterais avoir la possibilité de choisir un client et son fournisseur correspondant ou vice versa

Ceci pour avoir une meilleur visibilité des élements qui ne sont pas rapprocher uniquement pour ce client

J'abuse également mais auriez-vous la possibilité dans le module de m'expliquer un peu le code stp.

Merci encore

Frédérique

A nouveau moi avec ma consolidation.

Bouden, j'ai tester avec les données reelles, mais la macro bloque.

sur la ligne surligner.

Pourrais m'aider a comprendre comment le débloquer.

'liste des clients

Set oShClFour = Worksheets("CLIENT")

iDerLig = oShClFour.Range("A" & Rows.Count).End(xlUp).Row

For iLig = 2 To iDerLig

Set oFactC = New clsFacture

oFactC.NumLigne = iLig

oFactC.Nom = oShClFour.Range("A" & iLig).Value

oFactC.DateFact = oShClFour.Range("B" & iLig).Value

oFactC.Numero = oShClFour.Range("C" & iLig).Value

oFactC.Debit = oShClFour.Range("D" & iLig).Value

oFactC.Credit = oShClFour.Range("E" & iLig).Value

mcolFactC.Add oFactC, CStr(iLig)

Set oFactC = Nothing

Next iLig

Merci d'avance

Bonjour.

Sur ton vrai fichier c'bien le même nom de feuille ?

Quelle est la description de l'erreur ?

Bonne journée.

Elhenvan, merci pour ton retour

le nom de la feuille n'est pas changé.

Par contre l'erreur est "Depassement de capacité"

cela a un rapport avec le nombre de ligne? J'en ai un peu plus de 1000 lignes.

Et si tu remplaces par

'liste des clients
Set oShClFour = Worksheets("CLIENT")

iLig = 0

    Do Until IsEmpty(Cells(iLig,1))
        Set oFactC = New clsFacture
        oFactC.NumLigne = iLig
        oFactC.Nom = oShClFour.Range("A" & iLig).Value
        oFactC.DateFact = oShClFour.Range("B" & iLig).Value
        oFactC.Numero = oShClFour.Range("C" & iLig).Value
        oFactC.Debit = oShClFour.Range("D" & iLig).Value
        oFactC.Credit = oShClFour.Range("E" & iLig).Value
        mcolFactC.Add oFactC, CStr(iLig)
        Set oFactC = Nothing
iLig =iLig +1
Loop
iLig= iLig -1
iDerLig = iLig 

Malheureusement cela ne fonctionne pas, mais le type d'erreur a changer.

"erreur définie par l'application"

'liste des clients

Set oShClFour = Worksheets("CLIENT")

iLig = 0

Do Until IsEmpty(Cells(iLig, 1))

'For iLig = 2 To iDerLig

Set oFactC = New clsFacture

oFactC.NumLigne = iLig

oFactC.Nom = oShClFour.Range("A" & iLig).Value

oFactC.DateFact = oShClFour.Range("B" & iLig).Value

oFactC.Numero = oShClFour.Range("C" & iLig).Value

oFactC.Debit = oShClFour.Range("D" & iLig).Value

oFactC.Credit = oShClFour.Range("E" & iLig).Value

mcolFactC.Add oFactC, CStr(iLig)

Set oFactC = Nothing

iLig = iLig + 1

Loop

iLig = iLig - 1

iDerLig = iLig

Parce que je suis débile

iLig = 0 à remplacer par iLig = 1

La ligne 0 n'existe pas

Merci beaucoup.

Cela fonctionne !

Rechercher des sujets similaires à "consolidation feuilles"