'à utiliser pour l'AD, dans un fichier HTM :
'différences groupes d'un utilisateur à l'autres
'différences des memebres de deux groupes
'à utiliser dans Excel dans une procédure VBA
t= Array(_
"m", "abc", "12", _
"a", "abc", "12", _
"f", "abc", "12")
u= Array( _
"f", "abc", "12", _
"a", "abc", "12", _
"m", "abc", "1")
Differences_Between_Two_Tables t, u, 3
Sub Differences_Between_Two_Tables(t, u, widthTab)
REM ==================================
REM list the differences, common lines
REM between two tables
REM t et u ont la même largeur widthTab (=nb de colonnes)
REM ==================================
'brute force :
'browse each line of each tables
Dim i, j, b_t_Present_in_u
Dim k
Dim bCommonLines
ReDim tt(UBound(t)/widthTab) 'Dim only makes an error
ReDim uu(UBound(u)/widthTab) 'ReDim necessary
For i=0 To UBound(t) Step widthTab
b_t_Present_in_u = FALSE
For j=0 To UBound(u) Step widthTab
bCommonLines=TRUE
For k=1 To widthTab
'prendre les widthTab de chaque enregistrement
'attention sensible à la casse !
If t(i+k-1) <> u(j+k-1) Then bCommonLines=FALSE
Next
If bCommonLines Then
b_t_Present_in_u =TRUE
Exit For
End If
Next
If b_t_Present_in_u Then
'marquer élément i de t
' et élément j de u comme éléments communs
Wscript.Echo "Ligne " & i/widthTab & " de t commune à ligne " & j/widthTab & " de u."
tt(i/widthTab) = "1" 'common lines
uu(j/widthTab) = "1" 'common lines
Else
'marquer élément i de t unique
Wscript.Echo "Ligne " & i/widthTab & " de t unique."
tt(i/widthTab) = "1" 'unique line (useless, default value)
End If
Next
'here all tt()=0 and uu()=0 means unique lines in t an u
End Sub