Comparaison de 2 tables
Fermé
thibeau67
Messages postés
30
Date d'inscription
lundi 20 avril 2015
Statut
Membre
Dernière intervention
2 mai 2016
-
7 janv. 2016 à 16:06
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 8 janv. 2016 à 11:47
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 8 janv. 2016 à 11:47
A voir également:
- Comparaison de 2 tables
- Word numéro de page 1/2 - Guide
- Tables des matières word - Guide
- 2 ecran pc - Guide
- 3 bip long 2 bip court hp - Forum BIOS
- Tables ascii - Guide
4 réponses
thibeau67
Messages postés
30
Date d'inscription
lundi 20 avril 2015
Statut
Membre
Dernière intervention
2 mai 2016
7 janv. 2016 à 16:08
7 janv. 2016 à 16:08
Rectification : dans le resultat le 10 / B ne doit pas être là
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
7 janv. 2016 à 16:11
7 janv. 2016 à 16:11
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
thibeau67
Messages postés
30
Date d'inscription
lundi 20 avril 2015
Statut
Membre
Dernière intervention
2 mai 2016
7 janv. 2016 à 16:19
7 janv. 2016 à 16:19
Oui je suis preneur :)
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
7 janv. 2016 à 16:25
7 janv. 2016 à 16:25
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
Glen27
Messages postés
19
Date d'inscription
mardi 11 mars 2014
Statut
Membre
Dernière intervention
22 janvier 2016
1
7 janv. 2016 à 16:47
7 janv. 2016 à 16:47
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
thibeau67
Messages postés
30
Date d'inscription
lundi 20 avril 2015
Statut
Membre
Dernière intervention
2 mai 2016
8 janv. 2016 à 08:11
8 janv. 2016 à 08:11
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
Glen27
Messages postés
19
Date d'inscription
mardi 11 mars 2014
Statut
Membre
Dernière intervention
22 janvier 2016
1
8 janv. 2016 à 09:42
8 janv. 2016 à 09:42
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
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
8 janv. 2016 à 11:47
8 janv. 2016 à 11:47
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 :-)
7 janv. 2016 à 16:26