Bonjour à tous,
Depuis quelques mois je planche sur un problème dont je n'ai qu'une solution partielle actuellement.
Je cherche à comparer 2 tableaux que je crée à partir de l'extration d'un logiciel (Actuellement environ 250 à 300 lignes, et bientôt entre 500 et 600 lignes à comparer)
Voici les données extraites (en ligne)
Mon souci est que je crée un prévisionnel à partir d'une extraction et la semaine suivante je dois refaire une extraction et voir toutes les différences pour apporter les correction en fonction, s'il y a un changement dans les personnes lieu date ou heure (voir tout à la fois)
J'ai obtenu une solution partielle grâce à au code ci dessous, qui me permet d'afficher les différences entre les tableaux, ligne par ligne:
Les problèmes commencent dès que l'on a une à plusieurs lignes qui s'intercallent dans le tableau ou se soustraient dans le tableau par rapport à la feuilles de référence (ou vice versa), car dans ces cas là, il m'affiche l'intégralité des données qui suivent ce changement, alors que je n'aurais besoin de savoir que seul cette ou ces lignes sont disparues ou sont apparues en plus des autre modification qui se trouvent actuellement noyé au milieu du reste.
J'ai surligné dans les fichiers en pièce jointe les modifications en jaune pour faciliter la lecture et compréhension du fichier.
Si quelqu'un aurait une idée pour m'aider, ce serait génial.
Merci d'avance
Depuis quelques mois je planche sur un problème dont je n'ai qu'une solution partielle actuellement.
Je cherche à comparer 2 tableaux que je crée à partir de l'extration d'un logiciel (Actuellement environ 250 à 300 lignes, et bientôt entre 500 et 600 lignes à comparer)
Voici les données extraites (en ligne)
- Nom
- Prénom
- Lieu
- Date et heure d'arrivée
- Date et heure de départ
Mon souci est que je crée un prévisionnel à partir d'une extraction et la semaine suivante je dois refaire une extraction et voir toutes les différences pour apporter les correction en fonction, s'il y a un changement dans les personnes lieu date ou heure (voir tout à la fois)
J'ai obtenu une solution partielle grâce à au code ci dessous, qui me permet d'afficher les différences entre les tableaux, ligne par ligne:
Code:
Private Sub ComparaisonTableau_Click()
Dim RG1 As Range, RG2 As Range
Dim Tblo1, Tblo2, Rg3 As Range
Dim A As Long, B As Integer, C As Long, D As Integer
Set RG1 = Sheets("Prevision").Range("B4:F999") 'Tabeau 1
Set RG2 = Sheets("Reel").Range("B2:F997") 'Tableau 2
Set Rg3 = Sheets("Différence").Range("B4") 'Tableau des résultats
Sheets("Différence").Range("B4:E1000").ClearContents
If RG1.Rows.Count <> RG2.Rows.Count Then
MsgBox "Le tableau n'a pas le même nombre de lignes"
Exit Sub
End If
If RG1.Columns.Count <> RG2.Columns.Count Then
MsgBox "Le tableau n'a pas le même nombre de colonnes"
Exit Sub
End If
Tblo1 = RG1: Tblo2 = RG2: D = 1
Application.ScreenUpdating = False
For A = 1 To UBound(Tblo1, 1)
For B = 1 To UBound(Tblo1, 2)
If Tblo1(A, B) <> Tblo2(A, B) Then
C = C + 1
Rg3(C, D) = RG1(A, B).Address(0, 0)
Rg3(C, D).Offset(, 1) = Tblo1(A, B)
Rg3(C, D).Offset(, 2) = RG2(A, B).Address(0, 0)
Rg3(C, D).Offset(, 3) = Tblo2(A, B)
End If
Next
Next
Set RG1 = Nothing: Set RG2 = Nothing: Set Rg3 = Nothing
Erase Tblo1: Erase Tblo2
End Sub
Les problèmes commencent dès que l'on a une à plusieurs lignes qui s'intercallent dans le tableau ou se soustraient dans le tableau par rapport à la feuilles de référence (ou vice versa), car dans ces cas là, il m'affiche l'intégralité des données qui suivent ce changement, alors que je n'aurais besoin de savoir que seul cette ou ces lignes sont disparues ou sont apparues en plus des autre modification qui se trouvent actuellement noyé au milieu du reste.
J'ai surligné dans les fichiers en pièce jointe les modifications en jaune pour faciliter la lecture et compréhension du fichier.
Si quelqu'un aurait une idée pour m'aider, ce serait génial.
Merci d'avance
Pièces jointes
Dernière édition: