XL 2021 VBA pour comparer des données

  • Initiateur de la discussion Initiateur de la discussion Cristobal
  • Date de début Date de début

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 !

Cristobal

XLDnaute Nouveau
Bonjour à tous,

Dans le fichier joint, je souhaite mettre en couleur les données communes des colonnes A et C à l'aide d'une VBA.
Celle que j'ai mise ne fonctionne pas.
Pouvez-vous me dire pourquoi?

Je vous remercie par avance pour votre aide.

Bonne fin de week end à tous
 

Pièces jointes

Bonjour,

Tes "valeurs" ne sont pas de même nature en A des valeurs numériques, en C du texte (probablement un copier/coller d'un autre truc).
Pour contourner :
Dans ton code VBA :
- parcours uniquement à partir de la ligne 2
- ajoute une opération 1* pour que Excel fasse un transtypage à la volée.



VB:
Sub ColorSameValues()
    Dim ws As Worksheet
    Dim rngA As Range
    Dim rngC As Range
    Dim cellA As Range
    Dim cellC As Range
   
    ' Spécifier la feuille de calcul
    Set ws = ThisWorkbook.Sheets("Feuil1")
   
    ' Spécifier les plages de cellules à comparer
    Set rngA = ws.Range("A2:A439")
    Set rngC = ws.Range("C2:C439")
   
    ' Parcourir les cellules de la colonne A
    For Each cellA In rngA
        ' Parcourir les cellules de la colonne C
        For Each cellC In rngC
            ' Vérifier si les valeurs sont identiques
            If 1 * cellA.Value = 1 * cellC.Value Then
                ' Mettre en couleur les cellules identiques
                cellA.Interior.Color = RGB(255, 0, 0) ' Rouge
                cellC.Interior.Color = RGB(255, 0, 0) ' Rouge
            End If
        Next cellC
    Next cellA
End Sub
 
Dernière édition:
Merci beaucoup Laurent78....

ça fonctionne...super
de rien. Au passage, tu pourrais également passer par une mfc, et de préférence après avoir fait en sorte que les colonnes A & C contiennent même type de données; ce que tu peux faire via un copier/collage spécial opération, choisir multiplication (la cellule copiée contenant la valeur numérique 1 et les cellules "coller" sont C2 à Cxxx).
L'avantage : pas de vba, pas de macro à exécuter, c'est quasi instantané.
 

Pièces jointes

J'ai voulu appliquer la VBA à une autre feuille mais ça ne fonctionne pas, c'est la ligne ci-dessous qui semble poser problème:

' Vérifier si les valeurs sont identiques
If 1 * cellA.Value = 1 * cellC.Value Then

Concernant l'autre solution tu pourrais détailler car je n'ai pas compris comment tu as fais ( je ne suis pas très doué)
Merci pour tout
 
J'ai voulu appliquer la VBA à une autre feuille mais ça ne fonctionne pas, c'est la ligne ci-dessous qui semble poser problème:

' Vérifier si les valeurs sont identiques
If 1 * cellA.Value = 1 * cellC.Value Then

Concernant l'autre solution tu pourrais détailler car je n'ai pas compris comment tu as fais ( je ne suis pas très doué)
Merci pour tout
A.Je pense que les données que tu as sur ton autre feuille ne sont pas de même nature.
B. pour l'autre possibilité. Si tes données de la colonne C sont un copier/coller d'un autre truc et que du coup, elles arrivent avec un type de données un peu bancal, tu peux les transformer de la façon suivante. Dans une cellule, vide, n'importe où en dehors de ton tableau (disons G1) tu saisie la valeur numérique 1, tu valides. Ensuite, tu te remets sur G1 et tu fais copier (CTRL + C), ensuite, tu sélectionne toutes les cellules de la colonne C qui contiennent ces valeurs "bancales", ensuite, dans l'onglet Accueil, tu chosis "collage spécial" et en bas de la fenêtre dans la partie "opération" tu choisis "multiplicaton", cela va, pour chacune des valeur de tes cellules les multiplier par 1 et dans ce cas, Excel fera un transtypage à la volée. Tes cellules contiendrons des valeurs numériques, comme pour la colonne A. Charge à toi, d'utiliser le même format.
Ensuite, je t'invite à regarder les 2 règles de MFC (Mise en Forme Conditionnelle) que tu as dans mon dernier fichier.

1710084841903.png
 
J'ai bien mis toutes mes données sous le même format mais ça ne fonctionne pas (PJ), je fais des tests car j'ai souvent ce genre de comparaison à faire

Pour la 2ème solutions dans ton tableau quand je clique sur MEF conditionnelle comment je visualise ce que tu as fais?

Merci par avance
 
- 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
Réponses
7
Affichages
145
Retour