Microsoft 365 Surligner les lignes si valeur d'une cellule de même valeur

akira21

XLDnaute Occasionnel
Bonjour,

Je bloque sur une macro qui doit me surligner les lignes en couleurs si les cellules dans la colonne F ont la même valeur.

Cela m'envoie une erreur Erreur d'exécution '13': incompatibilité de type

Qq'un peut il m'aider ?

Merci de votre aide :)

Capture.PNG
 

Pièces jointes

  • test.xlsm
    25.7 KB · Affichages: 27

Rouge

XLDnaute Impliqué
Bonjour,

Ceci:
VB:
Sub test()
    Dim cel As Range
    Dim Couleur As Long
    Dim Couleur2 As Long
    Dim Transit As Long
   
    i = 0
    Couleur = 10213316
    Couleur2 = 16777215
   
    For i = 5 To Range("F" & Rows.Count).End(xlUp).Row
        If Cells(i, "F") = Cells(i - 1, "F") Then
            Range(Cells(i, "A"), Cells(i, "M")).Interior.Color = Couleur
        Else
            Range(Cells(i, "A"), Cells(i, "M")).Interior.Color = Couleur2
            Transit = Couleur
            Couleur = Couleur2
            Couleur2 = Transit
        End If
    Next
End Sub

Cdlt
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

=>akira21
Tu peux faire cela sans macro
Avec la Mise en Forme conditionnelle
Accueil->Mise en forme conditionnelle
Nouvelle règle
Utiliser une formule...
Et mettre cette formule
=NB.SI($F$5:$F$31;$F5)>1

PS: test OK sur ton fichier exemple

EDITION: Bonjour Rouge
 
Dernière édition:

akira21

XLDnaute Occasionnel
Bonjour,

Ceci:
VB:
Sub test()
    Dim cel As Range
    Dim Couleur As Long
    Dim Couleur2 As Long
    Dim Transit As Long
  
    i = 0
    Couleur = 10213316
    Couleur2 = 16777215
  
    For i = 5 To Range("F" & Rows.Count).End(xlUp).Row
        If Cells(i, "F") = Cells(i - 1, "F") Then
            Range(Cells(i, "A"), Cells(i, "M")).Interior.Color = Couleur
        Else
            Range(Cells(i, "A"), Cells(i, "M")).Interior.Color = Couleur2
            Transit = Couleur
            Couleur = Couleur2
            Couleur2 = Transit
        End If
    Next
End Sub

Cdlt

Super, un grand merci :)
 

Staple1600

XLDnaute Barbatruc
Re

Quand à l'erreur, ce petit test l'explique, non ?
VB:
Sub Achtung_Baby()
XX = "C10-97"
XXX = "C10-97"
ZZ = Application.WorksheetFunction.RoundDown(XX, 0)
ZZZ = Application.WorksheetFunction.RoundDown(XXX, 0)
MsgBox ZZ
MsgBox ZZZ
End Sub

EDITION: Là plus d'erreur, car valeur numérique (ce qu'il n'y a pas dans la colonne F du fichier exemple)
VB:
Sub Achtung_Baby_OK()
XX = 1.4839
XXX = 1.4849598425
ZZ = Application.WorksheetFunction.RoundDown(XX, 3)
ZZZ = Application.WorksheetFunction.RoundDown(XXX, 3)
MsgBox ZZ
MsgBox ZZZ
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

=>akira21
Ouf, j'ai cru que j'étais invisible
Ou que mon hygiène laissait à désirer

Le titre de ta discussion parlait de cellule de même valeur
Or on est bien d'accord que dans ton exemple il n'y a qu'une seule fois C10-97
Or la MFC de mapomme la met en couleur.

Ce que je ne comprends donc pas.
 

Discussions similaires

Réponses
4
Affichages
186

Statistiques des forums

Discussions
311 720
Messages
2 081 924
Membres
101 841
dernier inscrit
ferid87