Lissage nombre sur cellules colorées

Bonjour,

Avec la fonction ci-dessous, j'arrive à récupérer le nombre de cellules en couleur.

J'aimerai ensuite que la valeur de ma variable budget soit lissée sur le nb de cellules colorées

ex : budget = 10

je compte 5 cellules en couleur, ca va me lisser le budget avec la valeur de 2 dans chacune des cellules en couleur

Je vois pas trop comment réaliser cela simplement.. une idée ? merci à vous

Function SomCool(Zne As Range, Couleur As String)

Bonjour Makside le forum

je compte 5 cellules en couleur, ca va me lisser le budget avec la valeur de 2 dans chacune des cellules en couleur

bah oui tu sais certainement ce que tu veux mais sans fichier ????

Enfin l'essentiel est que tu te comprennes, mais pour les autres là????

a+

Papou

Bonjour,

Une solution possible via une fonction appliquée en formule matricielle :

1- sélectionner la plage où appliquer la formule

2- Ctrl + Shift + Entrée

Function ventil_budget(budget As Integer)
    Dim cell As Range, zne As Range
    Dim cvsomme As Integer, i As Integer
    Set zne = Range(Application.Caller.Address)
    Dim ventil(): ReDim ventil(zne.Count)

    Application.Volatile
    cvsomme = 0
    For Each cell In zne
        If cell.Interior.ColorIndex <> xlNone Then cvsomme = cvsomme + 1
    Next

    i = 0
    If cvsomme > 0 Then
        For Each cell In zne
            If cell.Interior.ColorIndex <> xlNone Then ventil(i) = budget / cvsomme _
            Else ventil(i) = 0
            i = i + 1
        Next
        ventil_budget = ventil
    End If
End Function

ci-joint exemple

12ventil.xlsm (21.26 Ko)

pas faux Paritec..

Merci bcp Thev, ca marche bien

par contre, les cellules sur lesquelles appliquer la fct ne sont connues qu'au moment où je fais la création de n cellules en couleur en vba ..

à voir comment adapter ca..

par contre, les cellules sur lesquelles appliquer la fct ne sont connues qu'au moment où je fais la création de n cellules en couleur en vba ..

à voir comment adapter ca..

A priori, dans ton code VBA, adapter alors la fonction en procédure Sub.

Rechercher des sujets similaires à "lissage nombre colorees"