Rechercher : dans
Par :

Comparer cellules de 2 feuilles excel VBA

Dernière réponse le 8 déc 2008 à 09:53:26 kat77, le 18 fév 2007 à 16:59:20 
 Signaler ce message aux modérateurs

Bonjour à tous, je suis débutante en VBA.
Je me casse la tête depuis plusieurs heures sur un problème certainement simplissime...
Voilà j'ai deux tableaux dans deux feuilles excel d'un même classeur. J'aimerais pouvoir coloriser en jaune toutes les cellules de ma feuille 2 qui ne sont pas strictement identiques aux cellules de ma feuille 1.
Les données des deux tableaux sont aussi bien des chaînes de caractères que des données numériques.
Connaissez-vous un programme simple VBA qui me permettrait d'aboutir à ce résultat?
Merci beaucoup d'avance

Configuration: Windows XP
Internet Explorer 6.0

1

pecheur63, le 18 fév 2007 à 17:05:18

Bonjour,
Clic en haut de ta feuille dans la p1ère cellule et garde appuyer sur la souris à gauche tou en sélectionnant toute ta zone à colorer, normalement ça marche.

Répondre à pecheur63

2

pecheur63, le 18 fév 2007 à 17:13:23

Je ne t'ai pas tout indiquer
Il faut, une fois tout sélectionner, aller dans format puis cellule puis motif, tu choisis ta couleur et enfin OK

Répondre à pecheur63

3

kat77, le 18 fév 2007 à 19:26:08

Euh..j'ai dû mal m'exprimer..je sais comment mettre une cellule en couleur...quand même! lol
Ce que je veux, c'est pouvoir écrire un programme VBA qui compare automatiquement deux feuilles excel et fait ressortir par de la couleur ou en gras, toutes les cellules de la 2ème feuille qui ne sont pas identiques aux cellules de la feuille 1...

Je vous remercie beaucoup d'avance de m'aider parce que je patauge toujours...

Merci quand même Pécheur

Répondre à kat77

4

kat77, le 18 fév 2007 à 20:16:45

Voici le programme que j'ai essayé de lancer mais les résultats sont incohérents :

Sub Modif()

Dim Cellule1 As Object, Cellule2 As Object
Worksheets("feuil1").Activate
Selection.CurrentRegion.Select
For Each Cellule1 In Selection
Worksheets("feuil2").Activate
Selection.CurrentRegion.Select
For Each Cellule2 In Selection
If Cellule1 <> Cellule2 Then
Cellule2.Interior.ColorIndex = 6
Else
Cellule2.Interior.ColorIndex = 3
Exit For
End If
Next Cellule2
Worksheets("feuil1").Activate
Next Cellule1
End Sub

Répondre à kat77

5

 phadeb, le 8 déc 2008 à 09:53:26
  • +2

Bonjour,

Sub Macro1()
Dim i As Integer
i = 2
While i < 20
If Worksheets("Feuil1").Range("A" + CStr(i)).Value <> Worksheets("Feuil2").Range("A" + CStr(i)).Value Then
Worksheets("Feuil2").Activate
Worksheets("Feuil2").Range("A" + CStr(i)).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
i = i + 1
Wend

End Sub

Evidemment à remplacer par vos données les feuilles, les cellules, la ligne de commencement, la couleur etc...

Répondre à phadeb