Lettrage - mise en surbrillance

Bonjour à tous,

Je souhaiterai réaliser un lettrage sur les valeurs qui son les même mais en sens contraire.

Les valeurs doivent être en surbrillance uniquement si un seul montant trouvant un doublon en sens contraire. La somme des mis en surbrillance doit logiquement être égale à 0.

J'ai essayé une fonction avec un NB.SI le problème est que j'ai une surbrillance quand des montants avec un même signe sont en doublon.

Pour être plus clair :

- Mise en surbrillance des valeurs dans la colonne C pour lesquelles on retrouve leurs inverses unique, pas de mise en surbrillance pour les valeurs en doublon.

Si nous prenons l'exemple avec 3574.2, on retrouve son inverse, -3574.2, en ligne 173, la fonction devrai mettre en surbrillance les cellules C2 ou C173 ou vrai dans une autre colonne, peu importe. La celulle C3 ne devra pas être en surbrillance ou en vrai étant donnée qu'il y a deux fois 3574.2 contre une fois -3574.2.

Voici un fichier pour être un peu plus clair.

MERCI beaucoup pour votre aide

Bonjour,

possible via une simple mise en forme conditionnelle …

Bonjour Marc,

Comment peut on le faire avec une mise en forme conditionnelle pour qu'elle prenne en compte uniquement les doublons qui équivalent à 0 ?

J'ai essayé plusieurs choses, sans succés

Mathias

Par exemple pour B2 : La valeur de la cellule est égale à =-B3

Merci Marc pour ton retour.

Le problème est qu'en faisant de cette manière ça me met une surbrillance : les cellules qui trouvent une correspondance en signe inverse. Si j'ai 2 celulles positives qui sont égales à 200 et une à -200. Les 3 seront mises en surbrillance alors que leurs soldes n'équivaut pas à 0.

Comprends tu ce que je veux expliquer ?

Et non seule une cellule est en surbrillance si tu avais essayé au moins !

J'ai juste répondu à la demande initiale : si une cellule est égale à moins la cellule en dessous.

Mais si elle a été mal formulée …

Marc, si vous avez ouvert mon fichier vous verrez que j'ai essayé, même en passant par une formule renvoyant vers un vrai ou faux en fonction du nombre de correspondance trouvée.

Je veux mettre en surbrillance l'ensemble des montants qui sont lettrables sur la colonne.

Si ma MFC eut été testée, une telle sottise vous n'auriez pu écrire ‼

Sans reformulation technique précise et exhaustive sans devoir décoder, je passe !

Car déjà indiquer dans la présentation la colonne C (aucune formule, juste "VRAI" !) alors que les montants sont en colonne B …

Marc, au temps pour moi je les ai copier coller en valeur.

Pour reformuler ma demande :

- Mise en surbrillance des valeurs dans la colonne C pour lesquelles on retrouve leurs inverses unique, pas de mise en surbrillance pour les valeurs en doublon.

Si nous prenons l'exemple avec 3574.2, on retrouve son inverse, -3574.2, en ligne 173, la fonction devrai mettre en surbrillance les cellules C2 ou C173 ou vrai dans une autre colonne, peu importe. La celulle C3 ne devra pas être en surbrillance ou en vrai étant donnée qu'il y a deux fois 3574.2 contre une fois -3574.2.

Ma demande est elle plus clair formulé comme ceci ?

Je me doutais bien de la demande initiale un peu légère, par trop facile …

Y-a-t-il la possibilité d'ajouter une colonne (ou d'utiliser la colonne C) afin de trier les montants en valeur absolue ?

Sinon par MFC, j'ai franchement un doute sur la faisabilité : je laisse répondre les cadors en formules Excel de ce site !

Par code, je n'entrevois pour l'instant qu'une p'tite usine à gaz mais acceptable avec peu de lignes comme dans le classeur joint,

si c'est juste pour dépanner dans le cas où ce n'est effectivement pas réalisable par MFC …

Sub Demo()
Dim Pl As Range, Rg As Range
Application.ScreenUpdating = False

With Feuil1.Cells(1).CurrentRegion.Columns(2)
    For R& = 2 To .Rows.Count - 1
        If .Cells(R).Font.Bold = False Then
               Set Pl = .Cells(R).Resize(.Rows.Count - R + 1)
               Set Rg = Pl.Find(-Pl(1).Value, Pl(1), xlValues, xlWhole)
            If Not Rg Is Nothing Then
                                 L& = Rg.Row
                Do
                    If Rg.Font.Bold = False Then
                        Union(Pl(1), Rg).Font.Bold = True
                        Exit Do
                    Else
                        Set Rg = Pl.FindNext(Rg)
                    End If
                Loop Until Rg.Row = L
            End If
        End If
    Next
End With

Set Pl = Nothing:  Set Rg = Nothing
End Sub

Exécution instantanée avec le classeur joint !


L'expérience, c'est une connerie par jour, mais jamais la même …

Bonjour à tous,

Par MFC à partir de B2 :

=NB.SI(B3:$B$173;-B2)-(NB.SI($B$1:B1;B2)-NB.SI($B$1:B1;-B2))>0

Affiche aussi les 'doubles valeur uniques' comme 8850, 8850, -8850, -8850

eric

Efficace Eric !

Rechercher des sujets similaires à "lettrage mise surbrillance"