Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

Shpountz

XLDnaute Occasionnel
Bonjour à tous

Je suis néophyte et j'ai besoin de vos lumières.
Je voudrais savoir si il est possible de donner une valeur "vrai" (ou 1) après une recherche dans une plage de cellules en couleur.

Comme c'est difficilement explicable je joint un fichier.

Il s'agit de remplir directement le tableau en fonction des résultats.
Par exemple si cellules VERT et Cellule ROUGE et Cellule Jaune alors "vrai" (ou 1)

En descendant dans la colonne A on trouve des exemples....

Bon.... J'espère que j'ai été assez explicite bien que j'ai du mal a me comprendre moi même...

Merci à tous pour votre aide
François
 

Pièces jointes

  • Exemple.xlsx
    252.8 KB · Affichages: 78
  • Exemple.xlsx
    252.8 KB · Affichages: 73
Dernière modification par un modérateur:

Shpountz

XLDnaute Occasionnel
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

Je viens de finaliser mon tableau grâce à toi alors un grand merci !
Oui je pense qu'il doit y en avoir d'autres... Les enfants sont plutôt cruels !

Je dois juste trouver le bouton "résolu"
 

Shpountz

XLDnaute Occasionnel
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

Salut Hieu

En fait la formule fonctionne pour les colonnes jusqu'a la colonne "AO"
Mais pour les colonnes "AQ jusqu'a BH" la formule doit intégrer le "Bleu" en plus du Rouge/Vert/Jaune.
Or elle donne "true" même si le "Bleu" n'est pas présent...

Est ce que je peux rajouter une formule dans le code VBA ?
"If rouge = True And vert = True And jaune = True And bleu = True Then PlageCouleur = True"

et dans ce cas je dois rajouter une formule pour les 5 couleurs
"If rouge = True And vert = True And jaune = True And bleu = True And violet = True Then PlageCouleur = True"


Merci d'avance


Re,

J'ai supprimé quelques lignes, pour que le fichier soit de taille raisonnable pour le forum.

J'ai créé une fonction PlageCouleur dans laquelle tu donnes une plage de données et qui te renvoie "vrai", si dans ta plage, tu as les couleurs rouge, vert et jaune. Un exemple de l'utilisation de la fonction en cellule ab12.

Est-ce que c'est ce que tu cherches ??

Code:
Function PlageCouleur(tableau As Range)
' rouge = 255, vert = 5287936, jaune = 65535, bleu = 15773696, violet = 10498160
For Each c In tableau
    If c.Interior.Color = 255 Then rouge = True
    If c.Interior.Color = 5287936 Then vert = True
    If c.Interior.Color = 65535 Then jaune = True
    If c.Interior.Color = 15773696 Then bleu = True
    If c.Interior.Color = 10498160 Then violet = True
Next c
    If rouge = True And vert = True And jaune = True Then PlageCouleur = True
End Function


++
 

Shpountz

XLDnaute Occasionnel
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

Si j'ai changé mais la j'ai juste repris ton code VBA dans ton message.

Pour le reste j'ai essayé sans attendre ta réponse et cela ne marche pas.
Je pense que le probleme vient du fait que la première formule etant déja "juste" il m'est "true" ou 1
voila ce que j'ai en code
Code:
Function PlageCouleur(tableau As Range)
' rouge = 255, vert = 5287936, jaune = 65535, bleu = 15773696, violet = 10498160
For Each c In tableau
    If c.Interior.Color = 255 Then rouge = True
    If c.Interior.Color = 5287936 Then vert = True
    If c.Interior.Color = 65535 Then jaune = True
    If c.Interior.Color = 15773696 Then bleu = True
    If c.Interior.Color = 10498160 Then violet = True
Next c
    If rouge = True And vert = True And jaune = True Then PlageCouleur = 1
    If rouge = True And vert = True And jaune = True And bleu = True Then PlageCouleur = 1
    If rouge = True And vert = True And jaune = True And bleu = True And violet = True Then PlageCouleur = 1
End Function
 

Hieu

XLDnaute Impliqué
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

ah non, j'viens de comprendre ; Dans d'autres cellules, tu veux une nouvelle condition qui est "les 5 couleurs".

Comme je te disais, il te faut créer une nouvelle function.
Code:
Function PlageCouleur5(tableau As Range)
' rouge = 255, vert = 5287936, jaune = 65535, bleu = 15773696, violet = 10498160
For Each c In tableau
    If c.Interior.Color = 255 Then rouge = True
    If c.Interior.Color = 5287936 Then vert = True
    If c.Interior.Color = 65535 Then jaune = True
    If c.Interior.Color = 15773696 Then bleu = True
    If c.Interior.Color = 10498160 Then violet = True
Next c
    If rouge = True And vert = True And jaune = True And bleu = True And violet = True Then PlageCouleur5 = 1
