Condenser les données de plusieurs Tableaux Dans Un SEUL
Bonjour à tous et un énième merci à tous ceux qui participent.
J'ai conçu un tableau Excel qui permet de gérer les différentes caisses.
Je voudrais un condensé dans une feuille la première du fichier source.
Si ma méthodologie n'est pas adéquate, bien vouloir m'aider dans une meilleure approche (Tableaux structurés ou non, les dates, la colonne des soldes, ...).
J'utiliser actuellement Excel 2013.
Bonjour à tous.
Nathalie, de mon point de vue, il faudrait revoir la structure de vos tableaux.Après tout est possible.
J'ai rajouté une feuille dans votre fichier : regardez.
Est-ce que vous acceptez les macros ?
Cordialement.
Merci de votre réaction.
Oui, si la macro permet juste de grouper toutes les lignes de tous les tableaux dans la consolidation.
Bonjour à tous.
Nathalie, avez-vous essayé le fichier que je vous ai envoyé ?Vous validez la façon de faire que je vous propose ?
Cordialement.
PAYET Claude
Membre habitué
Messages130
Votes10
Excel365 Fr
Bonjour à tous.
Nathalie, avez-vous essayé le fichier que je vous ai envoyé ?
Vous validez la façon de faire que je vous propose ?
Cordialement.
Bonjour PAYET. Merci pour cet intérêt porté à mon problème. Je viens de revoir cela et j'ai un peu modifié le besoin et je pense que ce serait plus aisé à comprendre, j'ai édité la feuille centralisation. Regardez !
J'ai aussi rajouté les flèches précédent et suivant si vous pouvez les rendre opérationnelle, même si c'est les versions ActiveX que vous remplacerez avec, question d'oublier les macros.
Bonjour à tous.
Nathalie, je vois que vous avez choisi de rester sur vos tableaux de base.
Je suis désolé, mais je ne pourrais pas vous accompagner sur ce dossier.
Cordialement
Bonjour à tous
la solution la plus simple est la fonction =somme(debut:fin!)
Pour celà il faut que les divers onglets soient identiques dans la forme et c'est le cas
On commence par mettre 2 onglets vierges le premier nommé debut juste avant les onglets à additionner et le second fin après les onglets à additionner (à noter que le nom de "debut" et de "fin" ne sont pas obligés, on adapte juste la formule, si on a choisi "avant" et "apres" on mettra la formule =somme(avant:apres!)
Ensuite dans chacune des cases de l'onglet où on veut trouver les sommes des autres onglets (dans ce cas c'est l'onglet CENTRALISATION) on va mettre la formule suivante :
par exemple en D4 : =somme(debut:fin!D4) et en F4 =somme(debut:fin!F4) etc
Et toutes les cases D4 des onglets présents entre les deux onglets vont s'additionner, idem pour F4 et toutes les cellules où il y aura la formule
et chaque fois que vous ajouterez un onglet entre debut et fin, les sommes seront recalculées en incluant les montants de l'onglet
A bientôt
Bonjour
Sachant que les formules d'une colonne de tableau structuré doivent être identiques (sinon risque d'erreurs dans les tableaux) : de façon générale on crée pour cela une ligne pour le solde de départ.
Par ailleurs les tableaux doivent être nommés de façon signifiante : on ne garde pas des noms comme Tableau111121314151718
Il est assez facile de synthétiser par PowerQuery (en add on sur 2013, intégré ensuite) mais l'aspect date n'est pas clair dans ton exemple
Ton premier tableau a un solde initial au 4/10 mais une opération au 01/10 et partout ailleurs les opérations ne sont pas datées...
En l'état... (NB : la barre de défilement des dates ne s'affiche pas bien dans cette copie d'écran)
Bonjour Nathalie et le forum
Malgré plusieurs interventions, Nathalie ne donne pas signe de vie!
Voici ma proposition avec un formulaire de saisie qui permet d'alimenter les différents onglets en choisissant l'entreprise dans le ComboBox du formulaire.
J'ai également modifié la feuille "Centralisation" avec des formules dépendantes de la date saisie en C4. A l'ouverture du fichier la date en C4 sera celle du jour par défaut.
Les flèches permettent de changer de jour en + ou en -
J'ai également uniformisé et renommé tous les tableaux des différents onglets pour le bon fonctionnement de l'application, selon ma compréhension du dossier.
L'onglet "Listes" sert à définir les onglets et les tableaux.
A découvrir
Cdt,
Papy Henri
Bonjour,
Toujours aucune nouvelle de Nathalie
Le précédent fichier (Test2) était basé sur une écriture par jour dans chaque onglet des entreprises.
Voici le fichier Test3 qui permet plusieurs écritures avec la même date, de préférence avec l'appel du formulaire.
En espérant une réponse.
Cdt,
Papy Henri
Bonjour,
Par ce dimanche pluvieux en Bretagne Sud, je reviens et constate que ma version 2 a été téléchargée 7 fois, ma version 3 ,5 fois,et toujours pas de nouvelles de Nathalie.
J'ai revu ces versions pour concocter la version 4 ci-jointe.
Un onglet "CENTRALISATION" identique aux autres versions et un onglet unique "JOURNAL" qui répertorie toutes les opérations pour les différentes entreprises, avec un bouton pour filtrer les opérations de l'entreprise souhaitée. Un autre bouton "RAZ JOURNAL" à n'utiliser qu'en cas de volonté d'effacer tous les enregistrements pour repartir à zéro.
Un contrôle est effectué pour vérifier que l'opération enregistrée ne génère pas un solde négatif.
A découvrir.
Cdt,
Papy Henri
EDIT: Une petite erreur dans le Module pour effacer les données du tableau. Remplacer le code par celui-ci:
Sub RAZ_Journal()
If MsgBox("Souhaitez-vous effacer les données de ce tableau?", vbYesNo, "Confirmation d'effacement") = vbYes Then
If Not Range("T_Journal").ListObject.DataBodyRange Is Nothing Then Range("T_Journal").ListObject.DataBodyRange.Delete
End If
End SubBonjour AFEH
Désolé, je me suis faite arracher une dent et ca me fait très mal.
Avec tes concours, je me suis rendu compte de certains détails.
Je valide le modèle avec chaque feuille par entreprise.
Sachant que chaque entreprise a un journal par jour, j'ai changé la structure des feuilles en Dupliquant "Centralisation" et renommant l'une Dashboard qui reste notre centralisation et l'autre "Journal".
Dashboard ca va!
Journal doit copier pour la date et l'entreprise voulues, ses opérations, et coller dans journal, puis calculer les soldes (Report (j-1) + Entrées (j) - Sorties (j))
Ligne des sous totaux, Signataires, Zone d'impression L1, H1, marge étroite, Paysage, ...
Merci pour le formulaire, il s'emble que les solde ne se calculent pas seuls après une saisie. peux-tu ajouter un bouton "Valier et ajouter une nouvelle saisie" ca peut être même une case à cocher.
Bonjour Nathalie et merci pour ce retour tardif. Désolé pour tes problèmes de santé.
Avant de poursuivre, il me faut quelques explications.
1. La feuille "Dashboard" semble convenir. Elles restitue les soldes à la date du jour. Faut-il garder les touches "Jour précédent" et "Jour suivant"?
2. La feuille "Journal" doit restituer les informations à la date saisie en C4. Question: pour une journée donnée, y a t-il pour chaque entreprise plusieurs enregistrements ou une seule ligne pour l'ensemble des encaissements et décaissements?
3. Ajouter dans le formulaire un bouton (ou autre) pour une nouvelle opération . OUI, on efface les données du formulaire et on saisit de nouvelles données. NON, on ferme le formulaire.
A te relire
Cdt,
Papy Henri
Bonjour Nathalie et merci pour ce retour tardif. Désolé pour tes problèmes de santé.
Avant de poursuivre, il me faut quelques explications.
1. La feuille "Dashboard" semble convenir. Elles restitue les soldes à la date du jour. Faut-il garder les touches "Jour précédent" et "Jour suivant"?
2. La feuille "Journal" doit restituer les informations à la date saisie en C4. Question: pour une journée donnée, y a t-il pour chaque entreprise plusieurs enregistrements ou une seule ligne pour l'ensemble des encaissements et décaissements?
3. Ajouter dans le formulaire un bouton (ou autre) pour une nouvelle opération . OUI, on efface les données du formulaire et on saisit de nouvelles données. NON, on ferme le formulaire.
A te relire
Cdt,
Papy Henri
Merci pour ton engouement à m'aider.
1- Oui (Les flèches zonées dans la plage date initiale et date d'aujourdhui
2- Chaque entreprise est individuelle, et la numérotation des pièces est unique pour chaque ligne. la feuille journal, permettra de sélectionner l'entreprise, puis la date, ou bien un bouton pour éditer le ou les journaux (Clic sur bouton "Editer le journal", un formulaire s'affiche ou on choisi la date, et soit une entreprise, une plage d'entreprise ou toutes les entreprises), le code parcoure les feuilles à la date sélectionnée, extrait les infos souhaitées.
3- Oui oui.
Merci.
Bonsoir,
En attendant ta réponse, j'avais commencé à modifier dans le sens voulu.
Voici la version 3 bis.
-Le formulaire s'affiche avec la date du jour, modifiable avec la toupie rouge. Après avoir cliqué sur "Ajouter", les opérations sont écrites dans le tableau de l'entreprise concernée. Si on veut continuer , cliquer OUI: le formulaire est à nouveau disponible pour une nouvelle opération. Cliquer sur NON, le formulaire disparait.
J'ai modifié les formules en colonne F (Solde) de l'onglet "Journal" en espérant que le résultat est celui souhaité.
Cdt,
Papy Henri
Bonjour AFEH et merci infiniment.
J'ai téléchargé et observé, nous y sommes presque. J'ai laissé plus les commentaires dans le fichier joint.
Sachant que c'est un fichier de caisse, je me rends compte que vous avez juste optimisé sur les décaissements, or chacune des opérations doit être disctincte.
Décaissement -> sortie de trésorerie -> diminution des soldes, et inversement pour les encaissements. quand je simule une OP, le solde ne s'actualise pas bien.
J'ai donc une peu modifié le formulaire et laissé des commentaires dans les feuilles et le code du formulaire pour mieux t'éclairer et ne pas surcharger ici.
Bonjour Nathalie,
J'ai revu le formulaire de saisie en fonction de tes remarques.
Quand on fait un Encaissement, c'est une opération distincte. La ventilation entre le montant saisi et la somme calculée est contrôlée. En cas de différence, faire la rectification dans les zones du formulaire.
Quand on fait un Décaissement: mêmes remarques, avec en plus un contrôle sur le solde précédent, à ne pas dépasser.
Les opérations se numérotent automatiquement (1, 2, 3, etc.), donc plus de saisie à ce niveau.
Concernant le journal, j'ai fait quelque chose qui fonctionne (clic sur "EDITER LE JOURNAL), mais il y a surement une autre méthode plus simple que la mienne, qui va laisser des lignes vides qu'il faudra supprimer avant d'imprimer.
Peut-être qu'un autre intervenant se fera le plaisir de te proposer une solution plus adéquate.
BON Week End
Cdt,
Papy Henri
Bonjour,
J'ai trouvé une autre solution pour alimenter le Tableau Journal. Le tableau Journal est devenu un Tableau Structuré.
Voici la Version 5Bis
Bonsoir Nathalie et le forum,
Je reviens avec mon idée de la version 4, contenant un seul onglet pour les mouvements de toutes les entreprises.
Les opérations sont identiques à la version 5bis, mais toutes sont enregistrées dans la feuille "Mvts".
Les extractions dans la feuille "Journal" sont définies par la date et par le nom de l'entreprise.
Plus de ligne vide en fin de tableau.
Si la version 5 bis est préférée, voici une correction à apporter à la macro Extraction, située sous la feuil1 (Journal), qui évite également la dernière ligne vide lors du clic sue "EDITER LE JOURNAL"
Sub Extraction()
Dim WsE As String, Ws1 As Worksheet, lg As Integer, TblBD As Variant, dat As String, nb As Integer, j As Integer, TS As ListObject
Set Ws1 = Sheets("Journal")
Set TS = Ws1.Range("T_Journal").ListObject
WsE = Ws1.Range("D3") 'nom de la feuille concernée
dat = Ws1.Range("C4") 'date choisie
ligne = 1
'on efface les données du tableau Journal et on ajoute 1 ligne
With TS
If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
End With
'on recherche le tableau correspondant à la feuille sélectionnée
With Sheets("Listes").Range("T_Entr").ListObject
lg = .DataBodyRange.Find(WsE).Row - .HeaderRowRange.Row
TblBD = .DataBodyRange.Item(lg, 2)
End With
'on recherche dans le tableau concerné les lignes à extraire ayant la date choisie dans le journal
With Sheets(WsE).Range(TblBD).ListObject
For i = 1 To .ListRows.Count
If .DataBodyRange.Item(i, 1) = CDate(dat) Then
TS.ListRows.Add
For j = 2 To 19
TS.DataBodyRange.Item(ligne, j - 1) = .DataBodyRange.Item(i, j)
Next j
ligne = ligne + 1
End If
Next i
End With
End SubCdt,
Papy Henri
Voici la version 4Bis
Bonsoir Papy, Bonsoir le forum
Bonsoir Nathalie et le forum,
Je reviens avec mon idée de la version 4, contenant un seul onglet pour les mouvements de toutes les entreprises.
Les opérations sont identiques à la version 5bis, mais toutes sont enregistrées dans la feuille "Mvts".
Les extractions dans la feuille "Journal" sont définies par la date et par le nom de l'entreprise.
Plus de ligne vide en fin de tableau.
Si la version 5 bis est préférée, voici une correction à apporter à la macro Extraction, située sous la feuil1 (Journal), qui évite également la dernière ligne vide lors du clic sue "EDITER LE JOURNAL"
Je voudrais bien les feuilles distinctes pour une analyse fluide.
Par contre,
Merci infiniment. C'est presque ce que je veux. le journal en tableau structuré est mieux.
- Pouvez-vous SVP mettre le report de solde d'ouverture et le solde de fermeture lors de l'édition du journal et générer pour une journée, le journal de chaque entreprise dans un nouveau classeur nommé Caisse_du_&datedujour.xlsx dans lequel chaque feuille sera le journal extrait de chaque entreprise même vierge (aucune donnée à extraire, juste report et solde finale) ?
- Ensuite, que le formulaire s'affiche proportionnellement à la taille de l'écran sans perte des données (Ajustement auto des control et contenus)
- Supprimer également l'alerte qui s'affiche quand je veux enregistrer SVP
J'ai un peu modifié le code d'édition du journal dans la macro Version Test5-Ter pour laisser le choix du type de journal.