fungio
XLDnaute Nouveau
Bonjour a tous
J'ai un probleme avec une maccro que j'ai réalisé. J'ai un grand tableau contenant des données
Colonne 1 : Un Numéro d'Identification
Colonne 2 : Une date
Les autres colonnes on s'en fiche
Le Numéro d'Identification peut donc revenir a plusieurs reprises avec des dates différentes
Ma maccro parcours ce tableau et recrée un autre tableau dans une autre feuille qui ne prend que la date la plus récente pour chaque Numéro d'Identification.
Mon probleme : Ma maccro me recréer le même tableau avec les doublons...
Il semblerait qu'on ne rentre jamais dans le premier If...
quelqu'un comprend il pourquoi ?
J'ai un probleme avec une maccro que j'ai réalisé. J'ai un grand tableau contenant des données
Colonne 1 : Un Numéro d'Identification
Colonne 2 : Une date
Les autres colonnes on s'en fiche
Le Numéro d'Identification peut donc revenir a plusieurs reprises avec des dates différentes
Ma maccro parcours ce tableau et recrée un autre tableau dans une autre feuille qui ne prend que la date la plus récente pour chaque Numéro d'Identification.
Mon probleme : Ma maccro me recréer le même tableau avec les doublons...
Code:
Sub Derniere_Date()
Dim cpt As Integer
Dim temp1, temp2 As Variant
For i = 8 To 9999
If Worksheets("Feuille1").Cells(i, 1).Value = "" Then
cpt = i
Exit For
End If
Next i
For i = 8 To cpt 'on parcours le grand tableau
For j = 8 To cpt 'on parcours notre nouveau tableau
temp1 = Worksheets("Feuille1").Cells(i, 1).Value
temp2 = Worksheets("Feuille2").Cells(j, 1).Value
If temp1 = temp2 Then 'si on retrouve le meme numéro didentification
'si la date est plus récente
If Worksheets("Feuille2").Cells(j, 2).Value < Worksheets("Feuille1").Cells(i, 2).Value Then
For k = 2 To 10
Worksheets("Feuille2").Cells(j, k).Value = Worksheets("Feuille1").Cells(i, k).Value
Next k
Exit For
End If
ElseIf Worksheets("Feuille2").Cells(j, 1).Value = "" Then 'si la case dans le nouveau tableau est vide alors la valeur nest pas encore présente dans le tableau. On ajoute la valeur et on sors du for
For k = 1 To 10
Worksheets("Feuille2").Cells(j, k).Value = Worksheets("Feuille1").Cells(i, k).Value
Next k
Exit For
End If
Next j
Next i
End Sub
Il semblerait qu'on ne rentre jamais dans le premier If...
quelqu'un comprend il pourquoi ?
Pièces jointes
Dernière édition: