Comparer deux tableaux en VBA [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
mercredi 3 décembre 2014
Statut
Membre
Dernière intervention
4 décembre 2014
-
Messages postés
2
Date d'inscription
mercredi 3 décembre 2014
Statut
Membre
Dernière intervention
4 décembre 2014
-
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 !!



2 réponses

Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
109
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
2
Date d'inscription
mercredi 3 décembre 2014
Statut
Membre
Dernière intervention
4 décembre 2014

C'est parfait merci beaucoup !