A voir également:
- Petit pb de VB sur excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier du plus petit au plus grand excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Déplacer colonne excel - Guide
4 réponses
par contre pourquoi ces cellules sont elles rouges ?
si cela dépend d'une condition logique
tu mets dans la case à coté
si(conditionlogiquequimetlacelluleenrouge;celluleenrouge*precedente;0)
tu sommes cette colonne et tu la divises par le total des rouges
si cela dépend d'une condition logique
tu mets dans la case à coté
si(conditionlogiquequimetlacelluleenrouge;celluleenrouge*precedente;0)
tu sommes cette colonne et tu la divises par le total des rouges
essaye ca
Function spr(plage As Range, coul As Integer) As Double
Dim par As Range
Dim dep As Integer
Dim mult As Double
Dim spro As Double
Dim ss As Double
dep = plage.Column
For Each par In plage
If par.Column = dep Then
mult = par.Value
Else
If par.Interior.ColorIndex = coul Then
spro = spro + (mult * par.Value)
ss = ss + par.Value
End If
End If
Next
spr = spro / ss
End Function
Function couleur(a As Range) As Integer
couleur = a.Interior.ColorIndex
End Function
tu copies les deux fonctions dans un moduke
tu te mets dans une cellule
et tu tapes=spr(maplage;couleur(adressed'unecellulerouge))
évidemment ca ne gère pas les erreurs
Function spr(plage As Range, coul As Integer) As Double
Dim par As Range
Dim dep As Integer
Dim mult As Double
Dim spro As Double
Dim ss As Double
dep = plage.Column
For Each par In plage
If par.Column = dep Then
mult = par.Value
Else
If par.Interior.ColorIndex = coul Then
spro = spro + (mult * par.Value)
ss = ss + par.Value
End If
End If
Next
spr = spro / ss
End Function
Function couleur(a As Range) As Integer
couleur = a.Interior.ColorIndex
End Function
tu copies les deux fonctions dans un moduke
tu te mets dans une cellule
et tu tapes=spr(maplage;couleur(adressed'unecellulerouge))
évidemment ca ne gère pas les erreurs
si tu as d'autres bonnes idées...