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

akira21

XLDnaute Occasionnel
Rien n'est moins certain. Si le nombre de ligne est grand, alors le VBA prendra moins de ressources (je pense).
Un autre avantage du VBA, c'est qu'on peut trier la plage selon la colonne F avant de la colorier. On est ainsi certain, que le coloriage sera toujours correct.

C'est exactement ce que je fais.
Par contre le code VBA va me colorier en vert toute les lignes vides en dessous de mes lignes avec valeurs alors qu'en MFC cela s'arrête à mes lignes ayant des valeurs.

J'étais parti en VBA pour supprimer les couleurs, copier, mettre les bordures, trier, remettre les couleurs mais finalement j'utilise ton MFC ce qui m'enlève deux étapes de code.

J'en profite pour demander une autre aide !

Comment mettre des bordures juste sur les lignes où il y a des valeurs ?

VB:
Sub Copie()

'Supprime la couleur
'Range("A7:M600").Select
   ' Application.CutCopyMode = False
   ' With Selection.Interior
   '     .Pattern = xlNone
    '    .TintAndShade = 0
    '    .PatternTintAndShade = 0
  '  End With

'Copie
Sheets("Copie Formule").Select
    Range("A7:M600").Select
    Selection.Copy
    Sheets("Cockpit").Select
    Range("A7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Paste:=xlPasteFormats

 
' Bordure

    Range("A7:M600").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With

  
'Tri
Range("A7:M600").Sort Range("A7"), xlAscending

'Converti colonne E, G, H
Range("E7:E600").Select
    Selection.TextToColumns , FieldInfo:=Array(1, 1)

Range("G7:G600").Select
    Selection.TextToColumns , FieldInfo:=Array(1, 1)

Range("H7:H600").Select
    Selection.TextToColumns , FieldInfo:=Array(1, 1)

'Mets la couleur

  ' Dim cel As Range
 '   Dim Couleur As Long
  '  Dim Couleur2 As Long
 '   Dim Transit As Long
  
 '   i = 0
 '   Couleur = 10213316
 '   Couleur2 = 16777215
  
  '  For i = 7 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
 

akira21

XLDnaute Occasionnel
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.

Oui désolé je me suis mal exprimé :(
Il faut que je regroupe une fois sur deux les mêmes valeurs.
Mais encore un grand merci pour ton aide :)
 

Discussions similaires

Statistiques des forums

Discussions
312 232
Messages
2 086 461
Membres
103 220
dernier inscrit
samira2024