Faire une somme sur une plage qui varie

Fermé
Valdesh35 Messages postés 13 Date d'inscription jeudi 2 août 2018 Statut Membre Dernière intervention 3 août 2018 - 2 août 2018 à 10:44
Raymond PENTIER Messages postés 58762 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 décembre 2024 - 2 août 2018 à 18:37
Bonjour à tous,

Petit problème de macro ajd.

J'extrait un fichier Excel qui a toujours la même forme EN COLONNE : nom d'établissement en colonne A, Chiffre d'affaire en colonne B, mais qui varie sur le nombre de ligne (+/- d'établissements selon les régions de France)

Ma macro :
Mettre dans la colonne A juste après le dernier établissement : "TOTAL" ==> Ca j'ai réussi.
Faire une somme dans la colonne B juste après la dernière valeur (et donc à gauche de mon total) ==> Facile de faire une somme en VBA sur une plage définie, mais comment sur une dynamique ? Dans un cas c'est une somme de B2:B8 dans un autre de B2:B12 etc ... (toujours B2 car en B1 j'ai mon intitulé de colonne "Chiffre d'affaire"

Un grand merci pour votre aide future !!

Bonne journée à tous.
Valentin

5 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 2 août 2018 à 11:37
Bonjour,

Si tu as réussi à écrire Total sur une ligne (toi seul sait comment puisque tu ne donnes pas le code) , c'est que tu connais ce numéro de ligne.
Et ta somme se fait de la ligne 2 à la ligne précédant cette ligne.

0
Valdesh35 Messages postés 13 Date d'inscription jeudi 2 août 2018 Statut Membre Dernière intervention 3 août 2018
2 août 2018 à 11:44
Merci Patrice de ta réponse,

Concernant le TOTAL sur la dernière ligne :
Selection.End(xlDown).Offset(1, 0).Select
==> Selection de la dernière ligne puis placement sur la cellule la plus à gauche
ActiveCell.FormulaR1C1 = "TOTAL"
==> Saisie de "TOTAL"

Maintenant j'aimerai qu'a gauche de TOTAL la somme ce fasse
0
Valdesh35 Messages postés 13 Date d'inscription jeudi 2 août 2018 Statut Membre Dernière intervention 3 août 2018
2 août 2018 à 11:46
Ma somme se fait de la ligne 2 à la dernière ligne, qui n'est pas nécessairement la ligne 2
0
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 736
2 août 2018 à 14:39
Bonjour Valdesh

' pour obtenir le n° de la dernière ligne remplie en colonne B
ligne = Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row
'Pour faire la somme à partir de B2
Total = Application.WorksheetFunction.Sum(Range("B2:B" & ligne))

Cdlmnt
Via
0
Valdesh35 Messages postés 13 Date d'inscription jeudi 2 août 2018 Statut Membre Dernière intervention 3 août 2018
2 août 2018 à 17:00
Super :) je vais essayer :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58762 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 décembre 2024 17 255
2 août 2018 à 18:37
Pourquoi se compliquer la vie en écrivant une macro, alors qu'une simple formule suffit ?
Pour commencer tu insères une ligne à la place de l'actuelle ligne 2,
puis en A2 tu écris "TOTAL"
et en B2 tu écris =SOMME(A3:A999)
0