[VBA] Recuperer les lignes non communes a deux tableaux

pasko

XLDnaute Nouveau
Bonjour a tous,

je dispose de deux tableaux chacun contenant trois colonnes. La plupart des lignes de ces 2 tableaux sont identiques sauf environ une sur 10. Je souhaiterai recuperer uniquement celles qui sont dans un tableau mais pas dans l'autre. Voyez-vous une solution simple (ou compliquee) a mon probleme? je seche.

Merci d'avance
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : [VBA] Recuperer les lignes non communes a deux tableaux

Bonjour,


http://boisgontierjacques.free.fr/fichiers/fonctionsperso/Fonction_Diff.xls

Code:
Dans un module (alt+F11 Insertion/Module)
Function Diff(champ As Range, champ2 As Range)
   Dim temp()
   ReDim temp(1 To champ.Count)
   j = 1
   For i = 1 To champ.Count
      témoin = IsError(Application.Match(champ(i), champ2, 0))
      If témoin Then
         temp(j) = champ(i): j = j + 1
      End If
   Next i
   Diff = Application.Transpose(temp)
End Function

Dans le tableur:

Slectionner un champ de 10 cellules dans une ccolonne

=diff(A2:A30;C2:C30)
Valider avec Maj+Ctrl+entrée


En matriciel:

Sélectionner 10 cellules d'une olonne:
=INDEX(Liste1;PETITE.VALEUR(SI(ESTNA(EQUIV(Liste1;Liste2;0));EQUIV(Liste1;Liste1;0);"");LIGNE(INDIRECT("1:"&LIGNES(Liste1)))))
Valider avec Maj+Ctrl+entrée

JB
Formation Excel VBA JB
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 333
Membres
103 188
dernier inscrit
evebar