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. 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.
    0
    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 ?
      0
  2. 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 !
    0
    1. 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.
      0
      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
        0
        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
          0
      2. 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
        0