Comparaison de 2 tables
thibeau67
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
Theo.R Messages postés 575 Date d'inscription Statut Membre Dernière intervention -
Theo.R Messages postés 575 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Comparaison de 2 tables
- Supercopier 2 - Télécharger - Gestion de fichiers
- Tables des matières word - Guide
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- Tables ascii - Guide
4 réponses
Rectification : dans le resultat le 10 / B ne doit pas être là
Theo.R
Messages postés
575
Date d'inscription
Statut
Membre
Dernière intervention
31
Le 7 / B devrait y être quant à lui ;)
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
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
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
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
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
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
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
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
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
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
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 :-)
Si tu as d'autres interrogations pour revoir ton document, n'hésite pas à demander, sinon bonne continuation :-)