Comparaison de 2 colonnes

P

Patrick.

Guest
Bonjour,
je dois faire la comparaison de 2 colonnes situées dans des feuilles et quelquefois dans des classeurs différents.
Ces colonnes n'ont pas obligatoirement un nombre de cellules actives identiques.
Le contenu des cellules est du genre : R00012345
Une des 2 colonnes est considérée comme colonne de référence et l'autre colonne doit être comparée à cette référence avec indication des écarts (Exemples : Couleur bleue si élément en moins dans colonne à comparer et rouge si élément en plus ou tableau sortant les éléments différents ou ...)

Ce travail est répétitif et j'aimerais construire une macro traitant ce problème.
Je remercie toute personne pouvant m'apporter une solution
Patrick
 
C

Celeda

Guest
Bonjour le Forum,


Voici maintenant omicron qui nous avait laissé une macro qui ressemble fortement à ce que tu souhaites,Lien supprimé.

A essayer on ne sait jamais si cela faisait ton bonheur, à adapter selon tes couleurs.

Celeda
 
P

Patrick.

Guest
Bonsoir Celeda et ... Omicron
ceci correspond à ce que je désire mais lorsque je l'intègre dans mes macros, il ne se passe rien.
Le fichier de démo. tourne bien, quand je copie mes infos dans les colonnes A et B de fichier de démo, c'est OK mais lorsque j'essaie de l'adapter à mes programmes, c'est le crash.
Sans doute il y a quelque chose à déclarer ou ?
Merci de me répondre.
Bonne soirée et bonnes fêtes
Patrick
 
P

Patrick.

Guest
Bonjour Celeda, pour simplifier, j'ai cessé de faire des essais avec mes programmes.

Maintenant, dans le classeur "ComparerColonnes", je crée une feuille 2 que je nomme par exemple "Test". Dans cette feuille, je remplis la colonne à partir de A2 de la suite 1,2,3 jusqu'à 49, pour la colonne B, je procède identiquement mais en prenant comme suite 2,4,6... (créant ainsi quelques lignes identiques)

Je modifie la macro comme suit : Sheets("Test").Select pour faire la comparaison sur la feuille "Test"
Je lance la macro et toutes les données dans les colonnes A et B restent intactes (sans couleur)
.
Je te remercie de me donner ton avis.
Patrick
 
C

Celeda

Guest
Bon après-midi le Forum


Patrick, je ne suis pas assez douée pour te dépanner ainsi, j'ai besoin de "toucher" (attendez la suite les gars.....) du fichier pour comprendre ce qu'il ne fonctionne pas.
Désolée si je me répète et si j'insite, mais un extrait de fichier aide énormément à voir comment tu as placé les codes (que cela soit moi ou un autre d'ailleurs qui voudrait t'aider).

Celeda
 
P

Patrick.

Guest
Re-bonjour, je te transmets mon fichier d'essai.
Je n'ai fait qu'ajouter 2 colonnes en feuille deux (que j'ai nommé "Test") et une ligne de code pour sélectionner cette feuille.
En espérant que tu puisses résoudre mon problème car c'est la macro que je cherchais.
Merci
Patrick
 

Pièces jointes

  • ComparerColonnesEssai.zip
    32.6 KB · Affichages: 113
M

Mytå

Guest
Salut Patrick et le forum

Tu as simplement oublié de définir la couleur de tes cellules A1 et B1, c'est la référence de la couleur.

Sinon tu peux modifier les lignes de code

CelA.Interior.ColorIndex = RngColA.Cells(1).Offset(-1, 0).Interior.ColorIndex
par
CelA.Interior.ColorIndex = 17

CelB.Interior.ColorIndex = RngColB.Cells(1).Offset(-1, 0).Interior.ColorIndex
par
CelB.Interior.ColorIndex = 21

Mytå
 
P

Patrick.

Guest
Bonjour Myta, ça ne marche toujours pas.
On dirait que malgré la sélection de la feuille 2 (feuille Test), je tourne toujours sur la feuille 1 ou se trouve le bouton de commande.
Quand je regarde les valeurs de CelA et CelB, ce sont les valeurs de la feuille 1 qui s'affiche.
Peut-être que quelqu'un a une solution ? Car la comparaison dans mon programme définitif doit se faire dans un autre classeur que celui du bouton de commande. Alors, si je n'arrive déjà pas à faire la comparaison dans le même classeur ...
BONNE ET HEUREUSE ANNEE 2005 A TOUS
Patrick
 
M

Mytå

Guest
Re Patrick

Essaye ceci

Sub CommandButton1_Click()

Set RngColA = Sheets("Test").Range("A2:A50") 'Zone à explorer (Réglable)
Set RngColB = Sheets("Test").Range("B2:B50") 'Zone à explorer (Réglable)

For Each Cel In Union(RngColA, RngColB)
Cel.Interior.ColorIndex = xlNone
Next Cel

For Each CelA In RngColA
CelA.Interior.ColorIndex = 17 'RngColA.Cells(1).Offset(-1, 0).Interior.ColorIndex
For Each CelB In RngColB
If CelA = CelB Then
CelA.Interior.ColorIndex = xlNone
End If
Next CelB
Next CelA

For Each CelB In RngColB
CelB.Interior.ColorIndex = 21 'RngColB.Cells(1).Offset(-1, 0).Interior.ColorIndex
For Each CelA In RngColA
If CelB = CelA Then
CelB.Interior.ColorIndex = xlNone
End If
Next CelA
Next CelB

End Sub

Mytå
 
P

Patrick.

Guest
Bonjour Mytâ, Celeda et tous les autres et bonne année 2005.

Mytâ, j'ai fait l'essai comme tu me l'avais conseillé et cela fonctionne.
Je vous remercie tous les deux du temps que vous avez consacré à me dépanner.

A la prochaîne sur le Forum
Patrick
 
C

Celeda

Guest
Bonjour le Forum,


ah ah aha mon ami Mytå

je te reconnais bien là !!!!!

merci Mytå pour ton aide car moi je n'ai pas eu le temps de regarder le problème de Patrick,
occupée un peu la fille en cette fin d'année.



Et je suis très heureuse de te retrouver,j'espère que ta santé est bonne,que tu n'as pas trop froid là-bas. Car j'ai entendu des températures à pas mettre un Mytå dehors!!!
Alors couvre toi bien et bonne et heureuse année de santé , et de tout ce que tu désires.


Tant mieux Patrick si cela fontionne bien et sorry pour ce délai.
 

Discussions similaires

Statistiques des forums

Discussions
312 391
Messages
2 087 985
Membres
103 690
dernier inscrit
LeDuc