Coloration de cellules remplissant les critères d'une/de formule(s)

Bonjour à tous,

J'aurais besoin d'aide pour une macro.

J'aimerais que cette macro colore les cellules qui sont utilisés pour agrémenter une/des formules somme.si.ens. (et plus précisément la plage_somme).

Par exemple si la formule 1 prends en compte la case D1 et D2 alors ces cases devront etre colorés en rouge.

Si la case D3 et D4 sont utilisé par la formule 2 alors elles devront etre en rouge.

Par contre, si la case D5 est utilisé par la formule 1 ET la formule 2 alors elle devra etre orange.

( Et cela potentiellement avec un grand nombre de formule)

DONC PREMIERE QUESTION => Est-il possible de simplifier le code que je vous partage ?

DEUXIEME QUESTION => Est ce qu'il est possible de prendre directement la formule (ou une formule écrit différemment ?) pour savoir si les cases D respectent ou non les conditions ? (sachant que ce n'est pas une conditions booléenne direct). CAR le principal problème est que sans ca, cela force a réecrire toute les conditions dans la macro et cela n'est pas très efficient. il faudrait renvoyer à la formule concerné sous cette forme (H3)

En gros => pour les cases qui respectent les conditions de H3 alors les mettre en rouge et pareil pour les autres formules. ( apres ce n'est pas grave si la formule est écrite différemment

Suite à ca je voudrais savoir si on peut prendre toute les formules en meme temps pour ce que je veux faire ( formule de H3 à H20 par exemple)

ATTENTION : Ce n'est pas le resultat de la formule qui doit etre pris en compte pour valider D mais uniquement la conditions de sa prise en compte

Pour rappel, une cellule qui est utilisé par une formule = en rouge, celles utilisé par plus de 2 formules = en rouge.

=> C'est simplement pour eviter les doublons quand on prends en compte des données (peut etre que vous avez une solution différente)

Je suis pas ultra clair mais bon... je joins un fichier excel pour vous montrer les conditions.

Je vous remercie.

Sub CXXXXXl()

'Déclaration des variables
Dim i As Long
Dim nbFormules As Long

'Détermination de la dernière ligne utilisée de la colonne D
i = Range("D" & Rows.Count).End(xlUp).Row

'Boucle de traitement de chaque ligne de la colonne D
Do Until i = 0

'Initialisation du compteur de formules à 0
nbFormules = 0

'Test des critères de la première formule
If UCase(Cells(i, 3).Value) Like "*PROUT*" And Cells(i, 2).Value = "x" And Cells(i, 1).Value = "a" Then

'Incrémentation du compteur de formules
nbFormules = nbFormules + 1

End If

'Test des critères de la seconde formule
If UCase(Cells(i, 3).Value) Like "*RPRO*" And Cells(i, 2).Value = "x" And Cells(i, 1).Value = "a" Then

'Incrémentation du compteur de formules
nbFormules = nbFormules + 1

End If

'Test des critères de la troisième formule
If UCase(Cells(i, 3).Value) Like "*RPROTC*" And Cells(i, 2).Value = "x" And Cells(i, 1).Value = "a" Then

'Incrémentation du compteur de formules
nbFormules = nbFormules + 1

End If

'Test du nombre de formules qui ont été remplies
If nbFormules > 1 Then

'Coloration en orange de la cellule de la colonne D
Cells(i, 4).Interior.Color = vbOrange

ElseIf nbFormules = 1 Then

'Coloration en rouge de la cellule de la colonne D
Cells(i, 4).Interior.Color = vbRed

End If

i = i - 1

Loop

End Sub

Bonjour Sod,

Après ce roman qu'elle est le but exacte de cette demande ?
Quel est votre intérêt de colorer des cellules en fonction des critères d'une formule ?

Perso je ne pense pas y mettre les pieds... ni les mains d'ailleurs

Surtout que dans le menu Formules, il existe

image

A+

Bonjour

Salut Bruno

Ci joint ma solution

A+ François

Bonjour fanfan38

Tu ne sembles pas avoir lu

DEUXIEME QUESTION => Est ce qu'il est possible de prendre directement la formule (ou une formule écrit différemment ?) pour savoir si les cases D respectent ou non les conditions ? (sachant que ce n'est pas une conditions booléenne direct). CAR le principal problème est que sans ca, cela force a réecrire toute les conditions dans la macro et cela n'est pas très efficient. il faudrait renvoyer à la formule concerné sous cette forme (H3)

D'où mes interrogations

A+

Bonjour BrunoM45,

Le but exact est de pouvoir voir si il y a des coquilles dans le comptage d'un très grand nombre de cellule avec différents critères et catégorie.

Ces calculs ne peuvent se faire avec un tableau croisé dynamique et donc il faut utiliser des somme.si.ens.

Et vu que les données de bases peuvent ne pas etre fiable, il me faut un moyen de voir les erreurs de comptage ou les redondances.

Par rapports aux antécédents il ne prennent en compte en que les données sur lesquelles ils se basent donc cela ne me sert pas. (Ils ne prennent pas uniquement en compte les données pour lesquelles les différentes conditions que je veux soient VRAI.)

Bonjour, fanfan38

Merci beaucoup , je devrais par contre combiner la conditions des premières colonnes à chaque fois avec la conditions du mots en ** ( Car ici, la condition des premieres colonnes est identique mais à terme vu le nombre de conditions cela pourra varier).

Je vous remercie.

Si quelqu'un d'autre a la solution à mon deuxième souci... :D

C'est quoi la 2ème question...

si les cases D respectent ou non les conditions ?

Quelle condition?

A+ François

fanfan38,

Dans le cas ou j'ai une formule en somme.si.ens qui cherche dans les colonnes ABC des valeurs définit, et a sa plage de somme en D.
=> les valeurs cherché sont des conditions car pour chaque formule il y aura des valeurs différentes.

Apres, est ce qu'il est possible via une macro de faire une recherche direct des cases de la plage D qui sont prises en compte pour le calcul (et donc respectent ces conditions) avec un somme.si.ens ou alors il faut un autre type de formule ? => c'est à dire qu'au lieux de retaper la formule dans la macro, on fait une redirection vers une case qui contient cette formule ?

Cela n'est peut etre pas possible

Je vous remercie

Donne nous un tableau qui ressemble à ton problème (sinon je ferai comme Bruno...) parce que

a + x + prout ça fait pas 1 donc je ne peux savoir si D est bon

A+ François

fanfan38,

Oui, je vous joins le tableaux, les formules sont de H3 à H5 (où H3 est la formule 1 et H5 la formule 3)

en E, F et G j'ai mis une recherche pour dire si tel ou tel ligne apparait dans la formule1, 2 ou 3

Je vous remercie.

Apres comme je l'ai dit ce n'est peut etre pas faisable selon mes conditions.
Rechercher des sujets similaires à "coloration remplissant criteres formule"