Microsoft 365 KPI Compte de résultat à partir grand livre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Germaine

XLDnaute Junior
Bonsoir le forum
Je me présente une 1ère fois pour que vous puissiez m'accompagner à la construction d'un compte de résultat à partir d'un grand livre comptable.
Les données sortant de SAGE ne sont pas structurées.
J'ai établi des paramètres en fonction des numéros de compte afin d'affecter les calculs de charges et de produits.
J'ai établi un compte de résultat retraité afin de montrer les coûts variables, les coûts fixes et les charges de personnel.
Pourriez-vous m'aider à compléter les colonnes H;I;J du grand livre et d'effectuer les calculs des Agregats du compte de résultat (avoir la possibilité modifier la période).
Dites moi
Germaine
 

Pièces jointes

Solution
cathodique,
Je supprime total où, je ne comprends pas !
Le fichier fonctionne sur la 2ème Bécane, mais les couts fixes ne sont pas calculés et quand j'exécute la feuille annuel, il y a bug
Dis moi s'il te plait
Germaine

cathodique,
Je supprime total où, je ne comprends pas !
Le fichier fonctionne sur la 2ème Bécane, mais les couts fixes ne sont pas calculés et quand j'exécute la feuille annuel, il y a bug
Dis moi s'il te plait
Germaine
en fait c'est une omission de ma part, j'aurais dû supprimé cette feuille. elle concernait le 1er fichier proposé.
Étant, qu'elle t’intéresse, j'ai corrigé le code et ajouter un truc soufflé par @klin89 en mp.
Il me semble que tu as supprimer des messages, je ne retrouve celui où...
Si vous attendez que l'on vous fournisse une solution répondant exactement à vos attentes (Votre présentation), en ce qui me concerne, je ne le ferai pas. Vous devez mettre la main à la pâte.
Je vous propose un code vba, pour calculer les soldes des 3 feuilles (2023 et 2024). Au préalable, il faut faire un tri croissant sur la colonnes n°compte. Ensuite, cliquer sur le bouton. Pour le nombre de lignes à traiter le code est très rapide. Si les résultats sont justes. Vous pourrez via des formules compléter votre présentation des données.
 
Bonsoir Cathodique,
Merci pour ton travail et tes conseils.
Je note aussi que la feuille résultat, il n'y a pas les numéros de comptes mais des libellés.
Les résultats 2024 ne sont ps calculés.
Je vais poursuivre ma réflexion, et je pense que l'utilisation des FEC au lieu des grands livres devrait me permettre de contourner quelques difficultés.
Merci à vous tous le forum
A bientôt
Germaine
 
Bonsoir Cathodique,
Merci pour ton travail et tes conseils.
Je note aussi que la feuille résultat, il n'y a pas les numéros de comptes mais des libellés.
Les résultats 2024 ne sont ps calculés.
Je vais poursuivre ma réflexion, et je pense que l'utilisation des FEC au lieu des grands livres devrait me permettre de contourner quelques difficultés.
Merci à vous tous le forum
A bientôt
Germaine
Bonjour,

Il y avait effectivement une erreur dans mon code d'où un décalage de ligne. Mais le calcul est bien fait.
Voici un code à mettre dans un module standard dans le fichier que j'avais joint.
Je vous rappelle que dans l'une des 2 feuilles, L’entête de la colonne K (Libellés sur l'autre feuille) n'existait pas.
D'où aussi un résultat erroné. Il faut au préalable vérifier que toutes les colonnes ont des titres.
Avec ce code vous aurez, les numéros de compte et leur libellé.
VB:
Option Explicit

Sub TotalisationParAnnee()
   Dim d1 As Object, d2 As Object, d3 As Object
   Dim i As Long
   Dim T1, T2, key, keys
   Dim Sh1 As Worksheet, Sh2 As Worksheet, Sh3 As Worksheet

   Set Sh1 = ThisWorkbook.Sheets("FEC- 2023")
   Set Sh2 = ThisWorkbook.Sheets("FEC- 2024")
   Set Sh3 = ThisWorkbook.Sheets("Résultat")

   Set d1 = CreateObject("Scripting.Dictionary")
   Set d2 = CreateObject("Scripting.Dictionary")
   Set d3 = CreateObject("Scripting.Dictionary")

   T1 = Sh1.Range("A1").CurrentRegion
   T2 = Sh2.Range("A1").CurrentRegion

   ' année 2023
   For i = 2 To UBound(T1)
      If T1(i, 12) <> "" Then
         key = T1(i, 5) & "|" & T1(i, 6)
         d1(key) = d1(key) + (T1(i, 12) - T1(i, 13))
      End If
   Next i

   ' année 2024
   For i = 2 To UBound(T2)
      If T2(i, 12) <> "" Then
         key = T2(i, 5) & "|" & T2(i, 6)
         d2(key) = d2(key) + (T2(i, 12) - T2(i, 13))
      End If
   Next i

   Debug.Print d1.Count, d2.Count

   ' Combiner 2023 et 2024
   For Each key In d1.keys
      If d2.Exists(key) Then
         d3(key) = Array(d1(key), d2(key))
      Else
         d3(key) = Array(d1(key), 0)
      End If
   Next key

   For Each key In d2.keys
      If Not d1.Exists(key) Then
         d3(key) = Array(0, d2(key))
      End If
   Next key

   ' Report résultat
   With Sh3
      .Cells.Clear
      .[A1] = "Comptes"
      .[B1] = "Libellés"
      .[C1] = Right(Sh1.Name, 4)
      .[d1] = Right(Sh2.Name, 4)

      Dim row As Long
      row = 2
      For Each key In d3.keys
         keys = Split(key, "|")
         .Cells(row, 1).Value = keys(0)     ' Première partie de la clé
         .Cells(row, 2).Value = keys(1)     ' Deuxième partie de la clé
         .Cells(row, 3).Value = d3(key)(0)  ' Valeur de d1
         .Cells(row, 4).Value = d3(key)(1)  ' Valeur de d2
         row = row + 1
      Next key
      ' Format numérique avec 2 décimales et séparateur de milliers
      .Columns(3).NumberFormat = "#,##0.00"
      .Columns(4).NumberFormat = "#,##0.00"
      .Range("C1:D1").NumberFormat = "General"
      .Columns("A:D").AutoFit
      .Range("A1:D1").Font.Bold = True
      .Range("A1").CurrentRegion.Borders.Weight = xlThin
   End With

   Set Sh1 = Nothing: Set Sh2 = Nothing: Set Sh3 = Nothing
   Set d1 = Nothing: Set d2 = Nothing: Set d3 = Nothing

   MsgBox "Traitement terminé!"
