Trier et totaliser par N° de compte (EXCEL)
Résolu
andremo
Messages postés
15
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Sous EXCEL 2003, j'ai un fichier de compta avec en feuille 1 "le journal" et les champs suivants: dates, trimestre, type, montants, libellé, montants,N° de compte, N° d'activité.
Les N° de compte sont précedés des caractéres "P-" pour les recettes (Ex: P-75601) ou "D-" pour les depenses (Ex: D-40601).
En feuille 2 je souhaite trier les enregistrements de recettes, les regrouper et effectuer le total par N° de compte.
En feuille 3 je souhaite trier les enregistrements de dépenses, les regrouper et effectuer le total par N° de compte.
Le tri et le total par N° de compte doit s'effectuer automatiquement aprés: ajout, suppression ou modification d'un enregistrement sur le journal de la feuille 1.
Pouvez vous m'aider à realiser ces modifications.
Merci d'avance.
A. M.
Sous EXCEL 2003, j'ai un fichier de compta avec en feuille 1 "le journal" et les champs suivants: dates, trimestre, type, montants, libellé, montants,N° de compte, N° d'activité.
Les N° de compte sont précedés des caractéres "P-" pour les recettes (Ex: P-75601) ou "D-" pour les depenses (Ex: D-40601).
En feuille 2 je souhaite trier les enregistrements de recettes, les regrouper et effectuer le total par N° de compte.
En feuille 3 je souhaite trier les enregistrements de dépenses, les regrouper et effectuer le total par N° de compte.
Le tri et le total par N° de compte doit s'effectuer automatiquement aprés: ajout, suppression ou modification d'un enregistrement sur le journal de la feuille 1.
Pouvez vous m'aider à realiser ces modifications.
Merci d'avance.
A. M.
A voir également:
- Trier et totaliser par N° de compte (EXCEL)
- Excel trier par ordre croissant chiffre - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et ou excel - Guide
- Créer un compte google - Guide
7 réponses
bonjour
Le tri et le total par N° de compte doit s'effectuer automatiquement aprés: ajout, suppression
il faut travailler avec une macro VBA évenementielle et pour t'aider,
ce serais bien que tu nous mettes un petit bout de fichier sans données confidentielles.
tu peux mettre un fichier test ici : https://www.cjoint.com/
et donner le code lien fourni dans ce sujet.
Le tri et le total par N° de compte doit s'effectuer automatiquement aprés: ajout, suppression
il faut travailler avec une macro VBA évenementielle et pour t'aider,
ce serais bien que tu nous mettes un petit bout de fichier sans données confidentielles.
tu peux mettre un fichier test ici : https://www.cjoint.com/
et donner le code lien fourni dans ce sujet.
Bonjour gbinforme,
J'ai mis le fichier souhaité sur Cjoint.https://www.cjoint.com/?gvl2T3oRAR
Le fichier est composé de 3 feuilles:
La 1ére comporte le journal
La 2éme comporte les dépenses par N° de Compte (réaliser manuellement)
La 3éme comporte les recettes par N° de Compte ( réalisé manuellement)
Ce que je souhaite obtenir: Que les 2éme et 3éme feuilles se mettent à jour automatquement en fonction des modifications de saisie dans la feuille Journal.
Merci de ton aide
A. M.
J'ai mis le fichier souhaité sur Cjoint.https://www.cjoint.com/?gvl2T3oRAR
Le fichier est composé de 3 feuilles:
La 1ére comporte le journal
La 2éme comporte les dépenses par N° de Compte (réaliser manuellement)
La 3éme comporte les recettes par N° de Compte ( réalisé manuellement)
Ce que je souhaite obtenir: Que les 2éme et 3éme feuilles se mettent à jour automatquement en fonction des modifications de saisie dans la feuille Journal.
Merci de ton aide
A. M.
bonsoir.
Je viens de récupérer ton fichier et je penses que cela doit être possible de faire cela.
Il me faut un peu de temps libre et je te mets le résultat.
à bientôt.
Je viens de récupérer ton fichier et je penses que cela doit être possible de faire cela.
Il me faut un peu de temps libre et je te mets le résultat.
à bientôt.
bonsoir
Voilà ce que tu voulais est réalisé et disponible ici : https://www.cjoint.com/?gwashr2a4O
En fait, tu peux saisir autant d'écritures que tu veux dans le journal,
et c'est lorsque tu vas dans la feuille dépenses ou recettes qu'elle est mise à jour.
Pour cela, lors de l'activation de la feuille, on appelle une macro avec le paramètre
correspondant soit aux recettes soit aux dépenses.
La macro se trouve dans le module1 :
Il suffit de la copier dans ton classeur de travail, et de rajouter la macro évenementielle
dans les feuilles correspondantes :
ou
Tiens nous au courant du résultat de tes tests
Voilà ce que tu voulais est réalisé et disponible ici : https://www.cjoint.com/?gwashr2a4O
En fait, tu peux saisir autant d'écritures que tu veux dans le journal,
et c'est lorsque tu vas dans la feuille dépenses ou recettes qu'elle est mise à jour.
Pour cela, lors de l'activation de la feuille, on appelle une macro avec le paramètre
correspondant soit aux recettes soit aux dépenses.
La macro se trouve dans le module1 :
Option Explicit
Public c As Integer 'colonne du N° de compte
Public i As Integer 'indice écriture
Public j As Integer 'indice colonne
Public l As Integer 'ligne compte
Public k As Integer 'colonne compte
Public Const cpt = "N° Compte" 'libellé colonne N° compte
Public Const czi = "Journal" 'libellé feuille de saisie journal
Public Const rec = "P-" 'début libellé compte recettes
Public Const dep = "D-" 'début libellé compte dépenses
Public Const mnt = "Montants" 'libellé colonne montants
Public Const tit = 2 'ligne titre
Public Sub cre_feuille(sel As String)
' initialisation feuille
Cells(tit, 1).RemoveSubtotal
' recherche de la dernière ligne
j = 0
For i = 1 To Cells(tit, 1).End(xlToRight).Column
If Cells(65536, i).End(xlUp).Row > j Then
j = Cells(65536, i).End(xlUp).Row
End If
Next i
Cells(tit + 1, 1).Resize(j, Cells(tit, 1).End(xlToRight).Column).ClearContents
' recherche de la colonne du N° de compte
For i = 1 To Sheets(czi).Cells(tit, 1).End(xlToRight).Column
If Sheets(czi).Cells(tit, i).Value = cpt Then c = i
Next i
' recherche des écritures
l = tit
For i = 4 To Sheets(czi).Cells(65536, 1).End(xlUp).Row
If Left(Sheets(czi).Cells(i, c).Value, 2) = sel Then
l = l + 1
For k = 1 To Sheets(czi).Cells(tit, 1).End(xlToRight).Column
For j = 1 To Cells(tit, 1).End(xlToRight).Column
If Sheets(czi).Cells(tit, k).Value = _
Cells(tit, j).Value Then
Cells(l, j).Value = Sheets(czi).Cells(i, k).Value
Exit For
End If
Next j
Next k
End If
Next i
' recherche de la colonne du N° de compte
For i = 1 To Cells(tit, 1).End(xlToRight).Column
If Cells(tit, i).Value = cpt Then c = i
Next i
' recherche de la colonne Montants
For i = 1 To Cells(tit, 1).End(xlToRight).Column
If Cells(tit, i).Value = mnt Then j = i
Next i
' tri des écritures
Cells(tit, 1).Resize(l, Cells(tit, 1).End(xlToRight).Column).Sort _
Key1:=Cells(tit + 1, c), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Cells(tit, 1).Subtotal GroupBy:=c, Function:=xlSum, TotalList:=Array(j), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
End Sub
Il suffit de la copier dans ton classeur de travail, et de rajouter la macro évenementielle
dans les feuilles correspondantes :
Private Sub Worksheet_Activate()
Call cre_feuille(rec)
End Sub
ou
Private Sub Worksheet_Activate()
Call cre_feuille(dep)
End Sub
Tiens nous au courant du résultat de tes tests
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci gbinforme,
j'ai bien reçu le dossier, mais quand je veux l'ouvrir j'ai le message suivant qui s'affiche:"Les macros de ce classeur sont désactivées car le niveau de sécurité est élevé et elles n'ont pas été signées numériquement au moyen d'un certificat approuvé. ........."
Est un probléme de Config. au niveau de mon PC ??
Si oui que faire ??
Je suis absent jusqu'a lundi
Merci pour toute ton aide.
A. M.
j'ai bien reçu le dossier, mais quand je veux l'ouvrir j'ai le message suivant qui s'affiche:"Les macros de ce classeur sont désactivées car le niveau de sécurité est élevé et elles n'ont pas été signées numériquement au moyen d'un certificat approuvé. ........."
Est un probléme de Config. au niveau de mon PC ??
Si oui que faire ??
Je suis absent jusqu'a lundi
Merci pour toute ton aide.
A. M.
bonjour
le niveau de sécurité est élevé
Effectivement pour utiliser les macros, il faut autoriser la procédure.
Pour cela, faire le menu Outils/macro/sécurité et cocher :
- soit sécurité moyen : un message s'affiche à l'ouverture pour demander l'autorisation.
- soit sécurité faible : pas de message mais toutes les macros sont autorisées.
bon test
le niveau de sécurité est élevé
Effectivement pour utiliser les macros, il faut autoriser la procédure.
Pour cela, faire le menu Outils/macro/sécurité et cocher :
- soit sécurité moyen : un message s'affiche à l'ouverture pour demander l'autorisation.
- soit sécurité faible : pas de message mais toutes les macros sont autorisées.
bon test