XL 2016 Somme entre deux valeurs

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

Menstru LH

XLDnaute Junior
Bonjour la communauté,

Après plusieurs recherches et tentatives, je lance un appel à l'aide

Ci-joint, il y a un fichier dans lequel il y a une colonne avec trois types de valeurs, a;b et KO.
Dans l'autre colonne, il y a des nombres associées à la valeur KO (uniquement)

Voici un extrait :

a
KO
0,05​
a
b
a
KO
0,05​
a
b
a
KO
0,5​
KO
0​
KO
0,05​
a
b
a
KO
-0,5​
KO
0​
KO
-0,05​
a
b

J'aimerai faire une somme par bloc c'est à dire calculer la somme des valeurs de la deuxième colonne entre le premier bloc de "a" à "a" puis entre le deuxième bloc de "a" à "a" etc...

Des idées ?

Un grand merci
 

Pièces jointes

Merci Fanfan

j'ai une erreur de type 13,sais-tu pourquoi ?
Qu'ai-je fais de mal ?

Merci

1030909
 
Fanfan

J'ai fermé puis re-ouvert Excel et là plus de bug ! En revanche, je n'arrive pas à comprendre comment fonctionne ta macro, je ne vois pas la résultats 🙁
Je te joins le fichier complet qui te permettra de comprendre mieux mon problème

En gros j'ai des blocs de produits et je connais le somme TTC de chacun de ses blocs mais je ne connais pas la somme HT

Donc quand tu regardes la structure du fichier, ça fonctionne toujours de la même façon : en face de la ligne 'type de paiement" (espèce, carte bleue, etc.), tu as la somme des lignes TTC de produits du bloc mais pas la somme HT...

Et c'est là où j'ai justement besoin de calculer cette somme HT par bloc

Suis-je clair ?

Merci beaucoup
 

Pièces jointes

Si tu n'as plu les a, Ko la macro ne marchera plus...
Explication de la macro
Columns(8).ClearContents 'colonne où est inscrit le résultat
Range("H1").Value = "Somme TVA" 'titre de la colonne
derlig = Range("A" & Rows.Count).End(xlUp).Row 'nombre de ligne à contrôler
mavar = 0
For i = 2 To derlig
If Range("B" & i).Value = "KO" Then
If Len(Range("E" & i).Value) > 0 Then 'si cellule de la colonne E n'est pas vide
mavar = mavar + Range("E" & i).Value 'addtion de'une variable avec le contenue de la cellule correspondante
End If
Else
If mavar <> 0 Then Range("H" & i - 1).Value = mavar 'si pas "KO" la variable est copié dans la cellule correspondante dans la colonne H
mavar = 0
End If
Next
Ci joint les résultats sont en colonne B (donc la macro a été modifié)

A+ François
 

Pièces jointes

Merci François, merci vraiment !

Ma question était en fait, est-ce que le résultat de la macro peut être affiché en face de la cellule où y 'a écrit "b" et pas ou y'a écrit "KO" actuellement ?

Ps : j'ai bien compris ta macro, merci pour l'explication
 
Re,

J'ai peut être crié victoire un peu trop vite...

Si tu regardes bien, il y a des soucis sur certaines ligne : prend par exemple la ligne 162 du dernier classeur et tu te rendras compte que la somme ne correspond pas au bon montant...ni la ligne 302...et d'autres lignes !

Ce que je ne maîtrise pas c'est d'où vient l'erreur, impossible de retomber sur le chiffre calculé

As-tu une idée ?

Merci
 
- 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
3
Affichages
169
Réponses
2
Affichages
134
Réponses
22
Affichages
1 K
Réponses
5
Affichages
704
Réponses
2
Affichages
369
Retour