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 :

Sous-totaux classé par valeur et par année


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1
    Par défaut Sous-totaux classé par valeur et par année
    Bonjour, je suis novice en VBA et on m'a demandé de coder une macro qui à mon gout est vraiment trop compliquée. Je m'explique :

    J'ai un tableau avec
    dans la première colonne un mot plus une date (exemple : "ajustement part fixe 05/07" ou "ajustement terme à échoir 12/08) le premier chiffre étant un mois et le deuxième l'année.
    Dans la deuxième colonne un chiffre (positif ou négatif)

    Le but de ma macro est de faire la somme de chaque nombre de la deuxieme colonne pour chaque paire de conditions "année + premier terme de la 1ere colonne"

    C'est pas tres clair mais je vais vous faire un exemple :


    ajustement part fixe 05/08 40
    ajustement part fixe 10/07 50
    ajustement terme à échoir 12/08 45
    ajustement part fixe 6/07 40
    ajustement terme à échoir 11/08 20
    ajustement part fixe 10/08 32
    ajustement part fixe 01/05 35
    ajustement part fixe 05/07 40

    Et je dois afficher ensuite automatiquement :
    Total ajustement part fixe 2008 = 72
    Total ajustement part fixe 2007 = 130
    Total ajustement part fixe 2006 = 0
    Total ajustement part fixe 2005 = 35
    Total ajustemen terme à échoir 2008 = 65
    etc...

    Je précise aussi que le tableau est un reporting automatique qui a une longueur variable à chaque fois....

    Si quelqu'un peut au moins me donner une piste pour commencer ça serait vraiment sympa.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut Goutlett et le forum
    Comme il me manque des infos, j'ai décidé :
    Entrées : A intitulé, B nombre à additionner
    Sorties : E Titre, F Totaux
    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
    32
    Sub test()
    Dim X As Long
    Dim Y As Integer
    Dim Tab_V()
    Dim Cel As Range
    Dim Flg As Boolean
     
    ReDim Tab_V(1 To 2, 0 To 0)
    For Each Cel In Range([A1], [A65536].End(xlUp))
        Tab_V(1, 0) = Cel
        Y = InStr(Tab_V(1, 0), "/")
        Tab_V(1, 0) = Trim(Left(Tab_V(1, 0), Y - 3))
        Tab_V(2, 0) = Right(Trim(Cel), 2)
        Flg = True
        For X = 0 To UBound(Tab_V, 2)
            If Tab_V(1, X) = Tab_V(1, 0) & " 20" & Tab_V(2, 0) Then
                Tab_V(2, X) = Tab_V(2, X) + Cel.Offset(0, 1)
                Flg = False
                Exit For
            End If
        Next X
        If Flg Then
            ReDim Preserve Tab_V(1 To 2, 0 To UBound(Tab_V, 2) + 1)
            Tab_V(1, UBound(Tab_V, 2)) = Tab_V(1, 0) & " 20" & Tab_V(2, 0)
            Tab_V(2, UBound(Tab_V, 2)) = Cel.Offset(0, 1)
        End If
    Next Cel
    For X = 1 To UBound(Tab_V, 2)
        Range("E" & X) = Tab_V(1, X)
        Range("F" & X) = Tab_V(2, X)
    Next X
    End Sub
    Par rapport à ta demande : J'ai pas les années non marquées, et ce n'est pas trié. Mais c'est facile à faire manuellement ou par macro, à condition d'avoir les infos.
    Pour réduire, j'ai pas commenté le code, mais s'il y en a besoin, ça peut se faire
    A+

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

Discussions similaires

  1. classe et struct passage par valeur
    Par panthere noire dans le forum Débuter
    Réponses: 2
    Dernier message: 16/03/2011, 00h18
  2. Réponses: 36
    Dernier message: 06/03/2009, 12h00
  3. Passage par adresse ou par valeur ?
    Par Maverick27 dans le forum Débuter
    Réponses: 7
    Dernier message: 08/10/2008, 19h53
  4. Transmission par valeur ou par adresse
    Par Emmanuel Delahaye dans le forum Langage
    Réponses: 8
    Dernier message: 13/08/2007, 14h44
  5. Passage par valeur / passage par adresse
    Par jeje99 dans le forum C++
    Réponses: 13
    Dernier message: 16/02/2006, 11h29

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