Comparaison de 2 tables

Bonjour,

Voilà un petit fichier excell expliquant ce que j'ai comme données et le résultat au quel je veux arriver.

Je serais super reconnaissant si quelqu'un pouvait m'aider car je ne trouve aucune astuce pour y arriver.

Merci d'avance

https://www.cjoint.com/c/FAhpfuUy83H

4 réponses

  1. Enfaite j'ai deux tables avec des articles

    La première c'est la situation de départ et la seconde la situation mise à jour.

    les articles A sont à faire et les articles B sont fait.

    Je voudrais donc superposer les deux et avoir dans la troisième table seulement les articles qu'il reste à faire et que ca me suprime les articles fait qui apparaissent dans les deux tables
    0
    1. Bonjour Thibeau,

      Par rapport à ma proposition, il te suffit d'inverser les résultats :

      Cellule G3 : =SI(EXACT(CONCATENER(A3;B3);CONCATENER(D3;E3));"";A3)
      Cellule H3 : =SI(EXACT(CONCATENER(A3;B3);CONCATENER(D3;E3));"";B3)

      NB : je m'étais trompée dans la formule pour la cellule H3, mais celle-ci est correcte.

      Ensuite, tu peux utiliser différents filtres pour extraire seulement les cellules renseignées.

      Bonne journée,
      Cdt
      0
    2. Etant donnée l'utilisation que tu fais de ces tableaux, en fait je te conseillerais de ne faire qu'un seul tableau avec 1 seule ligne par produit. En colonne tu peux mettre dans l'ordre les situations successives avec un champ pour la date de mise à jour pour t'y retrouver. Cela simplifierait le suivi des articles dans le temps.

      Si tu as d'autres interrogations pour revoir ton document, n'hésite pas à demander, sinon bonne continuation :-)
      0
  2. Bonjour,

    Sinon, à l'ancienne, tu peux mettre les formules suivantes :

    Cellule G3 : =SI(EXACT(CONCATENER(A3;B3);CONCATENER(D3;E3));A3;"")
    Cellule H3 : =SI(EXACT(CONCATENER(B3;C3);CONCATENER(E3;F3));B3;"")

    Recopie incrémentée des 2 vers le bas.

    => ça reporte le résultat quand il est identique et une case blanche s'il ne l'est pas.

    Cdt
    0
    1. Bonjour,

      Je peux t'écrire un code VBA relativement simple qu'il suffira de copier-coller mais avant de m'y mettre j'aimerais avoir confirmation que cette solution par VBA te conviendrait :-)

      Cdt
      0
      1. Oui je suis preneur :)
        0
      2. Voilà un code qui fonctionne pour le document que tu as posté : (supprime avant de lancer la macro les résultats que tu avais saisis toi-même ;) )

        Sub test1()

        Dim DernLigne As Long
        DernLigne = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row

        m = 3
        Sheets(1).select

        For i = 3 To DernLigne

        If Range("A" & i).Value = Range("D" & i).Value And Range("B" & i).Value = Range("E" & i) Then

        Range("G" & m).Select
        ActiveCell.FormulaR1C1 = Range("A" & i).Value
        Range("H" & m).Select
        ActiveCell.FormulaR1C1 = Range("B" & i).Value

        m = m + 1
        Else
        End If
        Next i

        End Sub
        0
    2. Rectification : dans le resultat le 10 / B ne doit pas être là
      0
      1. Le 7 / B devrait y être quant à lui ;)
        0