Somme.si.ens avec 1 critère couleur et 1 critère texte
1 réponse
Merlin84
Bonjour à tous
je viens solliciter votre aide car je suis à la recherche d'une fonction je pense par VBA qui me permettrait de faire un somme.si.ens avec 1 critère couleur et un 2ème texte.
Si je reviens dans le concret j'ai plusieurs agences qui doivent réaliser un certain objectif de facturation mais les estimations que me remettent les commerciaux sont conditionnées (Problème de BL ou de commandes)
J'avais trouvé une fonction VBA permettant de faire simplement un somme.si couleur
Cordialement
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 19/02/20 à 07:32, Merlin84 a écrit :
Bonjour à tous je viens solliciter votre aide car je suis à la recherche d'une fonction je pense par VBA qui me permettrait de faire un somme.si.ens avec 1 critère couleur et un 2ème texte. Si je reviens dans le concret j'ai plusieurs agences qui doivent réaliser un certain objectif de facturation mais les estimations que me remettent les commerciaux sont conditionnées (Problème de BL ou de commandes) J'avais trouvé une fonction VBA permettant de faire simplement un somme.si couleur Cordialement
Bonjour, L'équivalent de la fonction "somme.si.ens" en vba est : Application.WorksheetFunction.SumIfs. Je ne pense pas que tu vas obtenir un résultat probant de cette manière. Voici une manière de procéder. La procédure "Test" appelle la fonction mise dans un module standard "Add_Color" et additionne les valeurs de la plage de cellules "Feuil1!B1:B10" si elles sont plus grandes que 5 et que la couleur est "14395790". 14395790 est obtenu en extrayant la propriété "Color" de "Interior" de la cellule. À titre d'exemple : X = Range("A1").Interior.Color Ce type de fonction personnalisée peut s'écrire de différentes façons selon la donne du problème! '--------------------------- Sub test() MsgBox Add_Color(Range("Feuil1!B1:B10"), 5, 14395790) End Sub '--------------------------- Function Add_Color(Rg As Range, Critère As Long, Couleur As Long) Dim C As Range For Each C In Rg If C > Critère And C.Interior.Color = Couleur Then Add_Color = Add_Color + C.Value End If Next End Function '--------------------------- MichD
Le 19/02/20 à 07:32, Merlin84 a écrit :
Bonjour à tous
je viens solliciter votre aide car je suis à la recherche d'une fonction je
pense par VBA qui me permettrait de faire un somme.si.ens avec 1 critère couleur
et un 2ème texte.
Si je reviens dans le concret j'ai plusieurs agences qui doivent réaliser un
certain objectif de facturation mais les estimations que me remettent les
commerciaux sont conditionnées (Problème de BL ou de commandes)
J'avais trouvé une fonction VBA permettant de faire simplement un somme.si
couleur
Cordialement
Bonjour,
L'équivalent de la fonction "somme.si.ens" en vba est :
Application.WorksheetFunction.SumIfs. Je ne pense pas que tu vas obtenir
un résultat probant de cette manière.
Voici une manière de procéder. La procédure "Test" appelle la fonction
mise dans un module standard "Add_Color" et additionne les valeurs de la
plage de cellules "Feuil1!B1:B10" si elles sont plus grandes que 5 et
que la couleur est "14395790". 14395790 est obtenu en extrayant la
propriété "Color" de "Interior" de la cellule. À titre d'exemple :
X = Range("A1").Interior.Color
Ce type de fonction personnalisée peut s'écrire de différentes façons
selon la donne du problème!
'---------------------------
Sub test()
MsgBox Add_Color(Range("Feuil1!B1:B10"), 5, 14395790)
End Sub
'---------------------------
Function Add_Color(Rg As Range, Critère As Long, Couleur As Long)
Dim C As Range
For Each C In Rg
If C > Critère And C.Interior.Color = Couleur Then
Add_Color = Add_Color + C.Value
End If
Next
End Function
'---------------------------
Bonjour à tous je viens solliciter votre aide car je suis à la recherche d'une fonction je pense par VBA qui me permettrait de faire un somme.si.ens avec 1 critère couleur et un 2ème texte. Si je reviens dans le concret j'ai plusieurs agences qui doivent réaliser un certain objectif de facturation mais les estimations que me remettent les commerciaux sont conditionnées (Problème de BL ou de commandes) J'avais trouvé une fonction VBA permettant de faire simplement un somme.si couleur Cordialement
Bonjour, L'équivalent de la fonction "somme.si.ens" en vba est : Application.WorksheetFunction.SumIfs. Je ne pense pas que tu vas obtenir un résultat probant de cette manière. Voici une manière de procéder. La procédure "Test" appelle la fonction mise dans un module standard "Add_Color" et additionne les valeurs de la plage de cellules "Feuil1!B1:B10" si elles sont plus grandes que 5 et que la couleur est "14395790". 14395790 est obtenu en extrayant la propriété "Color" de "Interior" de la cellule. À titre d'exemple : X = Range("A1").Interior.Color Ce type de fonction personnalisée peut s'écrire de différentes façons selon la donne du problème! '--------------------------- Sub test() MsgBox Add_Color(Range("Feuil1!B1:B10"), 5, 14395790) End Sub '--------------------------- Function Add_Color(Rg As Range, Critère As Long, Couleur As Long) Dim C As Range For Each C In Rg If C > Critère And C.Interior.Color = Couleur Then Add_Color = Add_Color + C.Value End If Next End Function '--------------------------- MichD