Comparaison de deux Excel et copie couleur

Bonjour,

J'espère que vous pourrez m'aider.

Ma chef aurait besoin que je compare un Fichier2 par rapport à un Fichier1 qui comporte des lignes avec des couleurs. Si une ligne de fichier2 est déjà présente dans Fichier 1, il faudrait remettre les couleurs présentes dans Fichier1 sur Fichier2. Je ne sais pas si c'est très clair. Vous trouverez en pièce jointe un exemple de ce que je voudrais faire. Les noms des colonnes ne devraient pas changer. Je voudrais si possible que la macro se lance via un bouton que j'ai mis sur "Comparaison_Fichier2". Pas besoin de comparer toutes les valeurs d'une ligne, la valeur de "NOM" suffit.

Merci d'avance pour votre aide précieuse.

Bonjour,

Un essai

3comp-f2-v1.xlsm (23.53 Ko)

Bonjour,

Merci pour la contribution. En partie cela fonctionne mais les couleurs récupérées ne sont pas comme sur le Fichier_Comparaison1.

Je ne sais pas à quoi cela est dût

Re-,

J'utilisais "colorindex"

essaie avec "color"

5comp-f2-v2.xlsm (23.50 Ko)

Re,

Cela fonctionne désormais parfaitement.

Merci beaucoup, cela correspond à ce que je voulais.

Bonjour,

Je reviens vers vous car je rencontre un problème quand j'adapte le code sur mon Excel. De ce que je comprends dans le code, quand il se lance, il demande d'aller chercher le fichier que l'on veut comparer. Une fois le fichier sélectionné, il commence à "scanner" de la cellule A2 jusqu'à la fin les valeurs contenues. Si elles sont aussi dans mon fichier, elle récupère la couleur sur 5 colonnes pour les mettre dans mon fichier. Hors quand je lance le code sur mon véritable Excel, je vais bien chercher le fichier à comparer qui possède les couleurs, le scan se lance, le fichier se ferme mais rien ne se produit même si je place volontairement des valeurs contenues dans les deux Excel. Je sais pas si je suis très clair. Mon tableau possède environs 1500 lignes et c'est toujours la valeur contenue dans la colonne A qui est à comparer avec l'autre fichier. Je précise que j'ai bien changé le nom des onglets en conséquence.

En espérant avoir été clair, merci d'avance pour votre aide.

Bonjour,

Pas tout à fait...

En fait, dans le fichier que le programme ouvre suite à ton action, un Dictionnaire (objet VBA) enregistre toutes les données de la colonne A en tant que clé, et la couleur de cette donnée en tant qu'item.

Puis, dans le fichier origine (qui contient donc la macro), on balaie le dictionnaire, et on cherche si on a des correspondances (Set C = .Columns(1).Find(Ke))

Si on en trouve, on assigne alors la couleur associée.

Si une des structures est différente, ou que la couleur est issue d'une mise en forme conditionnelle, ça ne fonctionnera pas...

@ voir avec un résumé de tes deux fichiers, anonymisé

D'accord, c'est désormais plus clair pour moi, merci. Cela m'a permis d'en déduire que le code lui est fonctionnel. En fait mon erreur vient du fait que je ne lance pas la macro depuis un bouton sur la feuille mais depuis une macro que j'ai collé dans un module de mon classeur personnel. Je lance la macro depuis un raccourci dans ma barre d'outils. Cela me permet d'utiliser mes différentes macros sur n'importe quel classeurs et cette fois cela ne fonctionnait pas. J'ai réessayé la méthode avec le bouton et ton code fonctionne bien comme il faut.

Rechercher des sujets similaires à "comparaison deux copie couleur"