• Initiateur de la discussion Initiateur de la discussion gds35
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gds35

XLDnaute Impliqué
Mes AMIS du forum bonjour , bon Dimanche.

Je desire effectuer dans un tableau la somme des colonnes C à H toutes les 3 lignes. Pour ce faire j'ai tenter plusieurs codes dont celui-ci :
Sub Macro2()
'
Dim NOL As Integer
Dim NOC As Integer
Dim CalST As Variant
NOL = 5
NOC = 3
Cells(NOL, NOC).Select
Selection.EntireRow.Insert
CalST =(Cells(NOL - 3 & ":" & NOC)).Select
CalST = Application.Sum()
End Sub

Mais impossible de réussir la Somme
Auriez vous une idée ????

Cordialemnt GDS35 . MERCI de votre aide
 
Re : Somme en vba

Bonjour gds35,

pour la somme:
Code:
CalST = Application.Sum(Range("C" & NOL - 3 & ":H" & NOL - 3))
par contre, si tu veux le faire toutes les 3 lignes, tu devras créer une boucle du genre:

Code:
For NOL = 100 To 5 Step -3
NOC = 3
Cells(NOL, NOC).EntireRow.Insert
CalST = Application.Sum(Range("C" & NOL - 3 & ":H" & NOL - 3))
Next
Mettre la somme dans CalST c'est bien mais tu en fais quoi?
 
Re : Somme en vba

Re,

comme ceci? sans voir le fichier, difficile de savoir exactement ce que tu veux...
Code:
Sub Macro2()
'
Dim NOL As Integer
Dim NOC As Integer
Dim CalST As Variant
For NOL = 100 To 5 Step -3
NOC = 3
Cells(NOL, NOC).EntireRow.Insert
CalST = Application.Sum(Range("C" & NOL - 3 & ":H" & NOL - 3))
[B]Range("C" & NOL & ":H" & NOL).Merge
Range("C" & NOL & ":H" & NOL) = CalST[/B]
Next
End Sub
 
Re : Somme en vba

RE MERCI SKOOBI , Je t'envoi le p'tit fichier , mon desir est de faire le total des colonnes C à H toutes les 3 lignes soit le total des mois de Decembre, Janvier, Fevrier , je suis obligé de faire cela car je fais des stats Trimestrielles et mon Exercice comptable démarre en 09 donc ne peux faire de sous totaux pour la période 12 à 02 n'ayant pas de critères fixes.

Cordialement GDS35
 

Pièces jointes

Re : Somme en vba

Les adaptations en bleu:

Code:
Sub Macro2()
'
Dim NOL As Integer
Dim NOC As Integer
Dim CalST As Variant
For NOL = [COLOR=Blue][B]14[/B][/COLOR] To 5 Step -3
NOC = 3
Cells(NOL, NOC).EntireRow.Insert
CalST = Application.Sum(Range("C" & NOL - 3 & ":H" & NOL [B][COLOR=Blue]- 1[/COLOR][/B]))
Range("C" & NOL & ":H" & NOL).Merge
Range("C" & NOL & ":H" & NOL) = CalST
Next
End Sub
 
Re : Somme en vba

RE....RE....Salut , j'ai supprimé le merge et relancer le code , je ne vois ou est le pb car n'arrive pas a reconstituer , les montants qui sont tous erronnés. Je te renvois le fichier avec les résultats obtenus et je cherches de mon côté.
Amicalement GDS35
 

Pièces jointes

Re : Somme en vba

Bonjour Gds35, skoobi, le fil,

Ton soucis ne viens pas du .merge

Mais de :
-> tu n'avais pas mis de fichier
-> de ta première explication
Gds35 à dit:
la somme des colonnes C à H toutes les 3 lignes
ce que fais très exactement la macro de Skoobi.

Si tu supprime tes lignes sous-totaux (lignes : 5, 9 , 13) (non indiqué dans tes premier post) et lance le dernier code (complet avec .merge) de skoobi

Ca fonctionne à la perfection!

Cf. fichier ci-joint :
-> j'ai supprimé tes lignes sous-totaux
-> j'ai remis le code de skoobi (car il ne correspondait plus à celui mis sur le forum).

Essaye de lancer sa macro, tu verras, ça correspond à ta question 😉

