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 :

Somme avec condition vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut Somme avec condition vba
    Bonjour tout le monde,
    Je suis entrain de finaliser un code vba, et j'aurais besoin d'un coup de pouce.
    suivant le fichier joint, pourriez vous m'aider à faire la somme de la colonne "V" si la colonne "A" reste inchangée. et inscrire le total dans une autre feuille en Range("A1").
    schéma
    "A" "V"
    300007 2522222
    300007 3665552
    300007 35522222
    Total
    300031 6666666
    300031 5555555
    total

    Merci infiniment
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Utilise SOUS.TOTAL offert par excel

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut
    Merci mais Ca ne résout pas mon problème. Ca c est juste un bout de code d'une macro qui traite pas mal d'informations. Il me le faut absolument en vba si vous pouvez bien
    Amicalement

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Voici une solution avec VBA.
    Le récapitulatif, les sous-totaux et le total général sont notés dans la feuille « recap ».
    J’ai supposé que ta liste était déjà triée.
    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
    30
    31
    Option Explicit
    Sub Total()
    Dim DerLig As Long, LigneAjout As Long, i As Long, Valeur As Long
    Dim var1 As Single, var2 As Single
    Dim Compteur As Double
    Dim Ws1 As Worksheet
    Dim Ws2 As Worksheet
     
        Set Ws1 = Worksheets("psa40276")
        Set Ws2 = Worksheets("Recap")
        DerLig = Ws1.Range("A" & Ws1.Rows.Count).End(xlUp).Row
        LigneAjout = 1
     
        Ws2.Range("A:B").ClearContents
        For i = 1 To DerLig
            Compteur = Compteur + Ws1.Range("V" & i).Value
            var1 = Ws1.Range("A" & i).Value
            var2 = Ws1.Range("A" & i).Offset(1, 0).Value
            If var2 <> var1 Then
                Ws2.Range("A" & LigneAjout) = var1
                Ws2.Range("B" & LigneAjout) = Compteur
                Compteur = 0
                LigneAjout = LigneAjout + 1
            End If
        Next i
        Ws2.Range("A" & LigneAjout) = "Total"
        Ws2.Range("B" & LigneAjout) = Application.WorksheetFunction.Sum(Ws2.Range("B1:B" & LigneAjout))
     
        Set Ws1 = Nothing
        Set Ws2 = Nothing
    End Sub
    Cordialement .

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Sous.Total d'Excel appliqué en vba sur ton fichier (Si le fichier comportait les titres en ligne 1, ça serait encore plus facile)
    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
    Sub Test()
     
    Application.ScreenUpdating = False
    With Worksheets("psa40276")
        'on enlève l'éventuel sous total
        .UsedRange.RemoveSubtotal
        'on insère les titres de colonnes
        .Rows(1).Insert
        .Range("A1:AD1").Value = "X"
        'Appliquer le sous total
        .UsedRange.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30), Replace:=True, PageBreaks:=False, SummaryBelowData:=True
        'on supprime la première ligne ajoutée des titres
        .Rows(1).Delete
    End With
    End Sub

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut
    Bonsoir,
    Merci bcp les gras, vos macro marchent à merveille.
    Il n’y a plus qu'a choisir
    Bonne soirée.

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

Discussions similaires

  1. somme avec condition de fréquence
    Par V i n c e n t dans le forum Excel
    Réponses: 2
    Dernier message: 30/04/2009, 08h40
  2. fonction somme avec condition
    Par damien40 dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/05/2008, 19h33
  3. somme avec condition
    Par PC81 dans le forum Excel
    Réponses: 8
    Dernier message: 21/04/2008, 11h40
  4. calcul somme avec condition
    Par igour dans le forum Access
    Réponses: 2
    Dernier message: 22/01/2007, 16h21
  5. [XML][Debutant]Faire une somme avec condition...
    Par cackybis dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2006, 16h07

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