Valeurs identiques

Résolu
Bonjour,

Je recherche un macro qui me permettrait de vérifier si une valeur se retrouve ailleurs dans la même ligne.

Exemple :
A1 = 1
B1 = 2
C1 = 3
D1 = 1

Je voudrais que le macro m'indique soit avec une couleur ou avec un msgbox que A1 et D1 ont la même valeur.

Les données sont toujours sur la même ligne, mais le nombre de colonne peut varier c'est donc pour cette raison que j'ai débuté avec l'idée de faire un Loop avec : Do Until ActiveCell.Value = ""

Je suis débutant je suis donc ouvert à divers options !

Merci

6 réponses

  1. Contributeur
    Proposition avec repèrage couleurs
    avec hypothèses marquées dans mon message de ce matin( plusieurs valeurs identiques et possibilité nombre de m^me valeur>2

    https://www.cjoint.com/?3FumFNUrSCQ

    en espèrant que....
    Michel
    1. Contributeur
      Bonjour,

      Excusez l'incrustre

      peux tu avoir par ex

      A1=4; D1=4; C1=7; H1=7 ?

      et aussi
      B1=8; E1=8;F1=8 etc.

      Michel
      1. Effectivement ça fonctionne pas.. celui la devrait fonctionner (j'espère)
        Sub test()
        num = ActiveCell.Row
        For a = 65 To 90 'de la colonne A à Y
        For b = 65 To 90 'de la colonne B à Z
        If a <= b Then GoTo a: 'sinon ca test la meme cellule
        If Range(Chr(a) & num).Value = "" And Range(Chr(b) & num).Value = "" Then GoTo a: 'ingnore les cellules vides
        If Range(Chr(a) & num).Value = Range(Chr(b) & num).Value Then MsgBox ("Cellule " & Chr(a) & num & " identique à la cellule " & Chr(b) & num)
        a:
        Next
        Next
        End Sub
    2. Et voilà !

      Sub test()
      num = ActiveCell.Row
      For a = 65 To 89 'de la colonne A à Y
      For b = 66 To 90 'de la colonne B à Z
      If a <= b Then GoTo a: 'sinon ca test la meme cellule
      If Range(Chr(a) & num).Value = "" And Range(Chr(b) & num).Value = "" Then GoTo a: 'ingnore les cellules vides
      If Range(Chr(a) & num).Value = Range(Chr(b) & num).Value Then MsgBox ("Cellule " & Chr(a) & num & " identique à la cellule " & Chr(b) & num)
      a:
      Next
      Next
      End Sub
      --
      Le geek ne descend pas du métro, il libère la rame.
      1. Comment faire si je ne veux pas que ce soit toujours la ligne 1 qui soit sélectionner mais la Active.Row en fonction de ou est ma cellule selectionné ?

        Exemple je sélectionne A15 et je veux la meme analyse mais pour la ligne 15 ?

        MERCI !
        1. Bonjour,

          Sub test()
          num = 1 'numéro de ligne
          For a = 65 To 89 'de la colonne A à Y
          For b = 66 To 90 'de la colonne B à Z
          If a = b Then GoTo a: 'sinon ca test la meme cellule
          If Range(Chr(a) & num).Value = "" And Range(Chr(b) & num).Value = "" Then GoTo a: 'ingnore les cellules vides
          If Range(Chr(a) & num).Value = Range(Chr(b) & num).Value Then MsgBox ("Cellule " & Chr(a) & num & " identique à la cellule " & Chr(b) & num)
          a:
          Next
          Next
          End Sub

          Une solution pour tester toute les cellules de la colonne A à Z.

          C'est rustique : ) à adapter peu être
          Le geek ne descend pas du métro, il libère la rame.
          1. MERCI !!

            Comment faire si je ne veux pas que ce soit toujours la ligne 1 qui soit sélectionner mais la Active.Row en fonction de ou est ma cellule selectionné ?

            Exemple je sélectionne A15 et je veux la meme analyse mais pour la ligne 15 ?