Bonsoir
Désolé tu as raison mais je n'ai pas tort
Si tu modifies une valeur en colonne C et que tu relances la macro la modification dans les pages se passe bien (j'ai raison)
Si tu enlèves un nom dans la colonne C : la macro plante (tu as raison car la macro ne fait pas son boulot)
Voici la macro corrigé qui tient compte des "trous" dans la colonne C
En surligné la partie rajoutée
Option Explicit
Sub recopie()
Dim Mondico As Object
Dim J As Long, Nblg As Long
Dim Tablo
Dim Ws As Worksheet
Dim I As Integer
Application.ScreenUpdating = False
Set Ws = ActiveSheet
Nblg = Range("C" & Rows.Count).End(xlUp).Row
Set Mondico = CreateObject("Scripting.dictionary")
For J = 4 To Nblg
If Range("C" & J) <> "" Then
Mondico(Range("C" & J).Value) = ""
End If
Next J
Tablo = Mondico.Keys
Ws.Range("Q1") = Ws.Range("C3")
For I = 0 To UBound(Tablo)
Ws.Range("Q2") = Tablo(I)
If FeuilleExiste(CStr(Tablo(I))) = False Then
Sheets("Global").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Tablo(I)
End If
With Sheets(Tablo(I))
.Rows("3:" & Rows.Count).ClearContents
Ws.Range("A3:O" & Nblg).AdvancedFilter Action:=xlFilterCopy, criteriarange:=Ws.Range("Q1:Q2"), copytorange:=.Range("A3:O3")
End With
Next I
Ws.Range("Q1:Q2").ClearContents
Ws.Select
End Sub
Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
On Error GoTo 0
End Function