Bonjour chris
Merci tout d'abord pour votre message.
Ensuite, sht.Range("B7").Value s'agit bien d'un texte.
J'ai fait comme vous m'avez dit, en optant pour la colonne pour parcourir l'autre tableau.
En effet, ça a marché mais la boucle a tourné et n'a pas donné un résultat !
voilà je mets toute la boucle comme ça vous pouvez voir.
nn1 = sht.Range("prlng").Row
nn2 = sht.Range("derlgn").Row
m = nn2 - nn1 - 1
If nn2 >= nn1 + 2 Then
For i = nn1 + 1 To nn2 - 1
For j = 3 To 100
If sht.Range("AZ7") = hzo.Range("A7") Then
For l = 3 To 30
For w = 3 To 100
If (sht.Cells(nn1 - 1, w).Value = hzo.Cells(7, l).Value) Then
For z = 3 To 30
sht.Cells(i, j) = Application.WorksheetFunction.SumIfs(Worksheets("HZO215").Columns(z), Worksheets("HZO215").Columns(54), sht.Range("code_da").Value)
Next z
End If
Next w
Next l
End If
Next j
Next i
End If
Merci d'avance pour vos réponses.