Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Comparer colonne - problème avec <>

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Romain31

XLDnaute Occasionnel
Bonjour à tous,

Je cherche à comparer les données de la colonne A de la feuille 1 et celles de la colonne A de la feuille 2, quelque soient leur place dans la colonne.
On ne tient donc pas compte de leur position, on ne les compare pas par paire.
La macro données_identiques fonctionne bien et colorie sur la feuille 1es valeurs qui se retrouvent sur la feuille 2 (certaines sont placées au même endroit sur les deux feuilles, d'autres non).

Je souhaite faire l'inverse, et colorier en feuille 1 les données différentes.
Je pensais qu'en conservant ce code et en employant <> au lieu du signe =, cela fonctionnerait.

If Sheets("Feuil1").Range("a2").Offset(i, 0) <> Sheets("Feuil2").Range("a2").Offset(c, 0) Then

Sheets("Feuil1").Range("a2").Offset(i, 0).Interior.ColorIndex = 7

Surprise, toutes les valeurs sont coloriées.
Où est l'erreur, avez-vous une solution ?

Je joins le fichier.

Merci pour votre aide, et bonne journée.
 

Pièces jointes

Re : Comparer colonne - problème avec <>

Bonjour Romain31,

Juste parce que j'ai un doute ... on est d'accord qu'une mise en forme conditionnelle qui utiliserait la fonction NB.SI te permettrait d'obtenir le même résultat?

Edit: Salut Marc 🙂
 
Dernière édition:
Re : Comparer colonne - problème avec <>

Bonjour Romain, Bonjour Modeste 🙂

comme tu ne tiens pas compte de leur position, tu compare chaque donnée des 2 feuilles 2 à 2
il y a forcément un moment où tu vas tomber sur une valeur différente sur l'autre feuille, et donc tu colories tout
il ne faut colorier que si toutes les comparaisons sont différentes

peut-être enlever la couleur sera plus simple

Code:
    For i = 0 To Sheets("Feuil1").Range("a65000").End(xlUp).Row - 2
           
        For c = 0 To Sheets("Feuil2").Range("a65000").End(xlUp).Row - 2
        
            Sheets("Feuil1").Range("a2").Offset(i, 0).Interior.ColorIndex = 7
            
            If Sheets("Feuil1").Range("a2").Offset(i, 0) = Sheets("Feuil2").Range("a2").Offset(c, 0) Then
            
                Sheets("Feuil1").Range("a2").Offset(i, 0).Interior.ColorIndex = xlNone
                Exit For
                
            End If
            
        Next
    Next

Mais la remarque de Modeste est parfaitement justifiée 😉
 
Re : Comparer colonne - problème avec <>

Merci tototiti2008 pour ce code qui marche impec.
Effectivement, comme le dit modeste, j'aurais pu le faire avec une formule et une MFC.
J'avais mis i = variant comme type de variable mais je pense qu'il y a mieux.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
508
Réponses
12
Affichages
502
Réponses
3
Affichages
671
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
654
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…