Comparer deux tableaux en VBA

Résolu/Fermé
Cagnas Messages postés 2 Date d'inscription mercredi 3 décembre 2014 Statut Membre Dernière intervention 4 décembre 2014 - 3 déc. 2014 à 00:13
Cagnas Messages postés 2 Date d'inscription mercredi 3 décembre 2014 Statut Membre Dernière intervention 4 décembre 2014 - 4 déc. 2014 à 02:26
Bonjour,

J'ai besoin d'un coup de main pour un projet pro, sans doute pourrez vous m'aider.

J'ai deux tableaux sur des feuilles differentes (qui contiennent par ailleurs d"autres donnees)
Un des deux tableaux (celui de la Feuil1) peut contenir certaines lignes qui ne sont pas dans le tableau de la Feuil2.
Ce que je veux c'est que les lignes du tableau de la Feuil1 qui ne sont pas dans celui de la Feuil2 soient copiees automatiquement en bas du tableau de la Feuil2...
Les tableaux sont en colonne B:D en Feuil1 et A:C en Feuil2.

Si vous avez une fontionne VBA qui me permetterai de faire ca, je vous en serai eternellement reconnaissant !!



A voir également:

2 réponses

redaiwa Messages postés 351 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 25 janvier 2024 119
Modifié par jordane45 le 4/12/2014 à 03:42
Salam Cagnas.

Essaye cette macro, elle devrait faire l'affaire :
Private Sub BoutonImporter_Click()
Dim LigneF1, LigneF2, FinLigneF1, FinLigneF2 As Integer
Dim Trouve As Boolean
LigneF1 = 2
While Sheets("Feuil1").Cells(LigneF1, 2) <> ""
  LigneF2 = 2
  FinLigne = Sheets("Feuil2").Range("A1").End(xlDown).Row
  Trouve = False
  While LigneF2 <= FinLigne And Trouve = False
    If Sheets("Feuil1").Cells(LigneF1, 3) = Sheets("Feuil2").Cells(LigneF2, 2) Then
      Trouve = True
      LigneF2 = FinLigne + 1
    Else
      LigneF2 = LigneF2 + 1
    End If
  Wend
  If Not Trouve Then
    Sheets("Feuil2").Cells(LigneF2, 1) = Sheets("Feuil1").Cells(LigneF1, 2)
    Sheets("Feuil2").Cells(LigneF2, 2) = Sheets("Feuil1").Cells(LigneF1, 3)
    Sheets("Feuil2").Cells(LigneF2, 3) = Sheets("Feuil1").Cells(LigneF1, 4)
  End If
  LigneF1 = LigneF1 + 1
Wend
End Sub


Bonne journée :-)
"Repousse le mal par le bien; et voilà que celui avec qui tu avais une animosité devient tel un ami chaleureux" (Coran)
"Celui qui ne sait pas partager est infirme de ses émotions". (Marc Levy)
1
Cagnas Messages postés 2 Date d'inscription mercredi 3 décembre 2014 Statut Membre Dernière intervention 4 décembre 2014
4 déc. 2014 à 02:26
C'est parfait merci beaucoup !
0