Sub Test()
Dim Fe As Worksheet
Dim Plage As Range
Dim Cel As Range
Dim Col As Long
'défini la plage en colonne B de la feuille "Feuil1" à partir de B4
With Worksheets("Feuil1"): Set Plage = .Range(.Cells(4, 2), .Cells(.Rows.Count, 2).End(xlUp)): End With
'gèle
Application.ScreenUpdating = False
'parcours la plage...
For Each Cel In Plage
'les feuilles sont ajoutées au fur et à mesure des différents dossiers et elles portent le nom "Dossier " et le nom du dossier en colonne B
'une erreur est générée si la feuille n'existe pas donc, création de la feuille et nommage avec paramétrage des cellules A5 et A6
On Error Resume Next
Set Fe = Worksheets("Dossier " & Cel.Value)
If Err.Number <> 0 Then
Set Fe = Worksheets.Add(, Sheets(Sheets.Count))
Fe.Name = "Dossier " & Cel.Value
Fe.Range("A5").Value = "Dossier"
Fe.Range("A6").Value = "Ref"
On Error GoTo 0
End If
'inscription des valeurs les unes à la suite des autres
With Fe: Col = .Cells(5, .Columns.Count).End(xlToLeft).Column + 1: End With 'sur ligne 5
Fe.Cells(5, Col).Value = Cel.Value
Fe.Cells(6, Col).Value = Cel.Offset(, 1).Value
Next Cel
'rafraîchi
Application.ScreenUpdating = True
End Sub