Calcul somme de colonne [Résolu/Fermé]

Signaler
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
-
gbinforme
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
-
Bonjour le forum,

Au lieu de répéter 4 fois la même opération pour des colonnes contigues
il y aurait il une solution en vba qui ferait la même chose et qui me permettrait éventuellement de calculer la somme de chaque colonne quelle que soit sa longueur , le résultat s'affichant toujours en C4 D4 E4 F4 G4 ??

merci

Range("C4").Select
ActiveCell.FormulaR1C1 = "=SUM(R[1]C:R[16]C)"
Range("D4").Select
ActiveCell.FormulaR1C1 = "=SUM(R[1]C:R[16]C)"
Range("E4").Select
ActiveCell.FormulaR1C1 = "=SUM(R[1]C:R[16]C)"
Range("F4").Select
ActiveCell.FormulaR1C1 = "=SUM(R[1]C:R[16]C)"
Range("G4").Select


4 réponses

Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
3 914
Bonjour à tous,

Tu peux simplifier ta macro ainsi
Sub somme()
    Dim col As Integer, lastRow As Long
    For col = 3 To 7 'On boucle sur les colonnes
        lastRow = Cells(Rows.Count, col).End(xlUp).Row 'on récupère la dernière ligne
        Cells(4, col).Value = Application.Sum(Cells(5, col).Resize(lastRow, 1))
    Next
End Sub
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 74310 internautes nous ont dit merci ce mois-ci

Messages postés
581
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2018
71
Salut,

une solution :
Sub somme()
    For col = 3 To 7 'On boucle sur les colonnes
        lastRow = Cells(5, col).End(xlDown).Row 'on récupère la dernière ligne
        Cells(4, col).FormulaR1C1 = "=SUM(R[1]C:R[" & (lastRow - 4) & "]C)" 'On applique la formule selon le nombre de lignes dans la colonne
    Next
End Sub


--
max850
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2 > mrjenkins
Messages postés
581
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2018

cette fois elle s'arrête à la première ligne blanche rencontrée dans les colonnes.Si dans la colonne E j'ai des données en E6, E7 et ensuite E9 et que les données dans les autres colonnes commencent sur la ligne 10 je n'aurais la somme que de E6, E7
mrjenkins
Messages postés
581
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2018
71
Les données à sommer sont bien dans C5, C6... ?

Ca met à 0 si C5 est vide, D5 est vide...
max850
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2 > mrjenkins
Messages postés
581
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2018

0,00 0,00 2023,00 0,00 0,00
23,00
2000,00
5400,00
2000,00
210,00

j'ai la somme de la 3ème colonne uniquement sur les 2 premières lignes
mais pas la somme de la premiere colonne ni de la 4ème colonne
max850
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2 > max850
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020

merci mrjenkins pour tout ce temps que tu m'as consacré avec mes explications pas très claires
gbinforme a trouvé la solution
mrjenkins
Messages postés
581
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2018
71
Pas de souci ;)

Sa solution ressemblait à ce que j'avais en tête s'il y avait des lignes vides ;)
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
bonsoir mrjenkins
la formule fonctionne sauf qu'elle me donne la somme de la dernière ligne de chaque colonne mais pas la somme de toutes les lignes jusqu'à la dernière de chaque colonne
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
Bonjour jbinforme
La simplification fonctionne parfaitement

merci
gbinforme
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
3 914
Bonjour max850 et merci du retour.