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   -
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

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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