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 :

inserer un sous-total avec condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2022
    Messages : 3
    Par défaut inserer un sous-total avec condition
    bonjour,
    je souhaiterai svp, en VBA , additionner une colonne avec des NBR et insérer un sous total à chaque fois, j'ai un total prédéfinie (voir tableau)
    ci-joint un fichier si vous pouvez m'aider (je ne maitrise pas de tout le VBA)
    merci d'avancePièce jointe 645582
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour adel, la forum
    dans le premier cas de ton exemple du valeur 2 au valeur 5 la somme est 18
    et si on ajoute la 6ème valeur on arrive à 30
    tu veux insérer le sous total après le 18 ou le 30 ??

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2022
    Messages : 3
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    bonjour adel, la forum
    dans le premier cas de ton exemple du valeur 2 au valeur 5 la somme est 18
    et si on ajoute la 6ème valeur on arrive à 30
    tu veux insérer le sous total après le 18 ou le 30 ??
    merci pour ton retour

    désolé, je me suis mal exprimer, j'ai refais le tableau , je veux dispatcher le total de traitement de la colonne A (1 traitement par ligne voir tableau)
    par le nbre des gestionnaires ( j'ai 5 dans mon tableau)

    donc le total de traitement (29) deviser / par le nombre de gestionnaire (5) = le nombre de tache par gestionnaire (5.8 j'arrondie à 6)

    le bute dans la colonne A à chaque fois j'ai la somme 6 j'insert un sous total


    dans la vrais vie on a 35 milles taches que je dois dispatcher sur 15 personnes
    MERCI

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Bonjour, teste ceci, évidemment les sous-totaux ajoutés modifient les résultats de tes formules.

    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
    Sub AjouterSousTotal()
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Sheets("Feuil1") ' Remplace "NomDeTaFeuille" par le nom réel de ta feuille
     
        Dim totalMinimum As Double
        totalMinimum = 23.8
     
        Dim ligne As Integer
        ligne = 2 ' Commence à la deuxième ligne, puisque la première ligne est une en-tête
     
        Do While ws.Cells(ligne, 1).Value <> "" ' Continue tant que la cellule n'est pas vide
            Dim totalPartiel As Double
            totalPartiel = 0
     
            Do
                totalPartiel = totalPartiel + ws.Cells(ligne, 1).Value
                ligne = ligne + 1
            Loop Until totalPartiel >= totalMinimum Or ws.Cells(ligne, 1).Value = "" ' Continue tant que le total partiel est inférieur au minimum ou que la cellule est vide
     
            If totalPartiel >= totalMinimum Then
                ' Insérer une nouvelle cellule
                ws.Cells(ligne, 1).Insert Shift:=xlDown
                ' Insérer le sous-total
                ws.Cells(ligne, 1).Value = totalPartiel
                ' Se décaler d'une ligne vers le bas pour calculer sous-total suivant
                ligne = ligne + 1
            End If
        Loop
    End Sub


    [EDIT]
    J'ai constaté que la dernière cellule contenant la formule, était aussi additionnée, il faut donc remplacer la ligne DO WHILE par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Do While ws.Cells(ligne, 1).Value <> "" And ws.Cells(ligne + 1, 1).HasFormula = False
    Si tu remplaces ta formule en A26 par =SOMME.SI(A2:A25;"<23,8") tu obtiendras le résultat correct, sans additionner les sous-totaux.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 300
    Par défaut formula
    il faut dans la macro insérer la propriété cells.formula = qui reprend la syntaxe de la formule de la feuille excel

Discussions similaires

  1. [AC-2007] Rendre visible un sous formulaire avec condition
    Par Rominou28 dans le forum IHM
    Réponses: 19
    Dernier message: 19/05/2015, 11h25
  2. Réponses: 7
    Dernier message: 23/02/2013, 16h34
  3. boucle sous vba avec condition
    Par ons1402 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/06/2012, 12h20
  4. faire une boucle sous vba avec condition
    Par ons1402 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/03/2012, 17h16
  5. [PROC] Sous total avec plusieurs conditions
    Par Cloaq dans le forum SAS Base
    Réponses: 3
    Dernier message: 12/08/2011, 16h58

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