Vba fonction somme si

  • Initiateur de la discussion Initiateur de la discussion Binouf
  • 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 !

B

Binouf

Guest
Bonjour, bonsoir même 😀

Ma question n'est pas révolutionnaire et même surement très souvent posé et concerne une fonction SUMIF dans VBA...

Je voudrais tout simplement faire :

Sub SOMMEPARDIVISION()

Sheets("Feuil1").Select
Application.WorksheetFunction.SumIf(Range("A1:A7"), "CRDM", Range("B1;B7"))

End Sub

A1:A7 = Contient des noms de division
"CRDM" = Correspond à une division
B1:B7 = Contient les prix à additionner

J'ai le message suivant qui s'affiche :

Erreur de compilation
Attendu:=

...

Je vous remercie pour votre aide, car je galère.....

Benjamin
 
Re : Vba fonction somme si

Bonsoir.
Tu veux mettre ou le résultat de ton somme.si

Code:
Sub SOMMEPARDIVISION()
 Sheets("Feuil1").Select
 MsgBox Application.WorksheetFunction.SumIf(Range("A1:A7"), "CRDM", Range("B1:B7"))
 End Sub

ou
Code:
Sub SOMMEPARDIVISION()
 With Sheets("Feuil1").Activate
 Range("C1") = Application.WorksheetFunction.SumIf(Range("A1:A7"), "CRDM", Range("B1:B7"))
 End With
 End Sub
 
Re : Vba fonction somme si

Bonsoir Binouf et bienvenu, bonsoir le forum,

Essaie comme ça (non testé) :

Code:
Sub SOMMEPARDIVISION()
Dim S As Double

With Sheets("Feuil1")
   S = Application.WorksheetFunction.SumIf(.Range("A1:A7"), "CRDM", .Range("B1;B7"))
End With
End Sub
Le résultat sera stocké dans la variable S. À toi de voir après ce que tu en fait...

[Édition]
Bonsoir Regueiro, on s'est croisé...
 
Dernière édition:
Re : Vba fonction somme si

Bonsoir à Tous, Robert
Ta formule ne fonctionne pas.
Erreur

Sub SOMMEPARDIVISION()
Dim S As Double

With Sheets("Feuil1")
S = Application.WorksheetFunction.SumIf(.Range("A1:A7"), "CRDM", .Range("B1;B7"))
End With
End Sub

Range("B1:B7") il faut : et non pas ;
Je pense que tu n'as pas essayer ?

Formule qui fonctionne également si vous lancer la sub
depuis une autre feuille
Code:
Sub SOMMEPARDIVISION3()
 Dim S As Double
Set F = Sheets("Feuil1")
    S = Application.WorksheetFunction.SumIf(F.Range("A1:A7"), "CRDM", F.Range("B1:B7"))
    MsgBox S
    F.[C1] = S
 End Sub
A+
 
- 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

A
Réponses
12
Affichages
2 K
AnjyD
A
F
  • Question Question
Réponses
1
Affichages
1 K
S
Réponses
31
Affichages
4 K
C
Réponses
8
Affichages
2 K
Genii
G
E
Réponses
2
Affichages
1 K
elsabio77
E
C
Réponses
2
Affichages
2 K
CaptainMerlux
C
F
Réponses
5
Affichages
2 K
Fariri
F
G
Réponses
6
Affichages
13 K
G
P
Réponses
7
Affichages
18 K
V
Réponses
7
Affichages
2 K
V
O
Réponses
0
Affichages
876
ofe89
O
Réponses
18
Affichages
14 K
C
Réponses
4
Affichages
20 K
CedricBDO
C
J
Réponses
11
Affichages
3 K
Retour