Comparer deux tableaux semblent si smple ..

Résolu/Fermé
stentor-JR
Messages postés
2
Date d'inscription
jeudi 22 septembre 2016
Statut
Membre
Dernière intervention
1 novembre 2016
- 22 sept. 2016 à 15:29
Patrice33740
Messages postés
8549
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 mai 2022
- 22 sept. 2016 à 16:44
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 ...

1 réponse

Patrice33740
Messages postés
8549
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 mai 2022
1 751
22 sept. 2016 à 16:44
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
0