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 VBA qui sommerait les valeurs


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut macro VBA qui sommerait les valeurs
    Bonjour,tous le monde,

    je suis nouveau sur le forum, voila , je voudrais créer une macro VBA qui copierait les valeurs de plusieurs comptes vers une cellule d'une autre page , je vais donner un exemple :

    Colonne 1 -Colonne2
    12 --------1000
    14 --------2000
    16 --------2450
    20 --------2850
    15 --------9550

    les comptes 12, 20 et 15 correspondent à A
    les compres 14 et 16 correspondent à B

    voila je voudrais une macro qui aditionnerait les valeurs des comptes de 12, 20 et 15 et 14 et 16 cette somme sera collée dans une autre feuille excel dans deux celleule A et B
    ça sera vraiment génial de disposer d'une macro de ce genre .
    merci d'avance

  2. #2
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour Sultan,

    Regardes dans le forumu comment parcourir une plage.
    Parcours ta plage et fait la somme dans une variable.

    Ensuite montre nous ton code et nous pourrons t'aider là ou ça coince

  3. #3
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Le code qui je l'espère correspond à ce que tu demandes, si tu as des questions n'hésite pas.

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    Sub Somme_AB()
    'Tot => Enlever Pour afficher le total dans chaque feuille
     
    Application.DisplayAlerts = False
     
    Dim FA As Worksheet
    Dim FB As Worksheet
    Dim Mycell As Range
    Dim CompteurAB As Long
    Dim CompteurA As Long
    Dim CompteurB As Long
     
    ' ------------------------------------------------------ '
    ' Cumul des compteurs de la colonne A dans la feuille A
    ' ------------------------------------------------------ '
    Set FA = Worksheets("A")
     
    'Tot If FA.Range("A65536").End(xlUp) = "Total A : " Then FA.Range("A65536").End(xlUp).ClearContents:
    Set Mycell = FA.Range("A65536").End(xlUp)
     
    For i = 2 To Mycell.Row 'On suppose qu'il y a une ligne des titres
        CompteurA = CompteurA + FA.Cells(i, Mycell.Column + 1)
    Next i
     
    'Tot Mycell.Offset(1, 0) = "Total A : "
    'Tot Mycell.Offset(1, 1) = CompteurA
    'MsgBox CompteurA
     
    ' ------------------------------------------------------ '
    ' Cumul des compteurs de la colonne B dans la feuille B
    ' ------------------------------------------------------ '
     
    Set FB = Worksheets("B")
    'Tot If FB.Range("A65536").End(xlUp) = "Total B : " Then FB.Range("A65536").End(xlUp).ClearContents:
     
    Set Mycell = FB.Range("A65536").End(xlUp)
     
    For i = 2 To Mycell.Row 'On suppose qu'il y a une ligne des titres
        CompteurB = CompteurB + FB.Cells(i, Mycell.Column + 1)
    Next i
     
    'Tot Mycell.Offset(1, 0) = "Total B : "
    'Tot Mycell.Offset(1, 1) = CompteurB
    'MsgBox CompteurB
     
    ' ----------------------------------------------------------- '
    ' Creation d'un nouvel onglet avec les sommes correspondantes
    ' ----------------------------------------------------------- '
    Const NouvelOnglet = "Résultat A et B"
    Dim F1 As Worksheet
     
    ' ------------------------------- '
    ' Existence de l'onglet
    ' ------------------------------- '
    For Each F1 In Sheets
    If F1.Name = NouvelOnglet Then 'Suppression de l'onglet s'il existe deja
        F1.Delete
        Exit For
        '' Autre solution => sortie s'il existe deja
        ''MsgBox "La feuille " & F1.Name & " existe déja", vbInformation, "Classeur " & ThisWorkbook.Name
        ''goto gesterror
    End If
    Next F1
     
    ' ------------------------------- '
    ' Ajout de l'onglet
    ' ------------------------------- '
    Set F1 = Sheets.Add(After:=Sheets(Sheets.Count))
    F1.Name = NouvelOnglet
     
    ' ------------------------------- '
    ' Affichage du résultat
    ' ------------------------------- '
    CompteurAB = CompteurA + CompteurB
     
    Range("A1") = "Total A"
    Range("B1") = "Total B"
    Range("C1") = "Total A + B"
     
    Range("A2") = CompteurA
    Range("B2") = CompteurB
    Range("C2") = CompteurAB
     
    gesterror:
    Application.DisplayAlerts = True
    End Sub

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il me semble qu'il y a une première question à ce poser:

    -vous écrivez par exemple et vous donnez une liste de 5 comptes.

    On peut supposer que vous aurez à traiter plus de 5 comptes ?

    Pourquoi votre fichier ne comprend t-il pas le code de regroupement ("A" ou "B") ?

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    bonjour,

    c'est vrai en réalité y'a beaucoup plus que 5 comptes qu'il faut faire correspondre à autre groupe de compte .

    merci

  6. #6
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    Salut
    J'ajouterai une question de plus, ou voit on que tel ou tel compte appartient a tel ou tel groupe (A,B,...)
    Moi je conseillerai de faire une funtion perso et de l'utiliser directement dans les cellule de la 2eme feuilles, a cette function il faudra transmettre la plage de cellule, la colonne ou se trouve le nom du groupe et les groupe qui doit etre pris en compte, hummm a bien y reflechire je me demande si c'a n'existre pas deja, je n'ai pas excel sous la main, mais sum.si ou un truc du genre peut etre?
    A++
    Qwaz

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si vous ajoutez une colonne contenant le code de regroupement, vous n'êtes pas obligé d'utiliser une macro.
    Images attachées Images attachées  

Discussions similaires

  1. macro VBA qui cherche les données dans un autre fichier sur le réseau
    Par elghazy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/06/2015, 08h37
  2. [XL-2000] Macro qui compte les valeurs distinctes
    Par wyzer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2010, 10h40
  3. [VBA-E]Une macro VBA qui les controlerait toutes..
    Par bonilla dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/10/2008, 11h20
  4. Réponses: 1
    Dernier message: 07/01/2006, 23h33
  5. [VBA][Excel]Récupérer les valeurs du graphe...
    Par Samourai dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2006, 10h51

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