Petit pb de VB sur excel

Bonjour!

Je voudrai effectuer en A1 l'opération suivante:
SOMMEPRODUIT[(valeur des cases de couleur rouge(exA5))*(valeur des cases dans la colonne précédent chaque cellule rouge (ex A4))]/(SOMME des cellules précédent chaque cellule rouge)

Quelqu'un peut me proposer une procédure?

4 réponses

  1. maplage=les cellules qui vont composer la somme des produits
    tu tapes cela dans la cellule dans lequel tu veux obtenir le résultat
    cela marche avec deux colonnes consécutives dont les rouges
    sont à droite
    par contre c'est la fonction qui va sélectionner les rouges
    1. 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
      1. ok random je te remercie!
        Par contre quand je tape
        spr(maplage;couleur(adressed'unecellulerouge))
        qu'est ce que je rentre pour maplage: la ligne sur laquelle je veux travailler??
        et le résultat va se mettre dans quelle cellule?

        ...désolé je suis vraiment novice en VB...
    2. 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
      1. il n'y a pas de condition logique l'emploi de la couleur sert a différencier différents types d'informations je voudrai écrire une boucle IF...THEN mais je ne connais pas exactement la démarche pour écrire une telle procédure
      2. il n'y a pas de condition logique l'emploi de la couleur sert a différencier différents types d'informations je voudrai écrire une boucle IF...THEN mais je ne connais pas exactement la démarche pour écrire une telle procédure
      3. il n'y a pas de condition logique l'emploi de la couleur sert a différencier différents types d'informations je voudrai écrire une boucle IF...THEN mais je ne connais pas exactement la démarche pour écrire une telle procédure
    3. ben tu écris une fonction ou tu tries les cellules rouges manu
      1. t gentil mais ça m'avance pas car le nb de cellules rouges est variable donc le triage manu c pas trop ça...
        si tu as d'autres bonnes idées...