Re-bonjour,
Je n'ai pas regardé le reste: je pensais que tu avais déjà testé en long et en large!
Tu observeras que dans ton code, après la ligne If DernLigne = 1 Then il y a aussi un espacement entre Range et la parenthèse qui suit (c'est souvent mauvais signe ) Dans J2, tu as déjà inscris ta formule ... donc si DerLigne vaut 1, il ne faut rien faire (pas même inscrire la formule en J2, me semble-il!?)
À vérifier donc, mais je dirais que ton code peut devenir:
Sub DiapMacro()
'
Dim NbLigne As Integer
Dim DernLigne As Integer
'Selection de la feuille Sortie
With Worksheets("Sortie")
DernLigne = .Range("H" & .Rows.Count).End(xlUp).Row
If DernLigne > 1 Then
'Formule Date
.Range("J2").FormulaR1C1 = "=TEXT(RC[-2],""mmm aaaa"")"
'Etendre la formule jusqu'à la dernière ligne
.Range("J2").AutoFill Range("J2:J" & DernLigne)
.Range("J1").FormulaR1C1 = "DateTCD"
End If
End With
End Sub