Sub Absent()
Application.ScreenUpdating = False
TabloE = Range("E2:E" & Range("E65500").End(xlUp).Row)
TabloF = Range("F2:F" & Range("E65500").End(xlUp).Row)
Columns(7).ClearContents ' Efface colonne G
[G1] = "Absents"
LigneG = 2
For E = 1 To UBound(TabloE)
Trouvé = 0 ' 1 si trouvé, 0 si absent
For F = 1 To UBound(TabloF)
If TabloE(E, 1) = TabloF(F, 1) Then
Trouvé = 1
End If
Next F
If Trouvé = 0 Then
Cells(LigneG, "G") = TabloE(E, 1)
Trouvé = 1
LigneG = LigneG + 1
End If
Next E
End Sub
Sub Absent()
Application.ScreenUpdating = False
TabloE = Range("E2:E" & Range("E65500").End(xlUp).Row)
TabloF = Range("F2:F" & Range("E65500").End(xlUp).Row)
Columns(7).ClearContents ' Efface colonne G
[G1] = "Absents"
LigneG = 2
For E = 1 To UBound(TabloE)
Trouvé = 0 ' 1 si trouvé, 0 si absent
For F = 1 To UBound(TabloF)
If TabloE(E, 1) = TabloF(F, 1) Then
Trouvé = 1
End If
Next F
If Trouvé = 0 Then
Cells(LigneG, "G") = TabloE(E, 1)
Trouvé = 1
LigneG = LigneG + 1
End If
Next E
End Sub
la mettre en ligne 2 et tirer vers le bas.=SIERREUR(INDEX($E$2:$E$241;AGREGAT(15;6;LIGNE($E$2:$E$241)-1/ESTNA(EQUIV($E$2:$E$241;$F$2:$F$19;0))/($E$2:$E$241<>"");LIGNE(1:1)));"")
Merci sylvanu , Merci HascoBonjour,
Une proposition par power query sur deux plages nommées (Liste1 = E2:E241 et Liste2 = F2:F19)
[Edition de 16h11] proposition également par formule :
la mettre en ligne 2 et tirer vers le bas.
Inutile de la valider en matricielle grâce à Agregat.
[/Edition]
cordialement
Si possible de m'expliquer que signifier les valeur 15 et 6 dans la formuleMerci sylvanu , Merci Hasco
AGREGAT (AGREGAT, fonction) - Support Microsoft
La fonction AGREGAT peut appliquer diverses fonctions d’agrégation à une liste ou à une base de données en proposant l’option d’ignorer les lignes masquées et les valeurs d’erreur.support.microsoft.com