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 d'une colonne (avec nombre de rangée variable)


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Somme d'une colonne (avec nombre de rangée variable)
    Bonjour,

    Je souhaite faire la somme d'une colonne (à la fin de celle-ci), mais comme elle n'a pas toujours le meme nombre de ligne... j'ai de la difficulté à trouver le bon code! Après quelques essaie infructueux... j'aimerais soliciter votre aide.
    Merci d'avance!!!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonjour

    essaye ceci tu devrais trouver ton bonheur et ne devrait pas être compliqué à modifier suivant tes besoins

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
     
      Dim x As Integer, L As Integer, nombre_de_colonne As Integer
     
      nombre_de_colonne = 3
     
      For x = 1 To nombre_de_colonne
        L = Cells(Rows.Count, x).End(xlUp).Row
        Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
      Next
    End Sub
    bon courage
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Précision sur la demande
    Merci beaucoup pour votre réponse!

    Apres l'avoir tester... je voudrais péciser mon problème :

    Je souhaite faire la somme d'une collone de chiffre dans la cellule à la fin de ma colonne de chiffre. Par contre d'une fois à l'autre, ma colonne de chiffre n'aura pas le meme nombre de chiffre. Cela peut varier de 10 chiffres à sommariser jusqu'à 100 chiffres.

    J'ai toujours 1 seule colonne de chiffre dont je veux faire la somme.

    J'essaie de modifier votre code, mais je n'y arrive pas!

    PS Ce forum est d'une uitlité indispensable. Bravo à tous!!!
    Et un merci particulier à zyhack!!!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Je ne sais pas si tu as bien compris le mode de fonctionnement de ce code et des instructions qui le compose alors je l'ai commenté un maximum afin qu'il soit le plus clair possible.

    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 Integer, L As Integer, nombre_de_colonne As Integer
     
      'Pour les colonnes --> 1 = colonne A , 2 = colonne B etc...
     
      numero_derniere_colonne = 5 'exemple  5 = colonne E
     
      'pour x = 1 on commence pour la colonne A
      'Donc on boucle de la colonne A a la colonne E
      For x = 1 To numero_derniere_colonne
     
        'cells( Ligne , colonne) si ligne= 2 et colonne =5 correspond à range("E2")
        'Rows.count revient à mettre 65535 c'est a dire la derniere ligne d'une feuille excel
        'End(xlup) remonte jusqu'a la la premiere cellule non vide de la colonne x
        'Donc L est egale a la dernière cellule pleine de la colonne en cours de traitement
        L = Cells(Rows.Count, x).End(xlUp).Row
     
        'Cells(L + 1, x)  L+1 permet d'ecrire la formule dans la cellule juste dessous la dernière valeur de la col x
        '.Formula pour ecrire une formule dans la cellule
        ' et la formule par elle même, en VBA la formule est en anglais ce qui est egal à
     
        ' si le traitement est à la col 1 (colonne A) et L = 100
     
        '=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
        '=SOMME(       $A$2              :          $A$100           )
     
        Cells(L + 1, x).Formula = "=SUM(" & Cells(2, x).Address & ":" & Cells(L, x).Address & ")"
     
        'puis on boucle sur la colonne suivante
      Next
    End Sub
    donc bien lire les commentaires qui je l'espère te permettrons ce coup ci de le modifier selon tes besoins.
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

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

Discussions similaires

  1. Comment Créer une vue avec nombre de colonnes inconnu d'avance ?
    Par masterx_goldman dans le forum Développement
    Réponses: 3
    Dernier message: 21/10/2009, 17h28
  2. Réponses: 4
    Dernier message: 08/08/2008, 12h38
  3. requête avec la somme d'une colonne et un GROUP BY
    Par xenos dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/09/2007, 14h03
  4. Réponses: 10
    Dernier message: 03/10/2006, 20h19

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