MFC comparaison entre 2 tableaux

Bonjour,

J'aimerais que dans l'onglet Tab 2, les éléments qui diffèrent du tableau Base soient mis en valeur. Comment procéder au plus simple?

Puis je passer uniquement par une MFC à votre avis?

Par avance merci beaucoup pour votre avis.

17tableau-exemple.xls (31.50 Ko)

Bonjour

Un essai à tester. Te convient-il ?

Option Explicit

Dim tabloB, tabloT, plage As Range
Dim i&, j&, flag&

Private Sub Worksheet_Activate()

    tabloB = Sheets("Base").Range("A3").CurrentRegion
    tabloT = Sheets("TAB 2").Range("A3").CurrentRegion
    flag = 0
    For i = 2 To UBound(tabloB, 1)
        For j = 1 To UBound(tabloB, 2)
            If flag = 0 And tabloB(i, j) <> tabloT(i, j) Then
                Set plage = Cells(i + 2, j)
                flag = 1
            ElseIf tabloB(i, j) <> tabloT(i, j) Then
                Set plage = Union(plage, Cells(i + 2, j))
            End If
        Next j
    Next i
    Range(Cells(4, 1), Cells(UBound(tabloT, 1) + 2, UBound(tabloT, 2))).Interior.Color = RGB(232, 232, 232)
    plage.Interior.Color = RGB(255, 255, 100)
End Sub

Bye !

merci beaucoup c'est exactement le résultat que je souhaite obtenir. Maintenant cependant ke dois comprendre et maîtriser cette macro pour l'adapter si besoin.

Par exemple si j'ai plus de colonne ou si j'en ai besoin sur un autre classeur.

Je comprend les variables tabloB et tabloT.

A quoi correspond i,j et flag?

Merci

Bonjour

Le nombre de colonnes importe peu puisqu’il est défini par la deuxième dimension des tabloB et TabloT

Les variables i et j permettent de faire une boucle pour examiner chaque cellule des tablo

La variable flag permet de sélectionner la première cellule qui remplit la condition. Au départ, la variable ‘’plage’’ est vide. Donc, si je définis cette plage par : plage = Union(plage, Cells(i+2,j) , j’aurai un bug

OK ?

Bye !

A bien y regarder il y a un problème. Le matricule 1 est en jaune alors que l'information nom est correct.

Dans l'idée c'est bien ce que je voulais faire.

merci

Nouvelle version.

Bye !

Un grand merci ça y est en plus j'arrive un peu à manipuler la Macro. Elle va m'être super utile à l'avenir.

Je l'ai mise aussi sur "Base" comme ça j'ai du jaune.sur les 2 tableaux. J'ai un double ctrl.

Tout dernier point et après je ne t'embête plus. J'ai besoin d'un vérif supplémentaires pour m'assurer qu'il ne manque pas un matricule ni dans l'un ni dans l'autre. Est ce possible ?

merci beaucoup

Nouvelle version.

Bye !

super!!!! une grand MERCI

Bonjour gmb,

Vraiment désolée d'abuser comme cela dans mes demandes. J'ai utilisé le tableau hier et quelques modifications seraient pratiques.

3 autres points, si cela est possible:

* Est ce possible d'avoir un surlignement en rouge par exemple dans les tableaux respectifs plutôt qu'une fenêtre qui indique que la ligne est absente d'un tableau à l'autre?

* Est ce que je peux avoir un surlignement qui indique les differences sur les 2 bases : Tab 2 comme à présent et aussi Base?

Déjà ça serait top!

Mon troisième point ne me semble pas réalisable, mais on ne sait jamais...

Est il possible d'avoir cette verif de difference si dans Tab 2 l'ordre des colonnes est modifié? (sauf le matricule, nom et prénoms qui seront toujours en 1er)

L'ordre des colonnes de "Base" sera toujours pareil et les intitulés des 2 tableaux correspondront. Mais pas forcement l'ordre des colonne de Tab 2 de D à BZ.

Un grand merci

Rechercher des sujets similaires à "mfc comparaison entre tableaux"