Bonjour gmd ;
je reviens vers toi stp j'ai rajouter des truc dans ma macro sauf que ca marche pas bien
regarde la macro stp je crois c'est un probléme de nombre de colonnes
MERCI
Option Explicit
Dim derln&, ln&, col&, i&, j&, k&, f, cell As Range
Dim tablo, tabloR()
Sub MiseAjour()
derln = Range("A" & Rows.Count).End(xlUp).Row
Range("X6:AD" & derln).ClearContents
Application.ScreenUpdating = False
For ln = 6 To derln
If Range("A" & ln) <> 0 Then
For col = 5 To 10
If Cells(ln, col) = True Then
i = col - 4
f = Choose(i, "PP v1000", "PP", "GP", "Mixte", "PE", "Pliage main")
Set cell = Sheets(f).Range("A:A").Find(Range("A" & ln), lookat:=xlWhole)
If Not cell Is Nothing Then
Range("Y" & ln) = Sheets(f).Range("AY" & cell.Row)
Range("Z" & ln) = Sheets(f).Range("AZ" & cell.Row)
Range("AB" & ln) = Sheets(f).Range("BU" & cell.Row)
Range("AC" & ln) = Sheets(f).Range("BV" & cell.Row)
Range("AF" & ln) = Sheets(f).Range("BA" & cell.Row)
Range("AG" & ln) = Sheets(f).Range("AR" & cell.Row)
Range("AH" & ln) = Sheets(f).Range("V" & cell.Row)
Range("AI" & ln) = Sheets(f).Range("T" & cell.Row)
Set cell = Sheets("Lavage").Range("C:C").Find(Range("Y" & ln), lookat:=xlWhole)
If Not cell Is Nothing Then
Range("AA" & ln) = Sheets("Lavage").Range("R" & cell.Row)
Else
MsgBox "Le code ''" & Range("Y" & ln) & "'' n'existe pas dans la feuille ''Séchage''.", 16
Exit Sub
End If
Set cell = Sheets("Séchage").Range("B:B").Find(Range("AB" & ln), lookat:=xlWhole)
If Not cell Is Nothing Then
Range("AD" & ln) = Sheets("Séchage").Range("M" & cell.Row)
Else
MsgBox "Le code ''" & Range("Y" & ln) & "'' n'existe pas dans la feuille ''Séchage''.", 16
Exit Sub
End If
Else
MsgBox "Il n'y a pas cette famille sur la feuille " & f, 16
Range("A" & ln).Select
Exit Sub
End If
End If
Next col
End If
Next ln
tablo = Range("Y6:AI" & derln)
k = 0
For i = 1 To UBound(tablo, 1)
If tablo(i, 1) <> "" Then
ReDim Preserve tabloR(7, k + 1)
tabloR(0, k) = Range("A" & i + 5)
For j = 1 To 6
tabloR(j, k) = tablo(i, j)
Next j
k = k + 1
End If
Next i
Range("X6:AD" & derln).ClearContents
Range("X6").Resize(UBound(tabloR, 2), 7) = Application.Transpose(tabloR)
Call essais
End Sub