Décidément je suis pas très malin aujourd'hui x)
De un : Je t'avais répondu avec le code où il y avait l'erreur de référence
De deux : Même avec la méthode que je t'ai passé, sa marchera pas :p
Pour que sa fonctionne, faut mettre plus de condition (étant donnée que ton tableau B30-C44 est entourée de donnée fixe)
Code testé et qui fonctionne chez moi :
Sub Jus()
Dim Réf As String
Dim x As Long, y As Long, z As Long
Range("Tableau_jus").ClearContents
Réf = Sheets("TRAME").Cells(14, 2) & Sheets("TRAME").Cells(13, 2) & Sheets("TRAME").Cells(15, 2)
For x = 5 To Workbooks("Copie de Base Mère.xlsm").Worksheets("Base Qualité").Range("A" & Rows.Count).End(xlUp).Row
If Workbooks("Copie de Base Mère.xlsm").Worksheets("Base Qualité").Cells(x, 3) & Workbooks("Copie de Base Mère.xlsm").Worksheets("Base Qualité").Cells(x, 6) & Workbooks("Copie de Base Mère.xlsm").Worksheets("Base Qualité").Cells(x, 7) = Réf Then
For y = 30 To 77
If Workbooks("Copie de Base Mère.xlsm").Worksheets("Base Qualité").Cells(x, y) > 0 Then
z = Range("B30").End(xlDown).Row + 1
If Range("B30").End(xlDown).Row = 46 Then z = 30
If Range("B30").End(xlDown).Row = 46 And Cells(30, 2) <> "" Then z = 31
Sheets("TRAME").Cells(z, 2) = Workbooks("Copie de Base Mère.xlsm").Worksheets("Base Qualité").Cells(4, y)
Sheets("TRAME").Cells(z, 3) = Workbooks("Copie de Base Mère.xlsm").Worksheets("Base Qualité").Cells(x, y)
End If
Next
End If
Next
End Sub
Ensuite :
Et autre question, pourquoi as-tu mis <> 0 then ? pourquoi pas juste >0 then ?
Juste que j'ai tester tes lignes une par une et que j'ai modifié sa :p
Tu peux remettre la condition que tu veux
Restant à dispo!