Problème Somme si
Fermé
Fitz_Chev
-
22 sept. 2015 à 14:29
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 23 sept. 2015 à 07:51
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 23 sept. 2015 à 07:51
A voir également:
- Problème Somme si
- Somme si couleur - Guide
- Formule somme excel colonne - Guide
- Somme si date inférieur à aujourd'hui ✓ - Forum Excel
- Somme si oui ✓ - Forum Excel
- Somme si ens ou ✓ - Forum Excel
2 réponses
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
22 sept. 2015 à 18:18
22 sept. 2015 à 18:18
Bonjour Fitz_Chev,
Première remarque,
La variable derlign va trouver la dernière ligne de la colonne A.
Je ne sais pas si ton tableau a des données de la colonne A jusqu'a T, mais un
derlign = Range("T65536").End(xlUp).Row
Serait peut-être mieux.
Deuxième remarque.
Disons que tu as le contrat # 12345 dans la cellule B1.
Tu veux additionner les valeurs de la colonne T si la cellule correspondante en S est égale a 12345 et non pas "B1".
Donc
SumIf(Range("S4:S" & derlign), Range("B1").value, Range("T4:T" & derlign))
Cette modification compare avec la valeur de la cellule B1 au lieu de chercher le texte "B1"
Première remarque,
La variable derlign va trouver la dernière ligne de la colonne A.
Je ne sais pas si ton tableau a des données de la colonne A jusqu'a T, mais un
derlign = Range("T65536").End(xlUp).Row
Serait peut-être mieux.
Deuxième remarque.
Disons que tu as le contrat # 12345 dans la cellule B1.
Tu veux additionner les valeurs de la colonne T si la cellule correspondante en S est égale a 12345 et non pas "B1".
Donc
SumIf(Range("S4:S" & derlign), Range("B1").value, Range("T4:T" & derlign))
Cette modification compare avec la valeur de la cellule B1 au lieu de chercher le texte "B1"
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 306
Modifié par michel_m le 23/09/2015 à 08:16
Modifié par michel_m le 23/09/2015 à 08:16
Bonjour
En VBA , On peut se passer de formule car dans ce cas pourquoi utiliser VBA ?
tu écris dans la cellule ton somme.si et c'est gagné ! (toujours penser Excel avant de penser VBA)
Avec un tableau croisé dynamique, tu pourrais avoir un panorama complet des ventes des commerciaux de ta boutique
un exemple
http://www.cjoint.com/c/EIxgmECN0Hh
exemple de code VBA
Michel
En VBA , On peut se passer de formule car dans ce cas pourquoi utiliser VBA ?
tu écris dans la cellule ton somme.si et c'est gagné ! (toujours penser Excel avant de penser VBA)
Avec un tableau croisé dynamique, tu pourrais avoir un panorama complet des ventes des commerciaux de ta boutique
un exemple
http://www.cjoint.com/c/EIxgmECN0Hh
exemple de code VBA
Option Explicit
'-------
Sub ca_realisé()
Dim Coco As Long, Nbre As Integer, Cptr As Integer, Lig As Integer, Somme As Double
'fige l'écran: confort & rapidité
Application.ScreenUpdating = False
'commercial recherché
Coco = Range("B1")
'nombre de ventes par Coco
Nbre = Application.CountIf(Columns("S"), Coco)
'si nbre=0 ---> gestionnaire erreur
If Nbre = 0 Then GoTo Erreur
'recherche les lignes des ventes de coco et calcule le cumul des chiffres d'affaires (somme)
Lig = 1
For Cptr = 1 To Nbre
Lig = Columns("S").Find(what:=Coco, after:=Cells(Lig, "S"), lookat:=xlWhole).Row
Somme = Somme + Cells(Lig, "T")
Next
Range("B2") = Somme
Exit Sub
Erreur:
MsgBox Coco & "Aucune vente ou inconnu", vbCritical
End Sub
Michel