End Function

Et bien sûr, modifier l'appel de ta fonction par ce nouveau nom PlageCouleur5 (comme mon exemple)
 
Dernière modification par un modérateur:

Shpountz

XLDnaute Occasionnel
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

La formule fonctionne....
Neanmoins elle ne le fais pas automatiquement il faut que je double clique sur la cellule et que je valide...
Y a t'il une solution avec des touches ?
 

Shpountz

XLDnaute Occasionnel
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

Non la formule ne fonctionne pas....
Maintenant elle ne "valide" que lorsque les 5 couleurs sont dans la plage
Quand le Rouge/Vert/Jaune sont juste elle ne fonctionne plus
Je m'arrache les cheveux
 

Shpountz

XLDnaute Occasionnel
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

Capture2105.jpg

Ici on constate qu'elle fonctionne sur les 6 cellules mais elle ne donne pas le résultat des 4 premières qui sont justes aussi
 

Pièces jointes

  • Capture2105.jpg
    Capture2105.jpg
    62.2 KB · Affichages: 36

Hieu

XLDnaute Impliqué
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

Oui, comme je t'ai dit :
il te faut plusieurs fonctions (et non une seule).
Par exemple :
- une fonction PlageCouleur3 qui te permet de sortir 1 si tu as les 3 couleurs valides (celle écrite, au premier tir)
- une fonction PlageCouleur5 qui te permet de sortir 5 si tu as les 5 couleurs valides (celle écrite à la fin)

J'essaie de te faire un exemple dès que possible si tu n'y arrives pas.
 

Shpountz

XLDnaute Occasionnel
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

Par fonction entend t'on
Code:
Function PlageCouleur(tableau As Range)
' rouge = 255, vert = 5287936, jaune = 65535, bleu = 15773696, violet = 10498160
For Each c In tableau
    If c.Interior.Color = 255 Then rouge = True
    If c.Interior.Color = 5287936 Then vert = True
    If c.Interior.Color = 65535 Then jaune = True
    If c.Interior.Color = 15773696 Then bleu = True
    If c.Interior.Color = 10498160 Then violet = True
Next c
    If rouge = True And vert = True And jaune = True Then PlageCouleur = 1
    If rouge = True And vert = True And jaune = True And bleu Then PlageCouleur = 1
    If rouge = True And vert = True And jaune = True And bleu = True And violet = True Then PlageCouleur = 1
End Function


ou dans un module
Code:
Function PlageCouleur(tableau As Range)
' rouge = 255, vert = 5287936, jaune = 65535, bleu = 15773696, violet = 10498160
For Each c In tableau
    If c.Interior.Color = 255 Then rouge = True
    If c.Interior.Color = 5287936 Then vert = True
    If c.Interior.Color = 65535 Then jaune = True
    If c.Interior.Color = 15773696 Then bleu = True
    If c.Interior.Color = 10498160 Then violet = True
Next c
    If rouge = True And vert = True And jaune = True Then PlageCouleur = 1
End Function

et dans un autre
Code:
Function PlageCouleur(tableau As Range)
' rouge = 255, vert = 5287936, jaune = 65535, bleu = 15773696, violet = 10498160
For Each c In tableau
    If c.Interior.Color = 255 Then rouge = True
    If c.Interior.Color = 5287936 Then vert = True
    If c.Interior.Color = 65535 Then jaune = True
    If c.Interior.Color = 15773696 Then bleu = True
    If c.Interior.Color = 10498160 Then violet = True
Next c
    If rouge = True And vert = True And jaune = True And bleu Then PlageCouleur = 1
End Function

etc... ?
Donc 3 modules ?
 

Hieu

XLDnaute Impliqué
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

En pièce jointe, tu trouveras la fonction pour 5 couleurs, que j'ai appelé PlageCouleur5. Pour l'utiliser, pareil que PlageCouleur
Pas besoin de créer plusieurs modules ;
 

Pièces jointes

  • Exemple_v1.xlsm
    265.3 KB · Affichages: 37
  • Exemple_v1.xlsm
    265.3 KB · Affichages: 38

Shpountz

XLDnaute Occasionnel
Re : Valeur "vrai" (ou 1) sur recherche dans une plage de cellule en couleur

Je suis désolé de m'acharner sur toi
Mais quand on copie la formule (par exemple) =PlageCouleur(B12:E12) dans la suite du tableau cela ne fonctionne pas
Je te joins ton dernier fichier avec l'exemple en ligne 12 et pour la colonne AQ

Le résultat est "1" et il devrait être "0"
 

Pièces jointes

  • Copie de Exemple_v1.xlsm
    231.1 KB · Affichages: 37

Discussions similaires

Réponses
10
Affichages
200

Statistiques des forums

Discussions
312 158
Messages
2 085 828
Membres
102 994
dernier inscrit
snoopy70