Colorier les lignes différentes de deux feuilles
Résolu
guillaume gdco
Messages postés
68
Date d'inscription
Statut
Membre
Dernière intervention
-
guillaume gdco Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
guillaume gdco Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai besoin de faire ressortir les différence entre deux feuilles.
pour cela j’exécute un code qui me colorie les lignes différentes, mais il me colorie les lignes identiques.
En fait j'ai besoin de colorier les lignes différentes dans la feuille 2 uniquement et ma contrainte et que les lignes identiques ne sont pas dans le même classement.
merci
j'ai besoin de faire ressortir les différence entre deux feuilles.
pour cela j’exécute un code qui me colorie les lignes différentes, mais il me colorie les lignes identiques.
En fait j'ai besoin de colorier les lignes différentes dans la feuille 2 uniquement et ma contrainte et que les lignes identiques ne sont pas dans le même classement.
merci
'colorie doublons Sub essai() der_ligne = Range("A" & "65000").End(xlUp).Row For Each cel1 In Sheets("Feuil1").Range("A1:A" & der_ligne) For Each cel2 In Sheets("Feuil2").Range("A1:A" & der_ligne) If cel1 <> cel2 Then li = li + 1 cel1.Interior.ColorIndex = 3 cel2.Interior.ColorIndex = 3 End If Next Next End Sub
Configuration: Windows / Firefox 60.0
A voir également:
- Colorier les lignes différentes de deux feuilles
- Comment faire un livret avec des feuilles a4 - Guide
- Nombre de jours entre deux dates excel - Guide
- Bruler les feuilles de laurier - Guide
- Deux ecran pc - Guide
- Partage de photos en ligne - Guide
8 réponses
Bonjour,
Essaies comme ça :
Essaies comme ça :
Option Explicit Sub Comparer() ' Compare les valeurs de la feuille 1 et celles de la feuille 2 Dim dv1 As Object Dim cel As Range Dim d°L As Long ' Mémoriser les valeurs de la feuille 1 sans doublon Set dv1 = CreateObject("Scripting.Dictionary") With Worksheets(1) d°L = .Cells(.Rows.Count, "A").End(xlUp).Row For Each cel In .Range("A1:A" & d°L) dv1(cel.Value) = "" Next End With ' Colorer les différences sur la feuille 2 With Worksheets(2) d°L = .Cells(.Rows.Count, "A").End(xlUp).Row For Each cel In .Range("A1:A" & d°L) If Not dv1.Exists(cel.Value) Then cel.Interior.ColorIndex = 3 Else cel.Interior.ColorIndex = xlNone End If Next End With End Sub
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
merci de spécifier "basic" quand tu utilises les balises de code avec du vba.
je suggère, pour que tu comprennes ce que fait ton code, que tu changes temporairement la logique: colorie les lignes identiques.
merci de spécifier "basic" quand tu utilises les balises de code avec du vba.
je suggère, pour que tu comprennes ce que fait ton code, que tu changes temporairement la logique: colorie les lignes identiques.
petite question complémentaire, si je veux colorer la colonne B correspondante, je peux faire ainsi?
Option Explicit Sub Comparer() ' Compare les valeurs de la feuille 1 et celles de la feuille 2 Dim dv1 As Object Dim cel As Range Dim d°L As Long ' Mémoriser les valeurs de la feuille 1 sans doublon Set dv1 = CreateObject("Scripting.Dictionary") With Worksheets(1) d°L = .Cells(.Rows.Count, "A").End(xlUp).Row For Each cel In .Range("A2:B" & d°L) dv1(cel.Value) = "" Next End With ' Colorer les différences sur la feuille 2 With Worksheets(2) d°L = .Cells(.Rows.Count, "A").End(xlUp).Row For Each cel In .Range("A2:B" & d°L) If Not dv1.Exists(cel.Value) Then cel.Interior.ColorIndex = 37 Else cel.Interior.ColorIndex = xlNone End If Next End With End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non,
Essaies comme ça :
Essaies comme ça :
Option Explicit Sub Comparer() ' Compare les valeurs de la feuille 1 et celles de la feuille 2 Dim dv1 As Object Dim cel As Range Dim d°L As Long ' Mémoriser les valeurs de la feuille 1 sans doublon Set dv1 = CreateObject("Scripting.Dictionary") With Worksheets(1) d°L = .Cells(.Rows.Count, "A").End(xlUp).Row For Each cel In .Range("A2:A" & d°L) dv1(cel.Value) = "" Next End With ' Colorer les différences sur la feuille 2 With Worksheets(2) d°L = .Cells(.Rows.Count, "A").End(xlUp).Row For Each cel In .Range("A2:A" & d°L) If Not dv1.Exists(cel.Value) Then cel.Resize(1, 2).Interior.ColorIndex = 37 Else cel.Resize(1, 2).Interior.ColorIndex = xlNone End If Next End With End Sub
Bonjour,
après utilisation je me retrouve avec une erreur dans l'application de la macro.
J'ai besoin de vérifier si les colonnes A et C sont identique au 2 feuilles et pas que la colonne A.
J'ai essayé de modifier les lignes 10, 11 et 17, 18 de la macro précédente ainsi mais cela ne marche pas.
merci de votre aide
après utilisation je me retrouve avec une erreur dans l'application de la macro.
J'ai besoin de vérifier si les colonnes A et C sont identique au 2 feuilles et pas que la colonne A.
J'ai essayé de modifier les lignes 10, 11 et 17, 18 de la macro précédente ainsi mais cela ne marche pas.
merci de votre aide
Option Explicit Sub Comparer() ' Compare les valeurs de la feuille 1 et celles de la feuille 2 Dim dv1 As Object Dim cel As Range Dim d°L As Long ' Mémoriser les valeurs de la feuille 1 sans doublon Set dv1 = CreateObject("Scripting.Dictionary") With Worksheets(1) d°L = .Cells(.Rows.Count, "A;C").End(xlUp).Row For Each cel In .Range("A2:A" & d°L) dv1(cel.Value) = "" For Each cel In .Range("C2:C" & d°L) dv1(cel.Value) = "" Next End With ' Colorer les différences sur la feuille 2 With Worksheets(2) d°L = .Cells(.Rows.Count, "A;C").End(xlUp).Row For Each cel In .Range("A2:A" & d°L) For Each cel In .Range("C2:C" & d°L) If Not dv1.Exists(cel.Value) Then cel.Resize(1, 2).Interior.ColorIndex = 37 Else cel.Resize(1, 2).Interior.ColorIndex = xlNone End If Next End With End Sub
Bonjour,
Si j'ai bien compris tu veux vérifier pour chaque ligne de la feuille 2 si le couple de valeurs en A et C existe quelque part sur la feuille 1 en A et C d'une même ligne.
Essaies comme ça :
Si j'ai bien compris tu veux vérifier pour chaque ligne de la feuille 2 si le couple de valeurs en A et C existe quelque part sur la feuille 1 en A et C d'une même ligne.
Essaies comme ça :
Option Explicit Sub Comparer() ' Compare les valeurs de la feuille 1 et celles de la feuille 2 Dim dv1 As Object Dim cel As Range Dim d°L As Long ' Mémoriser les valeurs de la feuille 1 sans doublon Set dv1 = CreateObject("Scripting.Dictionary") With Worksheets(1) d°L = .Cells(.Rows.Count, "A").End(xlUp).Row For Each cel In .Range("A2:A" & d°L) dv1(cel.Value & Chr(1) & cel.Offset(0, 2).Value) = "" Next End With ' Colorer les différences sur la feuille 2 With Worksheets(2) d°L = .Cells(.Rows.Count, "A").End(xlUp).Row For Each cel In .Range("A2:A" & d°L) If Not dv1.Exists(cel.Value & Chr(1) & cel.Offset(0, 2).Value) Then cel.Resize(1, 3).Interior.ColorIndex = 37 Else cel.Resize(1, 3).Interior.ColorIndex = xlNone End If Next End With End Sub