Re : Macro synthese
Bonjour Staple1600, bonjour le forum,
Staple1600, merci beaucoup pour cette excellente macro qui fonctionne à merveille sur mon fichier test mais qui m'indique une erreur d’exécution 6: dépassement de capacité et quand je debugue la ligne en gras est mise en avant:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet, dl&, vArr, i As Byte
Application.ScreenUpdating = False
Application.EnableEvents = False
If Target.Address = "$I$2" Then
Range("B5:W500").ClearContents
For Each ws In Worksheets
If Len(ws.Name) = 2 Then
dl = ws.Cells(Rows.Count, "I").End(3).Row
vArr = ws.Range("I11:I" & dl).Value
For i = LBound(vArr) To UBound(vArr)
With Sheets("Synthese")
If vArr(i, 1) = .[I2] Then
.Cells(.Cells(Rows.Count, "I").End(3)(2).Row, "B").Resize(, 22).Value = _
ws.Cells(10 + i, "B").Resize(, 22).Value
End If
End With
Next
Erase vArr
End If
Next
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
L'emplacement du critère a effectivement été changé en route car cela me facilitait les choses.
De plus, pour agrémenter la chose, j'ai omis de dire que dans chaque onglet concerné, les tableaux de données sont espacés (empilés avec d'autres données entre) et certaines colonnes contiennent des formules protégées
.
Je pense que ceci peut expliquer cela.
Une petite solution ?
Cordialement