Comparer deux tableaux semblent si smple ..
Résolu
stentor-JR
Messages postés
2
Statut
Membre
-
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un problème à comparer deux tableaux à 2 dimensions avec un même nombre de colonnes.
ils comptent tout les 9 colonnes, et je n'ai réellement que 5 colonnes à comparer soit 32 combinaisons possible et c'est la que mon niveau sous vba me fait défaut ..
J'ai bien récupérer les données dans deux tableaux, je réussi a boucler dessus pour comparer ligne par ligne avec de belles boucles for mais c'est à ce moment précis que je bloque.
le programme doit ajouter ou modifier les lignes du tableau 2 en fonction des éléments du tableau 1.
For j = 1 To UBound(Tableau1)
For I = 1 To UBound(Tableau2)
For T = 1 To UBound(Tableau, 2)
Ajouter une nouvelle ligne dans Tableau2
Modifiée une ligne existante.
Ne pas récrire la ligne existante
attendre la fin de la boucle pour analyser et faire le bon choix :)
Next T
Next I
Next j
mes tentatives ont été vaine ...
j'ai un problème à comparer deux tableaux à 2 dimensions avec un même nombre de colonnes.
ils comptent tout les 9 colonnes, et je n'ai réellement que 5 colonnes à comparer soit 32 combinaisons possible et c'est la que mon niveau sous vba me fait défaut ..
J'ai bien récupérer les données dans deux tableaux, je réussi a boucler dessus pour comparer ligne par ligne avec de belles boucles for mais c'est à ce moment précis que je bloque.
le programme doit ajouter ou modifier les lignes du tableau 2 en fonction des éléments du tableau 1.
For j = 1 To UBound(Tableau1)
For I = 1 To UBound(Tableau2)
For T = 1 To UBound(Tableau, 2)
Ajouter une nouvelle ligne dans Tableau2
Modifiée une ligne existante.
Ne pas récrire la ligne existante
attendre la fin de la boucle pour analyser et faire le bon choix :)
Next T
Next I
Next j
mes tentatives ont été vaine ...
1 réponse
-
Bonjour,
Un exemple :
Sub Test() Dim Tableau1 As Variant Dim Tableau2 As Variant Dim L As Integer Dim C As Integer Tableau1 = [A1:I20].Value Tableau2 = [A31:I50].Value For L = LBound(Tableau1, 1) To UBound(Tableau1, 1) For C = LBound(Tableau1, 2) To UBound(Tableau1, 2) Select Case C '5 colonnes à tester Case 1, 2, 6, 7, 9 If Tableau1(L, C) <> Tableau2(L, C) Then MsgBox "Différence ligne " & L & " Colonne " & C End If End Select Next C Next L End Sub