Maintenant, reste à savoir si tu veux garder ou non les lignes "sous-totaux" déjà existante dans le fichier que tu as mis en ligne?

Bonne soirée
 

Pièces jointes

Re : Somme en vba

Re bonjour gds35,
Excel-lent 🙂,

je pense en fait que gds35 veut faire la somme colonne par colonne mais attendons de voir...
Comme te le dis Excel-lent, si tu mets le fichier à dispo dès le début et avec une explication bien clair, on évite ces échanges inutiles...
 
Re : Somme en vba

Salut à tous , SKOOBI , ExcelLent , le forum ,
effectivement suis un beta de ne pas avoir transmis mon fichier avant. Bref ...
Ceci dit , le merge me fait la somme de toutes les colonnes il me semble or je desire la somme de la colonne C puis D puis E , F et H , puisque mes sous totaux je ne peux les realiser n'ayant pas un critère comment , dans mon exercice j'ai 4 trimestres 09-10-11(2005) puis 12(2005) et 01-02(2006).... et la je plante dans le résultat de 12 à 02.
Merci du fonds du coeur de votre aide . GDS35
 
Re : Somme en vba

Bonjour,

dans ce cas il faut faire une boucle sur les colonnes:

Code:
Sub Macro2()
'
  Dim NOL As Integer
  Dim NOC As Integer
  Dim CalST As Variant
  For NOL = 14 To 5 Step -3
    Cells(NOL, 3).EntireRow.Insert
[B]    For NOC = 3 To 8
      CalST = Application.Sum(Range(Cells(NOL - 3, NOC), Cells(NOL - 1, NOC)))
      Cells(NOL, NOC) = CalST
    Next[/B]
  Next
End Sub
 
Re : Somme en vba

Bonsoir Gds35, Skoobi,


Gds35 à dit:
le merge me fait la somme de toutes les colonnes il me semble

Non, il y a confusion!


Code:
Range("[COLOR="Red"][B]C[/B][/COLOR]" & [COLOR="Red"][I]NOL[/I][/COLOR] & ":[COLOR="Blue"][B]H[/B][/COLOR]" & [COLOR="Blue"][I]NOL[/I][/COLOR]).[COLOR="Orange"][B]Merge[/B][/COLOR]
Ce code ne fais pas la somme de toutes tes colonnes!

Le code ci-dessus signifie :
Sélectionner de la cellule :
-> colonne : C
-> ligne : le chiffre contenu dans la variable "NOL"
jusqu'à la cellule :
-> colonne : H
-> ligne : le chiffre contenu dans la variable "NOL"

Puis "fusionner et centrer les cellules" (Idem que lorsque tu clic sur "format"/"cellule"/onglet "Alignement" et que tu coche "Fusionner les cellules")

Rien à voir avec ton problème de somme!

Ta somme se trouve ici :
Code:
[COLOR="Red"][B]CalST[/B][/COLOR] = Application.[COLOR="Red"][I]Sum[/I][/COLOR](Range("[COLOR="Blue"][B]C[/B][/COLOR]" & [COLOR="Blue"][I]NOL[/I][/COLOR] [COLOR="Orange"][B]- 3[/B][/COLOR] & ":[COLOR="Gray"]H[/COLOR]" & [COLOR="Gray"][B]NOL[/B][/COLOR] [COLOR="DeepSkyBlue"][B]- 1[/B][/COLOR]))

Ce code signifie :
Prendre de la cellule :
-> colonne : C
-> ligne : le chiffre contenu dans la variable "NOL" à laquelle on enlève 3
jusqu'à la cellule :
-> colonne : H
-> ligne : le chiffre contenu dans la variable "NOL" à laquelle on enlève 1
(bref tes fameuses 3 lignes)
=> puis faire la somme de tout ce joli monde!
=> puis mettre le résultat dans la variable CalST

Bonne soirée
 
Dernière édition:
Re : Somme en vba

ReSalut à tous les 2 SKOOBI ey EXCEL-LENT , Bonjour au Forum ,
Effectivement le dernier Code de SKOOBI fonctionne très bien , je devais être très fatigué par le boulot quand j'ai saisi son code .... !!!!!!
Encore Merci , Bonne Soirée à tous .
Cordialement GDS35
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
378
Réponses
1
Affichages
326
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
463
Réponses
3
Affichages
887
Retour