Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

  • Initiateur de la discussion Initiateur de la discussion akira21
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 🙂

 

Pièces jointes


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
 

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 🙂
 
Bonjour,

Pour akira21,
Pour appliquer les bordures en VBA, voici la syntaxe:
VB:
    DerLig = Range("F" & Rows.Count).End(xlUp).Row
    Range(Cells(5, "A"), Cells(DerLig, "M")).Borders().Weight = xlThin

Cdlt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
132
Réponses
5
Affichages
173
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…