XL 2019 Transformer fichier ventes en journal de vente comptable

david gom

XLDnaute Nouveau
Bonjour à tous,

Je souhaiterais transformer un fichier de ventes qui reprend plusieurs informations en journal de ventes comptable.

Je met dans le fichier l'exemple auquel je dois arriver.

Je vous joins le fichier à transformer.

Merci de votre aide,
 

Pièces jointes

  • test ventes.xlsx
    9.2 KB · Affichages: 38

Hasco

XLDnaute Barbatruc
Repose en paix
bonjour et bienvenue sur xld,

Puisque vous êtes sous xl2016, voici une solution par power query (inclus dans votre version : onlget 'données/obtenir des données').

Pour mettre à jour il suffit de cliquer 'Données/Actualiser tout' ou de faire un click-droit dans une cellule du tableau résultat puis 'Actualiser'.

Si vos données proviennent d'une importation, il est possible d'aller les chercher directement dans le fichier. S'il y a d'autres comptes créditeurs que 'Vente TTC', il est possible également d'arranger la requête en fonction d'une liste de comptes créditeurs.

Cordialement
 

Pièces jointes

  • test ventes.xlsx
    21.4 KB · Affichages: 26

laurent3372

XLDnaute Impliqué
VB:
Option Explicit

Sub genCompta()
    Dim lcJournal As Range
    Dim rJournal As Range
    Dim rCompta As Range
    Dim rowsjournal As Range
    With fJournal
        Set lcJournal = .UsedRange.SpecialCells(xlCellTypeLastCell)
        Set rowsjournal = .Range(.[A2], lcJournal).Rows
    fCompta.Cells.Clear
    End With
    Set rCompta = fCompta.[A1:F1]
    rCompta.Cells(1, "A") = "date"
    rCompta.Cells(1, "B") = "compte"
    rCompta.Cells(1, "C") = "libellé"
    rCompta.Cells(1, "D") = "montant débit"
    rCompta.Cells(1, "E") = "montant crédit"
    rCompta.Cells(1, "F") = "Pièce"
    Set rCompta = rCompta.Offset(1, 0)
    For Each rJournal In rowsjournal
        rCompta.Cells(1, "A") = rJournal.Cells(1, "B")        'Date
        rCompta.Cells(1, "B") = fJournal.[D1]           'Compte
        rCompta.Cells(1, "C") = rJournal.Cells(1, "C")  'Libellé
        rCompta.Cells(1, "D") = rJournal.Cells(1, "D")  'Montant débit
        rCompta.Cells(1, "E") = ""                      'Montant crédit
        rCompta.Cells(1, "F") = rJournal.Cells(1, "A")  'Pièce
        Set rCompta = rCompta.Offset(1, 0)
        rCompta.Cells(1, "A") = rJournal.Cells(1, "B")        'Date
        rCompta.Cells(1, "B") = fJournal.[E1]           'Compte
        rCompta.Cells(1, "C") = rJournal.Cells(1, "C")  'Libellé
        rCompta.Cells(1, "D") = ""                      'Montant débit
        rCompta.Cells(1, "E") = rJournal.Cells(1, "E")  'Montant crédit Ventes HT France
        rCompta.Cells(1, "F") = rJournal.Cells(1, "A")  'Pièce
        Set rCompta = rCompta.Offset(1, 0)
        rCompta.Cells(1, "A") = rJournal.Cells(1, "B")        'Date
        rCompta.Cells(1, "B") = fJournal.[F1]           'Compte
        rCompta.Cells(1, "C") = rJournal.Cells(1, "C")  'Libellé
        rCompta.Cells(1, "D") = ""                      'Montant débit
        rCompta.Cells(1, "E") = rJournal.Cells(1, "F")  'Montant crédit Ventes HT Export
        rCompta.Cells(1, "F") = rJournal.Cells(1, "A")  'Pièce
        Set rCompta = rCompta.Offset(1, 0)
        rCompta.Cells(1, "A") = rJournal.Cells(1, "B")        'Date
        rCompta.Cells(1, "B") = fJournal.[G1]           'Compte
        rCompta.Cells(1, "C") = rJournal.Cells(1, "C")  'Libellé
        rCompta.Cells(1, "D") = ""                      'Montant débit
        rCompta.Cells(1, "E") = rJournal.Cells(1, "G")  'Montant crédit Compte TVA
        rCompta.Cells(1, "F") = rJournal.Cells(1, "A")  'Pièce
        Set rCompta = rCompta.Offset(1, 0)
    Next rJournal
        
End Sub

La solution est en pièce jointe.

Cordialement,
--
AP
 

Pièces jointes

  • gen. Compta.xlsm
    23.1 KB · Affichages: 45

Discussions similaires

Réponses
0
Affichages
218

Statistiques des forums

Discussions
315 095
Messages
2 116 158
Membres
112 673
dernier inscrit
ìntellisoft