End Sub
NB: en l'état de vos données des FEC, je ne vois pas comment pourrait-on effectuer des calculs par mois. Car dans aucunes des colonnes il n'y a dates à proprement parlé. Il y a bien une colonne "EcritureDate" mais les données ne sont pas des dates.
 
Dernière édition:
Bonjour,
Ne connaissant rien aux données comptables, quelle colonne de dates doit être prise en compte pour l'année?
EcritureDate, PieceDate, DateLet, ou ValidDate?
Et deuxième question, que fait-on des numéros de comptes qui n'ont pas de correspondance dans le tableau fourni dans le premier fichier (onglet "Paramètres_comptes"). (27 numéros présents dans les txt, et non compris dans le tableau)
Je n'ai pas ouvert les autres fichiers (sauf les txt)...
 
Dernière édition:
Re-,
Dans l'attente de tes réponses, voici un premier jet. (j'ai pris la colonne EcritureDate pour déterminer l'année)
J'ai mis les deux fichiers FEC dans un répertoire.
Dans l'onglet "Paramètres", dans la cellule A2, j'ai mis le chemin du répertoire contenant ces deux fichiers.
Et également le tableau de correspondances des comptes comptables.
Dans l'onglet "Liste comptes orphelins", les comptes n'ayant pas de correspondances dans le tableau cité supra.
Et dans l'onglet "Résultats", 2 résultats, l'un sous forme de tableau, l'autre dans un Tableau Croisé Dynamique
Tu me dis si je suis sur la bonne voie - Ce résultat a été réalisé par le biais de Power Query, comme te le suggérait @FredPz
Pour mettre à jour, dans le ruban "Données", clique sur "Actualiser tout"
Bonne apm
 

Pièces jointes

Bonsoir,

J'ai fait un truc à ma façon.
Germaine.gif
Germaine.gif
 
Cathodique, je suis intéressée par ta version, c'est vraiment ce que j'aimerais apprendre à faire. Pourrais-tu la mettre à disposition s'il te plaît
Germaine
Merci d'avance
Aucun souci. Merci d'ajouter une colonne sur les feuilles FEC- 2023 et FEC- 2024, et mettre les agrégats.
Et refaire la feuille "Compte_de_résultat" pour mettre tous les agrégats suivant le résultat que tu souhaites.
Je ferai le nécessaire. à te lire.
 
Bonsoir,
Voici ma version.
Utilise de vrai FEC pour tester. Je pense que celui de 2024 est correct. Il manquait une colonne dans celui de 2023.

Après, l'import attendre la mise a jour des requêtes. (On le vois en bas a gauche de l'écran dans la barre d'état)
Bonsoir Frédéric,
Je viens de tester, et je te remercie.
C'est très bien.
J'ai cependant une question
Tu as utilisé que le FEC 2024 et pas le 2023 dans ton exemple.
Pour changer la période si j'utilse un FEC2025 et un FEC 2024, comment je m'y prend pour changer de période ?
Pour finir, vous me dites d'utiliser de "vrai FEC", je peux vous assurer que le FEC sort comme tel du logiciel
Dites moi
Germaine
 
Bonsoir Frédéric,
Je viens de tester, et je te remercie.
C'est très bien.
J'ai cependant une question
Tu as utilisé que le FEC 2024 et pas le 2023 dans ton exemple.
Pour changer la période si j'utilse un FEC2025 et un FEC 2024, comment je m'y prend pour changer de période ?
Pour finir, vous me dites d'utiliser de "vrai FEC", je peux vous assurer que le FEC sort comme tel du logiciel
Dites moi
Germaine
Pour changer de période il suffit de modifier les cellules vertes sur la page HOME. (Liste de choix qui se mettent a jour en fonction des données du FEC.)
Avec les boutons on importe de nouveau FEC.

Je disais vrai FEC parce que le 2023et le 2024 ne sont pas formés pareil.
Dans le 2023 il n'y a pas la colonne EcritureLib si je me souviens bien.
Je me suis servi du 2024 considérant qu'il n'était pas modifié (dans l'ordre et le nombre des colonnes).

Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour