Comparer 2 tableaux

ABDELHAK

XLDnaute Occasionnel
Bonjour à tous,

Je suis novice en vba et je cherche de l’aide pour résoudre mon problème, merci d’avance.
Voici mon problème :
J’ai 2 tableaux sur la même feuille de calcul :
Mon premier tableau (TAB 1) comporte 30 lignes et 50 colonnes (CELLULE B5
à CELLULE AY34) soit 1500 cellules au total.
Mon deuxième tableau (TAB 2) comporte 1 ligne et 20 colonnes (CELLULE BB16
à CELLULE BU16) soit 20 cellules au total.
Dans TAB 1, il y a seulement des chiffres de 1 à 100 (soit 100 valeurs) éparpillés dans le tableau de manière aléatoire.
Dans TAB 2, il y a aussi des chiffres de 1 à 100 dans toutes les cellules (toutes les cellules sont remplies) soit 20 valeurs au total .
Le but est de réaliser une macro qui permet de comparer les 2 tableaux.
C'est-à-dire que la macro doit sélectionner une à une les cellules de TAB 2 soit de la cellule BB16 à la cellule BU16 et les comparer avec les 1500 cellules de TAB 1 soit des cellules B5 à AY34.
Par exemple sélectionner la cellule BB16 si = une des cellules de TAB 1, exécuter un couper coller vers la cellule se trouvant dans TAB 1.
Ensuite, sélectionner la cellule BC16 si = une des cellules de TAB 1, exécuter un couper coller vers la cellule se trouvant dans TAB 1.
Ensuite, sélectionner la cellule BD16 si = une des cellules de TAB 1, exécuter un couper coller vers la cellule se trouvant dans TAB 1.
Et ainsi de suite, jusque la cellule BU16.
J’ai déjà déclaré mon TAB 1 soit 1500 cellules mais hélas VBA me répond que la procédure est trop longue.
Je pensais qu’en le déclarant cela simplifierait les choses mais je dois constater que je suis loin du compte.
Pouvez-vous m’aider s’il vous plait ?
 

job75

XLDnaute Barbatruc
Re : Comparer 2 tableaux

Bonsoir ABDELHAK , bienvenue sur XLD,

Code:
Sub Comparer()
Dim c1 As Range, c2 As Range
For Each c1 In [BB16:BU16]
  Set c2 = [B5:AY34].Find(c1, , xlValues, xlWhole)
  If Not c2 Is Nothing Then c1.Cut c2
Next
End Sub
Le Couper-Coller se justifie uniquement si les cellules du 2ème tableau ont une mise en forme différente (couleur).

A+
 

ABDELHAK

XLDnaute Occasionnel
Re : Comparer 2 tableaux

Bonsoir ABDELHAK , bienvenue sur XLD,

Code:
Sub Comparer()
Dim c1 As Range, c2 As Range
For Each c1 In [BB16:BU16]
  Set c2 = [B5:AY34].Find(c1, , xlValues, xlWhole)
  If Not c2 Is Nothing Then c1.Cut c2
Next
End Sub
Le Couper-Coller se justifie uniquement si les cellules du 2ème tableau ont une mise en forme différente (couleur).

A+

BONSOIR JOB75

J'ai bien reçu ton code et miracle cela fonctionne. Je te suis infiniment reconnaissant pour ton aide désintéressée.
Je ne sais comment te remercier mais mille merci. Tu es à mes yeux un génie. Tu as réalisé en quelques clics ce que j'ai tenté de trouver durant près d' 1 an. A+ ET ENCORE 1000 MERCI
 

ABDELHAK

XLDnaute Occasionnel
Re : Comparer 2 tableaux

BONSOIR JOB75

J'ai bien reçu ton code et miracle cela fonctionne. Je te suis infiniment reconnaissant pour ton aide désintéressée.
Je ne sais comment te remercier mais mille merci. Tu es à mes yeux un génie. Tu as réalisé en quelques clics ce que j'ai tenté de trouver durant près d' 1 an. A+ ET ENCORE 1000 MERCI
 

Discussions similaires

Réponses
11
Affichages
251
Réponses
6
Affichages
130

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16