Simple fonction Somme par ligne

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 !

peternewman007

XLDnaute Nouveau
Bonjour,

Je souhaite faire la somme en vba (rapidité) de la colonne H à AH pour chaque ligne (+ de 3000 lignes).
J'ai essayé ceci mais ça ne fonctionne pas :
Code:
If target.Column >= 8 And target.Column < 39 Then
    Application.EnableEvents = False
        Cells(target.Row, 39) = Application.WorksheetFunction.Sum(target.Row)
    Application.EnableEvents = True
End If

Quelq'un pour m'aider?

Merci d'avance,

Peter
 
Re : Simple fonction Somme par ligne

Hello

dans ton code tu ne fais que la somme de target.row.... donc forcément. si tu cliques sur la ligne 1, tu vas avoir pour résultat 1

essaie avec ceci


If Target.Column >= 8 And Target.Column < 39 Then
Application.EnableEvents = False
Cells(Target.Row, 39) = Application.WorksheetFunction.Sum(Range(Cells(Target.Row, 8), Cells(Target.Row, 34)))
Application.EnableEvents = True
End If
 
Re : Simple fonction Somme par ligne

salut

autres propositions pour la somme d'une plage VBA ,
Code:
Private Sub Worksheet_Change(ByVal R As Range)
  If R.Column > 7 And R.Column < 39 Then
    Application.EnableEvents = 0
    Cells(R.Row, 39) = Application.Sum(Cells(R.Row, 8).Resize(, 38)) '<--- 33 pour AH sinon 38 pour AL
    Cells(R.Row, 39) = Cells(R.Row, 39).Value '<--- *
    Application.EnableEvents = 1
  End If
End Sub

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column > 7 And Target.Column < 39 Then
    Application.EnableEvents = 0
    Cells(Target.Row, 39).FormulaR1C1 = "=SUM(RC[-31]:RC[-1])"  '<--- formule =Somme(Hn:ALn)
    'Cells(Target.Row, 39) = Cells(Target.Row, 39).Value  '<--- *
    Application.EnableEvents = 1
  End If
End Sub

* formule remplacée par la valeur pour éviter des problème de ralentissement s'il y en a trop mais il faut voir l'ensemble car une formule pourrait suffire.
 
Re : Simple fonction Somme par ligne

Bonjour Si...

Je viens de remplacer le code par le dernier que tu m'as proposé.
Pas d'amélioration notable de rapidité mais en même je teste 5-10 lignes et au final le fichier en fera presque 4.000 donc.. à voir ! 😉

Merci,

Peter
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
483
Réponses
1
Affichages
348
Réponses
3
Affichages
508
Retour