IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Possibilité de créer des sous-totaux sur VBA [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Employé voulant apprendre à automatiser
    Inscrit en
    Février 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Employé voulant apprendre à automatiser

    Informations forums :
    Inscription : Février 2018
    Messages : 61
    Par défaut Possibilité de créer des sous-totaux sur VBA
    Bonjour à tous,

    Je cherche à automatiser une reconciliation entre 2 sources de données.

    J'ai déjà fait pas mal de choses sur mon code, mais là je bloque sur un cas ou j'aimerai créer des sous-totaux puis les copier pour les coller sur un autre onglet excel.


    Alors voilà en gros, mes 3 premières colonnes sont :

    Agreement, Sec ID, Amount

    J'ai pu ranger mon fichier en classant par odre alphabetique en fonction de la colonne Agreement.

    Je voudrais créer des sous totaux de la colonne "Amount" à chaque fois que l'Agreement change.


    Ensuite idéalement je voudrai pouvoir copier coller ces sous-totaux dans un autre onglet.

    Merci d'avance,

    Mrmouche30

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    cette fonctionnalité existant déjà sous Excel, activer l'Enregistreur de macro puis opérer manuellement :
    une base de code est ainsi générée !

    Voir aussi la fonction de feuille de calculs SOUS.TOTAL dans l'aide d'Excel
    et la méthode Range.Subtotal dans l'aide VBA …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Dans ton autre onglet tu ne pourrais pas mettre un TCD ça se met à jour très facilement et c'est beaucoup plus simple

  4. #4
    Membre averti
    Homme Profil pro
    Employé voulant apprendre à automatiser
    Inscrit en
    Février 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Employé voulant apprendre à automatiser

    Informations forums :
    Inscription : Février 2018
    Messages : 61
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    Bonjour,

    cette fonctionnalité existant déjà sous Excel, activer l'Enregistreur de macro puis opérer manuellement :
    une base de code est ainsi générée !

    Voir aussi la fonction de feuille de calculs SOUS.TOTAL dans l'aide d'Excel
    et la méthode Range.Subtotal dans l'aide VBA …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

    Bonjour Marc,

    Merci pour ta réponse, j'ai pu réussir mon code pour créer le sub total

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      Worksheets("Collateral").Activate
        Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(6)
    Au final j'ai quelques colonnes en plus, et j'ai préféré obtenir mon sous total à la colonne 6 pour chaque changement de la colonne 1.

    J'aimerai maintenant pouvoir copier chacun de mes soustotaux dans une autre feuille, de façon a les avoir dans une colonne et pouvoir réconcilier avec une autre source de données.

    Je me pose peut être la questions si c'est possible de créer une colonne 7, d'écrire les sous-totaux de la colonne 6 dans la colonne 7, histoire de pouvoir copier cette colonne 7, de supprimer les lignes vides et d'avoir ma colonne comme je le veux pour pouvoir lancer ma réconciliation

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Normalement ils sont repérables par un nom …

  6. #6
    Membre averti
    Homme Profil pro
    Employé voulant apprendre à automatiser
    Inscrit en
    Février 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Employé voulant apprendre à automatiser

    Informations forums :
    Inscription : Février 2018
    Messages : 61
    Par défaut
    Tu n'as pas tort, par contre étant donné que le nombre d'agreements varient dans le temps, cela serait mieux de rechercher dans la colonne 1 les lignes ou y a un mot "Total" et ensuite prendre la valeur de la colonne 6.

    Je vais voir ce que je peux faire

  7. #7
    Membre averti
    Homme Profil pro
    Employé voulant apprendre à automatiser
    Inscrit en
    Février 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Employé voulant apprendre à automatiser

    Informations forums :
    Inscription : Février 2018
    Messages : 61
    Par défaut
    Je suis en train de jongler sur un bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sheets("Collateral").Columns("A").Find _
    What:="Total", Select.cells(.Column.Count, 6).End(x1Up).Row)).Copy Sheets ("Result").Cells(1)
    Il ne fonctionne pas pour le moment, mais je me demande juste si je cherche dans la bonne direction ou si je m'embourbe.

    L'idée étant de chercher dans la colonne A un mot "Total" puis de copier le contenu de la colonne 6 et la copier dans la Sheets "Result"

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par mrmouche30 Voir le message
    Alors voilà en gros, mes 3 premières colonnes sont :

    Agreement, Sec ID, Amount

    J'ai pu ranger mon fichier en classant par odre alphabetique en fonction de la colonne Agreement.
    Je voudrais créer des sous totaux de la colonne "Amount" à chaque fois que l'Agreement change.

    Ensuite idéalement je voudrai pouvoir copier coller ces sous-totaux dans un autre onglet.
    Tu copies ta colonne Agreement dans un autre onglets.
    Tu en fais une liste sans doublons avec RemoveDuplicates : https://msdn.microsoft.com/fr-fr/lib.../ff193823.aspx
    Tu scrutes cette nouvelle ligne avec une boucle For To et, pour chaque élément, tu fais un Sum.if en utilisant WorksheetFunction pour avoir la somme des montants de cet Agreement.
    https://msdn.microsoft.com/library/f...ice.15%29.aspx

    Ca doit pouvoir se faire environ en 5 lignes (6 lignes avec les déclarations) et pas besoin de classement préalable.

  9. #9
    Membre averti
    Homme Profil pro
    Employé voulant apprendre à automatiser
    Inscrit en
    Février 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Employé voulant apprendre à automatiser

    Informations forums :
    Inscription : Février 2018
    Messages : 61
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Tu copies ta colonne Agreement dans un autre onglets.
    Tu en fais une liste sans doublons avec RemoveDuplicates : https://msdn.microsoft.com/fr-fr/lib.../ff193823.aspx
    Tu scrutes cette nouvelle ligne avec une boucle For To et, pour chaque élément, tu fais un Sum.if en utilisant WorksheetFunction pour avoir la somme des montants de cet Agreement.
    https://msdn.microsoft.com/library/f...ice.15%29.aspx

    Ca doit pouvoir se faire environ en 5 lignes (6 lignes avec les déclarations) et pas besoin de classement préalable.
    Salut Mehnir,

    Je vais essayer de tester ta boucle, voir si j'arrive à faire ce que tu me dis, ça pourrait bien m'aider dans ma situation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 26
    Dernier message: 12/09/2016, 18h11
  2. [XL-2003] Tri sur des sous totaux
    Par devdev dans le forum Excel
    Réponses: 2
    Dernier message: 16/11/2011, 10h29
  3. [XL-2007] Appliquer des sous-totaux sur des données stockées en mémoire
    Par wyzer dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/04/2011, 10h07
  4. [PEAR][DB][Datagrid] créer des sous-totaux dans un datagrid
    Par Garra dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/10/2008, 15h46
  5. creer des sous totaux en VBA
    Par facteur dans le forum Macros et VBA Excel
    Réponses: 39
    Dernier message: 01/05/2008, 22h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo