Bonjour, j'ai un problème bien tordu à régler et je vais essayer d'être clair.

J'ai deux tableaux excel et il me faudrait un code qui me permette d'écrire le champ id_date lavage du deuxième tableau dans le champ CONT_DATE_LAVAGE du premier.
SAUF QUE :
--> les codes containers doivent correspondre
--> la date à recopier doit être celle qui est la plus proche du champ CONT_DATE_RETOUR et postérieure à celle-ci.

Un même container à effectivement étai lavé plusieurs fois et il y à dont plusieurs lignes pour chaque containers sur les deux tableaux.
(je ne sait pas si tout ceci vous parait clair)

Nom : Sans titre.png
Affichages : 1357
Taille : 69,6 Ko

Pour l'instant j'avais essayé de trier les données sur la feuil8 par id_conteneur et d'injecter ce petit code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dim i As Long, i_max As Long, j As Long, j_max As Long, k As Long, Datel As Date
 
i_max = Feuil6.Cells(2, 1).CurrentRegion.Rows.Count
j_max = Feuil8.Cells(2, 1).CurrentRegion.Rows.Count
 
For i = 3 To i_max
    For j = 2 To j_max
        If Feuil6.Cells(i, 4) = Feuil8.Cells(j, 5) And Feuil6.Cells(i, 10) <= Feuil8.Cells(j, 2) Then
            Datel = Feuil8.Cells(j, 2)
            k = j + 1
            If Feuil6.Cells(i, 4) <> Feuil8.Cells(k, 5) Then
                Feuil6.Cells(i, 16) = Datel
            Else
 
                While Feuil6.Cells(i, 4) = Feuil8.Cells(k, 5)
                    If Feuil6.Cells(i, 10) <= Feuil8.Cells(k, 2) And Datel < Feuil8.Cells(k, 2) Then
                        Datel = Feuil8.Cells(k, 2)
                    End If
                Wend
                Feuil6.Cells(i, 16) = Datel
                j = k
            End If
        End If
    Next j
Next i
Qui plante excel (pas de message d'erreur, juste un petit "ne répond plus").
Je précise que je ne suis pas DU TOUT expert en VBA et que je me doute bien que ce code est écrit (voir même pensé) n'importe comment.
Voila cela fait plusieurs jours que je planche là-dessus et je suis coincé.

Ouvert à toutes suggestions.