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: