Bonsoir,
Je pense qu'on pourrait améliorer le temps de traitement, juste en décalant certaines lignes de code :
En début de code, tu modifies ainsi :
....
....
Set Plg = .Range("A1:J" & Derlig) 'ATTENION à bien définir la plage(dans ton fichier réel, remplace J par CK)
For Each Cel In .Range("I2:I" & Derlig) 'Ici, remplace I par CC
If Not IsEmpty(Cel) Then
Prob(Cel.Value) = Cel.Value
End If
Next Cel
....
....
Et un peu plus bas, tu modifies ainsi :
....
....
For Each Itm In Prob.Items
If IsError(Application.Match(Itm, Ordi, 0)) And IsError(Application.Match(Itm, Anim, 0)) Then
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = Itm
.Range("CK2").FormulaR1C1 = "=RC9=""" & Itm & """" 'ici tu remplaces RC9 par RC81 (81 ème colonne, soit CC)
Plg.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range( _
"CK1:CK2"), CopyToRange:=ActiveSheet.Range("A1"), Unique:=False
End If
Next Itm
....
....
Maintenant, je ne comprends pas du tout ce que tu veux, pour le "ZOOM"?????
Pourquoi copier 2 fois le même onglet?
Dans l'onglet "sommaire", tu peux créer une liste de tous les onglets, avec des liens hypertexte vers chacun des onglets...
Regarde un peu dans le forum, tu devrais trouver tout ce qu'il faut.
Et reviens si c'est pas le cas, ou si je n'ai pas compris du tout....
Bonne soirée