Réconciliation de datas
Bonjour à tous,
Je suis actuellement en train de travailler sur des tableaux de données assez volumineux et j'ai besoin de faire un rapprochement entre deux d'entre eux. Voici à quoi ressemblent les tableaux :
| CODE1 | DATE1 | VALUE | CODEEXIST |
| DATE2 | VALUE | ||
| DATE3 | VALUE | ||
| CODE2 | DATE1 | VALUE | CODEEXIST |
| DATE2 | VALUE |
| DATE1 | CODE1 | |
| DATE1 | CODE2 | |
| DATE2 | CODE1 | |
| DATE2 | CODE2 |
En fait, par exemple, j'ai besoin de collecter dans le 1er tableau la valeur de CODE1 à DATE1 et de la coller dans le 2ème tableau sur la bonne ligne en faisant correspondre le code et la date pour chaque CODEx et DATEy. J'ai mis une marque "CODEEXIST" sur la quatrième colonne pour simplifier la création de la macro.
En fait, je pensais faire des boucles imbriquées comme ci-dessous :
Sub reco()
For i = 1 To 100
If Cells(i, 4) = "CODEEXIST" Then
For y = 1 To 100
If Sheets("Table2").Cells(y, 2).Value = Sheets("Table1").Cells(i, 1).Value Then
For Z = i To Range("D:D").Find(What:="CODEEXIST", After:=Cells(i, 4))
If Sheets("Table2").Cells(y, 1).Value = Sheets("Table1").Cells(Z, 2).Value Then
Sheets("Table2").Cells(y, 3).Value = Sheets("Table1").Cells(Z, 3).Value
End If
Next Z
End If
Next y
End If
Next i
End SubMais le code ne fonctionne pas à cause de la fonction Find. Je me demandais également s'il existait un moyen plus simple d'y parvenir.
Merci pour votre aide.
Bonjour,
Tes explications ne sont guère convaincantes...
Hormis quelques rares cas, Find n'est pas approprié.
Fournir un classeur représentatif (c ad avec les feuilles TableA1 et Table2) éventuellement réduites.
et un exemple de résultat au moins partiel parce que dans ton exemple on se demande pourquoi DATE2 t'intéresse et pas DATE3
de plus je ne vois pas en quoi CODEEXISTpeut faciliter quoi que ce soit.
A+