Comparer 2 colonnes dans 2 tableaux differends
chef-riri
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
merlin66 -
merlin66 -
Bonjour,
selon une certaines fréquences, je dois étudier voir les nouveaux arrivants sur une base de donnée. j'aurais donc 2 tableaux dans 2 feuilles différentes.
Dans un tableaux j'aurais une liste de personnes inscrites et dans le 2ème tableau (liste principale), j'aurais une extraction de toutes les personnes inscrites mais à l'instant (les anciens adhérents et les nouveaux).
ce que je voulais faire c'est créer une macro comparant les deux tableaux et quand un nom de la 2ème liste n'apparaît pas dans ma liste principale, ce nom est copié/coller et vient apparaître en rouge pour dire que cette personne est nouvelle (ça me permettra de faire des petites stats!!).
je commence avec les macro donc j'avance peu à peu. j'apprend tout seul et j'ai déjà fait ça comme codage :
Sub compare()
Dim VALEURA As String, VALEURB As String
For i = 1 To 20
VALEURA = Worksheets("F2").Range("C" & i).Value
For j = 1 To 20
VALEURB = Worksheets("F1").Range("C" & j).Value
If VALEURA = VALEURB Then
MsgBox ("le chantier est présente dans les deux listes => ligne " & j)
End If
Next j
Next i
End Sub
Comme je vous l'ai dit j'avance pas à pas donc déjé je vérifie si ma macro compare bien. le problème c'est que ça compare pas par "séquence"!! dans la matrice comparé, ça commence par me compare les 5 première ligne, ça revient au début, recompare 5 lignes... et cela 5 fois de suite puis me compare les 20 lignes....
je suis perdu quelqu'un peu m'aider svp????
selon une certaines fréquences, je dois étudier voir les nouveaux arrivants sur une base de donnée. j'aurais donc 2 tableaux dans 2 feuilles différentes.
Dans un tableaux j'aurais une liste de personnes inscrites et dans le 2ème tableau (liste principale), j'aurais une extraction de toutes les personnes inscrites mais à l'instant (les anciens adhérents et les nouveaux).
ce que je voulais faire c'est créer une macro comparant les deux tableaux et quand un nom de la 2ème liste n'apparaît pas dans ma liste principale, ce nom est copié/coller et vient apparaître en rouge pour dire que cette personne est nouvelle (ça me permettra de faire des petites stats!!).
je commence avec les macro donc j'avance peu à peu. j'apprend tout seul et j'ai déjà fait ça comme codage :
Sub compare()
Dim VALEURA As String, VALEURB As String
For i = 1 To 20
VALEURA = Worksheets("F2").Range("C" & i).Value
For j = 1 To 20
VALEURB = Worksheets("F1").Range("C" & j).Value
If VALEURA = VALEURB Then
MsgBox ("le chantier est présente dans les deux listes => ligne " & j)
End If
Next j
Next i
End Sub
Comme je vous l'ai dit j'avance pas à pas donc déjé je vérifie si ma macro compare bien. le problème c'est que ça compare pas par "séquence"!! dans la matrice comparé, ça commence par me compare les 5 première ligne, ça revient au début, recompare 5 lignes... et cela 5 fois de suite puis me compare les 20 lignes....
je suis perdu quelqu'un peu m'aider svp????
A voir également:
- Comparer 2 colonnes dans 2 tableaux differends
- Supercopier 2 - Télécharger - Gestion de fichiers
- Faire 2 colonnes sur word - Guide
- 2 ecran pc - Guide
- Fusionner 2 tableaux excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
2 réponses
Salut,
Sur quelle version d'Excel ?
Avec excel2010
Si tes tableaux étaient sur la même feuille il suffirait de faire une mise en forme conditionnelle sur les valeurs en double. Très facile et très efficace.
La mise en forme conditionnelle ne fonctionne pas sur plusieurs feuilles.
Tu peux pas faire un copier coller de ta liste sur la même feuille ? Vu le nombre de lignes disponibles ça doit être faisable.
A+
Sur quelle version d'Excel ?
Avec excel2010
Si tes tableaux étaient sur la même feuille il suffirait de faire une mise en forme conditionnelle sur les valeurs en double. Très facile et très efficace.
La mise en forme conditionnelle ne fonctionne pas sur plusieurs feuilles.
Tu peux pas faire un copier coller de ta liste sur la même feuille ? Vu le nombre de lignes disponibles ça doit être faisable.
A+
Une feuille F2 de travail.
Sur F2 : 1 colonne A de saisie des noms et 1 colonne B de recherche si ce nom est déjà dans F1. Dans cellule B1 tu mets la formule =SI(A1>0;RECHERCHEV(A1;Feuil1!A$1:A$56000;1;0);""))
et tu tires cette formule sur toute la hauteur de la colonne ou la hauteur de ton tableau de saisie.
Si le nom existe déjà en F1 il apparait sur F2 en colonne B.
Si tu as besoin d'un exemple, donnes une adresse mail.
A+