Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Formule Somme dans une Sélection en VBA

  • Initiateur de la discussion Initiateur de la discussion stephane.79
  • 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 !

S

stephane.79

Guest
Bonjour à tous, le forum,

J'aimerai pouvoir réaliser la somme des valeurs dans une sélection.

Je ne sais pas comment transformer l'enregistrement automatique d'une somme (par exemple : Selection.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)" , pour réaliser une somme après une sélection du type :

For Each C In rngPlage.Cells
If C Like "Total *" Then
C.Select
Range(Selection, Selection.End(xlUp).Offset(0, 1)).Offset(0, 16).Select

'Faire ici la somme des cellules sélectionnées

End If
Next

D'avence merci pour votre aide.
Stephane.79
 
Re : Formule Somme dans une Sélection en VBA

Bonjour Stéphane, bonjour le forum,

Essaie comme ça :
Code:
For Each C In rngPlage.Cells
 
    If C Like "Total *" Then
        C.Select
        Range(Selection, Selection.End(xlUp).Offset(0, 1)).Offset(0, 16).Select
        Range("tacellule").Value = Application.WorksheetFunction.Sum(Selection)
        Exit For
    End If
Next
 
Re : Formule Somme dans une Sélection en VBA

Bonjour Robert, bonjour le forum,

Merci pour ta réponse.

Le problème c'est que le résultat de la somme n'est pas que dans 1 cellule.
Je souhaiterais faire la même chose qu'avec le petit symbole Sygma : la somme se fait en bas de la sélection.

Je joins un petit fichier exemple avec le bout de code pour la sélection.

D'avance merci.
Stéphane.79
 

Pièces jointes

Re : Formule Somme dans une Sélection en VBA

Bonsoir Stéphane, bonsoir le forum,

Dans ce cas je verrai ça comme ça plutôt :

Code:
Sub Test_Somme()
Dim rngPlage As Range
Dim C As Range
Dim der As Long 'déclare la variable der
 
Set rngPlage = Range(Range("A1"), Range("A65000").End(xlUp))
 
For Each C In rngPlage.Cells
 
    If C Like "Total *" Then
        C.Select
        'place les formules de somme
        C.Offset(0, 16).Formula = "=sum(Q" & der + 1 & ":Q" & C.Row - 1 & ")"
        C.Offset(0, 17).Formula = "=sum(R" & der + 1 & ":R" & C.Row - 1 & ")"
        der = C.Row 'redéfinit la variable der
     End If
Next
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
546
U
Réponses
5
Affichages
937
USTY_56
U
M
Réponses
4
Affichages
2 K
ManOfCatz
M
R
Réponses
10
Affichages
1 K
R.Noel
R
G
  • Question Question
Réponses
1
Affichages
802
Grouchet
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…