Ajouter deux conditions à la formule sumif

Tilous

XLDnaute Nouveau
Bonjour,

J'ai ce code, mais j'aimerais ajouter deux autres conditions, la première de ne pas additionner dans nb.count si la cellule contient 0 ou que le contenu de la cellule a comme résultat une erreur de division par 0.

Autre chose dans le sumif, il ne doit pas tenir compte des divisions par zero non plus.

'Inscription des variables
Dim var_debut, var_fin, var_debut1, var_fin1, ligne

'pour délimiter ma période connue situé dans les cellules V4 et V5, + V9 et V10 de la feuille TABLEAU DE BORD

' Je vais chercher l'adresse du début et fin de ma première période
var_debut = Replace([V4], "$M$", "")
var_fin = Replace([V5], "$M$", "")
' Je vais chercher l'adresse du début et fin de ma deuxième période
var_debut1 = Replace([V9], "$M$", "")
var_fin1 = Replace([V10], "$M$", "")

'boucle sur codes à comparer
For ligne = 20 To Range("J" & Rows.Count).End(xlUp).Row


'Je cherche le # de code produit dans la colonne K selon la plage des cellules V4 et V5
Range("K" & ligne).Value = Application.WorksheetFunction. _
SumIfs(Sheets("base de données").Range("A" & var_debut & ":A" & var_fin), Range("J" & ligne).Value, Sheets("base de données").Range("M" & var_debut & ":M" & var_fin)) / _
Application.WorksheetFunction.CountIf(Sheets("base de données").Range("A" & var_debut & ":A" & var_fin), Range("J" & ligne).Value)
' 'Je cherche le code colonne N selon la ligne des cellules V9 et V10
'si code existe période 2
If Application.WorksheetFunction.CountIf(Sheets("base de données").Range("A" & var_debut1 & ":A" & var_fin1), Range("J" & ligne).Value) = 0 Then
Range("N" & ligne).Value = "-"
Range("O" & ligne).Value = "-"
Else
Range("N" & ligne).Value = Application.WorksheetFunction. _
SumIfs(Sheets("base de données").Range("A" & var_debut1 & ":A" & var_fin1), Range("J" & ligne).Value, Sheets("base de données").Range("M" & var_debut1 & ":M" & var_fin1)) / _
Application.WorksheetFunction.CountIf(Sheets("base de données").Range("A" & var_debut1 & ":A" & var_fin1), Range("J" & ligne).Value)
Range("N" & ligne).Value = Range("K" & ligne).Value - Range("O" & ligne).Value
End If
Next


J'espère que quelqu'un pourra m'aider!

merci
 

Discussions similaires

Statistiques des forums

Discussions
312 543
Messages
2 089 447
Membres
104 167
dernier inscrit
nourisebai