Private dico As Object ' >>>> à mettre tout en haut (partie déclarations) Sub Macro1() Dim i As Integer tablo Sheets(5).Range("C1:C" & Sheets(5).UsedRange.Rows.Count).Value '>> toi, remplace cette plage par la tienne (celle de Feuil 5à Set dico = CreateObject("Scripting.Dictionary") Application.ScreenUpdating = False For i = 1 To UBound(tablo, 1) If Not dico.exists(tablo(i, 1)) Then dico.Add tablo(i, 1), i Next For i 1 To 4 '>> nous n'allons traiter qyue les feuilles 1 à 4 fouillons i, "C", 5 Next Application.ScreenUpdating = True Set dico = Nothing End Sub Private Sub fouillons(NF As Integer, C As String, ifeuil As Integer) Dim i As Integer letabl = Sheets(NF).Range(C & "1:" & C & Sheets(NF).UsedRange.Rows.Count).Value For i = 1 To UBound(letabl, 1) If dico.exists(letabl(i, 1)) Then Sheets(NF).Range("H" & i).Value = Sheets(ifeuil).Range("F" & dico(letabl(i, 1))).Value End If Next End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question