Coloniser des cellules selon valeur

Bonsoir le forum,

J ai besoin de vous pour régler 3 cas qui se pose à moi

Cas 1:

Je dois mettre en jaune la meilleure valeur d une plage de cellules discontinues

Cas 2:

Je dois mettre en jaune les 2 meilleures valeurs d une autre plage discontinue (il peut y avoir 3 cellule de valeur 10, il faut que j en colorise que 2)

Quel code dois je mettre ?

Bonjour

Option Explicit

Dim plage, v1, v2

Sub casUn()
    Set plage = Range("B2:B11,D3:D6")   'Exemple
    v1 = Application.WorksheetFunction.Large(plage, 1)
    plage.Find(v1, lookat:=xlWhole).Interior.Color = 65535
End Sub

Sub casDeux()
    Set plage = Range("B2:B11,D3:D6")   'Exemple
    v1 = Application.WorksheetFunction.Large(plage, 1)
    v2 = Application.WorksheetFunction.Large(plage, 2)
    plage.Find(v1, lookat:=xlWhole).Interior.Color = 65535
    plage.Find(v2, lookat:=xlWhole).Interior.Color = 65535
End Sub

Quant au cas n° 3, c'est un mystère !

Bye !

Bonjour gmb,

Cas 1 impeccable ça fonctionne bien.

Cas 2 problème...

Si il y a la même valeur la plus grande plusieurs fois, il colorise qu une cellule alors qu il m en faut 2.

De plus comment faire pour démarrer ces 2 cas au clic sur un bouton ?

Y a t il une bonne âme pour m aider ça je suis bloqué...

Merci d avance

Personne pour m aider...

Nouveau code :

Dim plage, plage1, plage2, v1, v2, cell

Sub Cas()
    'casUn()
    Set plage = Range("B2:B11,D3:D6")   'Exemple
    v1 = Application.WorksheetFunction.Large(plage, 1)
    plage.Find(v1, LookAt:=xlWhole).Interior.Color = 65535

    'casDeux()
    Set plage = Range("B15:B24,D15:D24")   'Exemple
    Set plage1 = Range("B15:B24")
    Set plage2 = Range("D15:D24")

    v1 = Application.WorksheetFunction.Large(plage, 1)
    If Application.WorksheetFunction.CountIf(plage1, v1) _
            + Application.WorksheetFunction.CountIf(plage2, v1) = 1 Then
        v2 = Application.WorksheetFunction.Large(plage, 2)
        plage.Find(v1, LookAt:=xlWhole).Interior.Color = 65535
        plage.Find(v2, LookAt:=xlWhole).Interior.Color = 65535
    Else
        Set cell = plage.Find(v1, LookAt:=xlWhole)
        cell.Interior.Color = 65535
        plage.Find(v1, after:=cell, LookAt:=xlWhole).Interior.Color = 65535
    End If
End Sub

Cela te convient-il ?

Bye !

Il ne veut pas de la ligne :

Il application.worksheetfunction.countif(plage1,v1)+application.worksheetfunction.countif(plage2,v1)=1 then

Voilà qui est curieux.

Essaie mon fichier et dis-moi.

16classeur1-v1.xlsm (17.11 Ko)

Merci gmb, pour ton aide

Malgré cela je galère...

Est ce que je peux joindre mon fichier et t expliquer ce que je veux ?

ALF45 a écrit :

Est ce que je peux joindre mon fichier et t expliquer ce que je veux ?

Fais !

voici mon fichier en question

dans l'onglet instructions j'ai tout détaillé et préparé les plages de cellules à prendre en compte.

UN ENORME MERCI à TOI.

14poutre-benj-min.xlsm (246.29 Ko)

Un essai à tester.

Cela te convient-il ?

Je trouve curieux que le bouton "Effacer les valeurs'' n'efface rien (cf instructions) et se contente de mettre la même couleur bleue partout au lieu de remettre les couleurs d'origine. Mais il est vrai que c'est plus simple...

Bye !

MERCI GMB,

Effectivement y a un petit bug,

La couleur d'orgine de la cellule (soit le remplissage) ne devrait pas bouger...

Seul le contenu de la cellule (les valeurs devraient être bleue puis rouge après la sélection)...

Autre bug, en cliquant sur effacer les valeurs, toutes les cellules devraient s'effacer...

Comment puis modifier cela ?


GMB ne te tracasse pas j'ai trouvé les solutions, je teste tout ca et je te tiens au courant !

un Enorme merci !!!!

Bonjour Gmb,

j'ai testé le programme en long en large et en travers et j ai constaté quelques petits bugs...

je te les ai signalés dans l'onglet instructions...

je te joins le dernier fichier sur lequel il faut apporter les modifications

merci pour ton aide précieuse...

Bonjour

Nouvel essai à tester.

S'il y a des bugs, en plus des explications, retourne moi le fichier avec un exemple de valeurs incorrectes...

Gmb,

Je te met en PJ une fiche explicative

Bonsoir gmb,

Suis je clair dans ma fiche explicative ?

Bonjour

ALF45 a écrit :

Suis je clair dans ma fiche explicative ?

J'avoue que je n'ai pas chercher à comprendre.

Je t'ai fait 5 propositions.

Tu m'as répondu 5 fois en me fixant de nouvelles contraintes...C'est lassant ! On ne voit pas quand cela pourrait finir...

De plus, quand je te fais une demande, tu n'en tiens pas compte : je suis démotivé ....

Rechercher des sujets similaires à "coloniser valeur"