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 :

Macro : Grouper + Sous total


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Janvier 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Janvier 2018
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Macro : Grouper + Sous total
    Bonjour,

    Je suis preneur d'une aide pour une macro.

    Je dois grouper par catégorie suivant 3 colonnes. Et à chaque groupe avoir le total de la ligne en gras.

    Mes 2 groupes crées via la colonne A, j'aimerais avoir en libellé sur n'importe quelle cellule le mot du dessus 'CDD ou CDI' et le total de la ligne.
    Idem pour les groupes de colonne B
    et idem pour les groupes de colonne C

    Jusqu'ici j'arrive plus ou moins à rajouter mes lignes et grouper mais je pense que le code peut être améliorer.
    Ci joint un début de code pour ajouter les groupes de colonnes A et B... Apres je me perds…

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Dim C As Range
    Set C = Cells(1, 1).End(xlDown)
    J = 2
    I = 2
     
    Do Until I > C.Row
        If Not Cells(I, 1) = Cells(I + 1, 1) Then
            Cells(I + 1, 1).EntireRow.Insert
            Range(Cells(J, 2), Cells(I, 2)).EntireRow.Group
            I = I + 1
            J = I + 1
        End If
        I = I + 1
    Loop
     
    Dim D As Range
    Set D = Cells(1, 2).End(xlDown)
    L = 2
    K = 2
     
    Do Until K > C.Row
        If Not Cells(K, 2) = Cells(K + 1, 2) Then
            Cells(K + 1, 1).EntireRow.Insert
            Range(Cells(L, 2), Cells(K, 2)).EntireRow.Group
            K = K + 1
            L = K + 1
        End If
        K = K + 1
    Loop
    Merci d'avance pour votre aide.

    test groupe.xlsx

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 166
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour,

    Personnellement je n'ai pas compris ce que vous essayez de faire. Pourriez-vous présenter une image de ce que vous attendez en résultat final ?

    Cordialement.

  3. #3
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut,

    A mon avis, sans passer par VBA, les fonctions natives d'Excel devraient suffire.
    NB.SI ou NB.SI.ENS

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  4. #4
    Candidat au Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Janvier 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Janvier 2018
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Désolé je pensais avoir été compris.

    J'ai déjà un bouton clicable avec ma macro dedans, tout plein de remise en forme. J'aimerais que le rendu final soit comme celui qui est en PJ.
    Un groupe "CDD et CDI" et un autre groupe "Poste". J'arrive a créer les groupes (plus ou moins, code à ameliorer) mais c'est au niveau des totaux et du libellé à inscrire que je bloque…)

    Il faudrait que l'utilisateur final décide d'appuyer sur le + à gauche pour voir le détail.

    Merci d'avance
    Fichiers attachés Fichiers attachés

  5. #5
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut,

    Sans flagornerie aucune (car ce n'est pas mon genre), je rappelle cette règle.
    Penser Excel avant VBA

    Il te faut d'abord écrire, dans la feuille Excel, une formule utilisant comme fonction NB.SI ou NB.SI.ENS.
    Cette formulation doit bien entendu retourner le résultat recherché.

    Dans la partie VBE (ALT + F11)
    - afficher la fenêtre Exécution (CTRL + G)
    - écrire dans celle-ci, à adapter bien entendu en termes d'adresse),
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ?Worksheets("lafeuille").Range("A1").Formula
    Ne pas oublier le "?"
    Puis activer la touche "Entrée"
    -dans la procédure affectée à ton bouton de commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").Value = Evaluate("laformule retournée précédemment")
    Tu peux copier le résultat figurant dans la fenêtre Exécution vers ta procédure en y ajoutant la fonction Evaluate et les guillemets

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  6. #6
    Candidat au Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Janvier 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Janvier 2018
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Je ne vois pas comment une formule NB.SI ou NB.SI.ENS peut m'aider dans mon problème…

    Je voudrais grouper et ajouter des totaux par groupe (on peut dériver via SOMME.SI.ENS je suis d'accord, mais la non plus ca m'aide pas trop…

  7. #7
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut,

    As-tu consulté les espaces documentaires que je t'ai indiqués?

    Voir aussi SommeProd

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  8. #8
    Membre expérimenté
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 747
    Points : 1 332
    Points
    1 332
    Par défaut
    Bonjour à tous,

    Connaissez-vous l'outil Sous-total ?
    Triez vos données par Type Contrat puis Cat Emploi
    Onglet Données - Sous-total
    A chaque changement de Type contrat
    Somme
    Cocher les cases
    OK
    Onglet Données - Sous-total
    A chaque changement de Cat Emploi
    Somme
    Cocher les cases
    Décocher Supprimer les sous-totaux existants
    OK

  9. #9
    Candidat au Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Janvier 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Janvier 2018
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci pour vos réponses.

    Mais un grand merci @tototiti2008 j'ai pu l'adapter en VBA c'est exactement ce que je cherchais

  10. #10
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 411
    Points : 2 162
    Points
    2 162
    Par défaut
    Bonjour,
    Il me semble qu'un tableau dinamique croisé ferait la même chose!

  11. #11
    Candidat au Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Janvier 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Janvier 2018
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Si ça avait été qu’un TCD j’aurais pas demandé de l’aide ici.
    On parle d’une extraction qui nécessite X remise en forme avant d’être utiliser en tableau. Puis pour le rendu, les groupes c’est parfait.

    L’utilisateur final n’aura qu’à cliquer sur le bouton pour activer la macro...

Discussions similaires

  1. Macro VBA sous total Excel
    Par tristanp dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 16/03/2017, 13h03
  2. [XL-2010] Problème macro sous.total
    Par Leilou65 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/03/2017, 11h00
  3. [XL-2000] Macro sous.total dynamique
    Par stgsmc28 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/02/2014, 18h27
  4. Macro sous total et export pdf
    Par hogun06 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/02/2014, 00h25
  5. Macro somme/sous.total(9;..) automatique avec code couleur
    Par jerem2007 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 03/07/2009, 20h46

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